Developpement Communautaire

Eddy Fayet

Ce soir j’ai fais un rêve, et je vais vous le raconter …

Nous avons de très bonnes connexions à Internet, nous avons de puissants langages de programmation, nous avons de très bons développeurs, de très bons serveurs,etc.

Toutes les technologies et les compétences sont au rendez-vous pour créer ce qui sera notre futur. Toutes les personnes développant leurs programmes de leur côté ont toutes de bonnes idées pour améliorer ne serai-ce qu’une partie de notre monde. Notre monde s’informatise, nous vivons dans la société de communication. Nous sommes de plus en plus dépendants des nouvelles technologies et de ses problèmes.

Aujourd’hui, l’informatique appartient aux grandes sociétés. Ne parlons pas de Microsoft qui a un monopole incontestable sur les systèmes d’exploitations de nos machines …

Mais toute cette créativité et ces moyens mis en œuvres par nos développeurs sont-ils vraiment exploités ?

Les développements Open Source prennent de plus en plus d’importance et certains d’entre eux sont de véritables chefs d’œuvres. Un jour, quelqu’un a eu l’idée de créer une encyclopédie ou tout le monde pourrait écrire, et là est né Wikipédia, plus grande encyclopédie du monde. Un autre jour, quelqu’un a eu l’idée de créer un système d’exploitation que tout le monde pourrait modifier, et là est né Linux, l’OS le plus utilisé sur les serveurs Internet.

Les exemples ne manquent pas, et redonnent de l’espoir à celui qui ne croit plus en l’entraide et la cohésion entre les peuples.

L’informatique est de nos jours un domaine sans notions de distance, de temps, de coût, de langue, de nationalité, de religion, etc. La seule contrainte à mes yeux est celle du manque de créativité, et de son exploitation très faible.

Mais ce soir j’ai rêvé à un nouveau modèle d’Open Source. L’Open Source réellement Open Source ! L’Open Source Communautaire. Combien de développeurs réinventent la roue à chaque script ? Combien négligent la sécurité lors du développement ? Combien utilisent encore la programmation procédurale ? Combien ne vérifient jamais les mises à jours des fonctions qu’ils utilisent ? Bientôt aucun, si mon rêve se réalise ! Et ce jour là, le jour ou tout le monde participera au développement de l’Open Source Communautaire.

Le but est assez simple. Prenez un Wiki unique pour présenter les classes open-source et les modifier très facilement, Prenez un système de mise à jour automatique des programmes open-source qui permet au développeur de toujours disposer des dernières versions stables de toutes les classes qu’il emploi dans ses programmes sans lever le moindre petit doigt (lors d’une nouvelle phase appelée ‘précompilation’ avant la mise en production des scripts), Faites de même pour les programmes compilés (pendant la phase de compilation), Ajoutez y quelques règles utilisées actuellement dans le monde open-source pour régir tout ce système (versions stables et en développement, interfaces à respecter pour la programmation objet, montée en grade progressive pour modifier les classes importantes du Wiki, etc.),

Et vous obtiendrez l’open-source communautaire !

Tous les programmes pourront alors profiter de l’open-source et de toute la communautée de développeurs du monde pour être créés et mis à jour.

Imaginez maintenant une application nécessitant une très grande sécurité. Cette application serait développée à partir des nombreuses classes disponibles sur ce réseau communautaire grâce à une instanciation de ce type
  • $instance = new Classe Securise? From Web? ;

Grâce à cette instanciation, le compilateur, ou le moteur chargé d’interpréter les scripts saura que cette classe est mise à jour régulièrement par toute la communautée et récupérera automatiquement la dernière version stable pour profiter des améliorations … Dès qu’un développeur de la communauté aura découvert une faille de sécurité dans l’une des classes, il la corrigera et la répercution sera immédiate sur l’ensemble des applications dépendantes de cette classe !

Vous êtes tentés ?

Dans ce langage perfectible mais bien utile qu'est PHP, on peut écrire des choses comme :

include("http://le.site.qui.contient.le.code/le.fichier.qui.contient.la.classe.php");

Mais on peut faire ça aussi dans d'autres langages ... reste le problème de la vérification de ce fichier chargé à distance et donc succeptible d'être corrompu par un Méchant Très Méchant ... Mais là, les systèmes de signature du fichier grace à Gnu Privacy Guard? ou tout autre système compatible Open Pgp? ... on au moins la vérification d'intégrité du fichier via un hashage MD5 ... Et pour ce qui est de la mise à jour collective, des systèmes éprouvés comme CVS ou plus récent comme Subversion sont là pour ça ! Bref, c'est comme ça que c'est construit le Net et le Libre ...
Donc non content d'être tenté ... on l'a fait ;) --Arnaud Fontaine

D'accord avec toi, la majorité des éléments nécessaires à cette architecture existent déjà. CVS est un outil merveilleux et très utilisé. Mon idée était de simplifier son utilisation et de permettre à n'importe quel developpeur de l'utiliser. De plus la mise à jour en direct des classes, je n'ai encore jamais vu ça. Je n'ai pas dis que le développement de cette archi serait compliquée, en effet nous pouvons include une classe distante dans PHP, mais je ne pense pas que ça soit souvent fait.

Merci pour ta participation --Eddy Fayet

Dernière modification le mardi 10 août 2004 9:12:47

Éditer HistoriqueDeLaPage Diff  InfosSurLaPage