IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Entretien avec Florent Ouchet,
Coordinateur de l'équipe JCL du projet JEDI

Les interviews et reportages Delphi

Date de publication : 18 janvier 2007

Par l'Equipe DELPHI
 

Entretien avec Florent Ouchet le 2 décembre 2006.

La « Jedi Code Library » est un recueil de fonctions et de classes pouvant être réutilisées dans beaucoup d'applications.
La JCL est une bibliothèque du Projet JEDI. Redistribuée sous la « Mozilla Public Licence » (MPL), son code peut être utilisé aussi bien dans les applications commerciales (avec ou sans disponibilité des sources) que dans d'autres projets «open source».

Il répond aux questions à propos du mode de fonctionnement de l'équipe en charge de la librairie JCL, questions proposées par les membres de l'équipe Delphi de developpez.com.




Entretien avec Florent Ouchet

  • Equipe Delphi de developpez.com:
    Quelles sont vos responsabilités au sein du projet JCL ?

    Florent Ouchet:
    Une traduction du rôle serait "Coordinateur de l'équipe JCL", il s'agit de donner au projet les directions principales de son développement. Je m'occupe aussi des tâches administratives du projet : création et publication des fichiers, annonces sur les forums. J'exerce cette fonction depuis le début de l'année 2006 en prenant la succession de Robert Rossmair. En dehors des tâches administratives, je participe activement au développement de la librairie.



  • Equipe Delphi de developpez.com:
    Combien de personnes travaillent sur ce projet ?

    Florent Ouchet:
    Ce nombre est assez difficile à définir. Dans un projet «open source», tout développeur peut travailler sur le projet en partant du code existant. De nombreuses modifications sont ensuite données par leurs auteurs afin d'être intégrées dans le code du projet.
    L'équipe des membres de la JCL comporte actuellement 15 développeurs de nationalités différentes qui peuvent valider les changements dans le code. Elle peut être consultée ici. Cette équipe n'est pas figée et l'ajout de nouveaux membres arrive fréquemment.



  • Equipe Delphi de developpez.com:
    Quelles sont les difficultés que vous rencontrez dans la gestion de ce projet ?

    Florent Ouchet:
    La principale limitation est le temps que je peux consacrer à ce projet, il faut le partager entre l'aide aux utilisateurs, la maintenance du code, le suivi des bogues et l'implémentation de nouvelles fonctionnalités. Le projet compte actuellement environ 8Mo de code (peut-être 100 000 lignes de code), le faible nombre de membres limite le développement actuel. Un autre problème est la barrière de la langue : la quasi-totalité des communications sont en anglais, le principal est d'arriver à se faire comprendre.



  • Equipe Delphi de developpez.com:
    Comment devient-on contributeur de la JCL ?

    Florent Ouchet:
    Il faut bien sûr être un utilisateur de la JCL et se montrer volontaire. On peut séparer les contributeurs ponctuels qui nous soumettent des modifications ou des ajouts de code et les utilisateurs qui viennent avec des idées constructives et un projet. Dans le premier cas, un membre se charge de l'intégration du code en respectant les droits du contributeur comme décrits dans la MPL : son nom est ajouté à la liste des contributeurs du fichier, le contributeur reste l'auteur de ses modifications. Le deuxième cas est arrivé très récemment quand des utilisateurs nous ont fait part de propositions constructives et de projets concernant les PCRE (Expression Régulière Compatible « Perl »), je leur ai proposé de devenir membres.



  • Equipe Delphi de developpez.com:
    Quelle est la motivation principale des contributeurs ?

    Florent Ouchet:
    La motivation est principalement le développement et le suivi de la bibliothèque. Tous sont des passionnés de programmation et de Delphi, chacun trouve un intérêt à contribuer au développement. Certains développeurs sont des professionnels qui consacrent une partie de leur temps de travail à améliorer le code de la bibliothèque qu'ils utilisent dans leurs projets.



  • Equipe Delphi de developpez.com:
    Avez-vous une démarche particulière concernant l'intégration dans l'équipe ?

    Florent Ouchet:
    Les membres du projet doivent être actifs et présents régulièrement sur le forum de discussion (news://forums.talkto.net/jedi.jcl).



  • Equipe Delphi de developpez.com:
    Existe-t-il par exemple un pré-requis minimum (technique ou autre) pour vous rejoindre ?

    Florent Ouchet:
    Il n'y a pas de règle stricte, les développeurs sont jugés sur leur motivation et la qualité de leur code.



  • Equipe Delphi de developpez.com:
    Existe-t-il un turn-over important dans l'équipe ? Si oui, pose-t-il des problèmes particuliers ?

    Florent Ouchet:
    Certains membres sont présents depuis la création, leur expérience est très instructive. Je n'ai pas eu jusqu'à présent de problème qui n'aurait pu être résolu que par un ancien développeur.



  • Equipe Delphi de developpez.com:
    Comment se prennent les décisions importantes ?

    Florent Ouchet:
    Les décisions importantes sont prises en concertation, une question est posée sur le forum de discussion et tous les développeurs sont invités à donner et à discuter leur avis, un compromis arrive toujours à être accepté.



  • Equipe Delphi de developpez.com:
    Comment procédez-vous pour le choix des composants à intégrer ?

    Florent Ouchet:
    Ils sont choisis selon leur utilité pour les utilisateurs de la bibliothèque et leur compatibilité avec les outils de développement et les environnements d'exécution. Un composant spécifique à une seule version de Delphi ou une seule version de Windows ne sera pas intégré. Avant leur intégration dans la bibliothèque, leur code est relu et corrigé afin de satisfaire les règles d'écriture de code et de les intégrer de manière optimale (élimination des redondances avec du code existant, regroupement des constantes...)



  • Equipe Delphi de developpez.com:
    Quels sont vos liens avec Borland ?

    Florent Ouchet:
    Nous sommes des utilisateurs de produits Borland. Suite à la création de CodeGear, nous supporterons les nouveaux EDI créés par cette nouvelle entité. Depuis Delphi 2005, du code de la JCL est utilisé dans l'EDI de Delphi/BDS pour récupérer les piles d'appel et les informations de débogages quand une exception provoque un « crash » récupérable.



  • Equipe Delphi de developpez.com:
    Si l'organisation d'un projet open source se différencie d'un projet entreprise, en quoi diffère-t-elle ?

    Florent Ouchet:
    Les moyens mis en œuvre ne sont pas comparables ; le coté commercial apporte des moyens organisationnels, financiers et humains sans commune mesure avec le monde open-source où la plupart des contributions sont faites sur la base du volontariat. Un projet commercial peut plus facilement s'engager sur des résultats en un temps donné, une équipe de projet open-source agit selon les besoins exprimés par les utilisateurs et les envies de chacun de ses développeurs. Un projet d'entreprise ne laisse pas autant de liberté individuelle car les développeurs doivent absolument respecter les besoins et les délais décidés avec le client. Néanmoins la frontière entre les projets libres et les projets d'entreprise tend à disparaître car certaines grandes firmes font d'un projet open-source leur projet en investissement massivement dans son développement.



  • Equipe Delphi de developpez.com:
    Comment les membres de l'équipe communiquent-ils ?

    Florent Ouchet:
    Tous les outils classiques d'Internet sont utilisés (mail, messageries instantanées, forums de discussions).



  • Equipe Delphi de developpez.com:
    Utilisez-vous un outil de travail collaboratif ?

    Florent Ouchet:
    Nous utilisons principalement Subversion pour gérer les versions des sources. Cet outil permet à un membre du projet de valider des changements pour qu'ils puissent instantanément être utilisés par tous les autres développeurs autour du monde. Cet outil propose les fonctions de comparaison entre les versions, il est aussi possible d'avoir tous les détails sur les changements effectués depuis les trois dernières années. Le suivi des bogues est facilité par Mantis qui permet d'organiser et de discuter les solutions pour les résoudre.



  • Equipe Delphi de developpez.com:
    Quels sont vos projets ?

    Florent Ouchet:
    Il pourrait être intéressant de regarder du coté de FreePascal/Lazarus pour permettre à cette communauté d'utiliser la JCL.



  • Equipe Delphi de developpez.com:
    Nous avons pu voir dans les derniers builds quotidiens que la prochaine version de la JCL envisage d'intégrer un expert pour Subversion, est-ce bien le cas ?

    Florent Ouchet:
    Cet expert (nom pour une extension de l'EDI) vise à faciliter les connexions avec un serveur de sources CVS ou Subversion. Il ajoute à l'interface des EDI de Borland un nouveau menu et des fonctions pouvant être placées dans les barres d'outils. Toutes les opérations courantes (comme la mise à jour, les validations…) peuvent être réalisées directement depuis l'EDI. Son fonctionnement requiert l'installation sur la machine de TortoiseSVN ou de TortoiseCVS car il utilise ces programmes pour exécuter les actions. Il peut déjà être testé et utilisé en utilisant les versions de développement de la JCL : les zips quotidiens qui peuvent être téléchargés à l'adresse http://jcl.sourceforge.net/daily/ ou en se connectant au serveur de source hébergé par Sourceforge.



  • Equipe Delphi de developpez.com:
    Delphi .NET ne semble pas avoir le même succès que Delphi Win32, à quoi est-ce dû selon-vous ?

    Florent Ouchet:
    Les clients de Borland/CodeGear apprécient la régularité des produits, le fait de changer de cible tous les 3 ou 4 ans fait peur ; la majorité des développeurs Delphi a décidé de ne pas suivre la mode, qui va encore changer dans quelques années, remettant en question une fois encore la compatibilité du code. Les processeurs seront toujours capables d'exécuter du code natif (le code managé est une surcouche artificielle) et Microsoft devra pour ne pas se couper de la majorité de ses utilisateurs conserver et améliorer le support natif. Le Delphi Win32 et bientôt le Delphi 64 bit ont encore un long avenir.



  • Equipe Delphi de developpez.com:
    Au vue du nombre de développeurs, quelles règles particulières avez-vous mises en place concernant la gestion des sources sous CVS ?

    Florent Ouchet:
    Depuis le mois d'avril, les sources de la JCL sont gérées par Subversion. La clarté du code est un point clé car il doit pouvoir être lu et compris par tous les développeurs désirant comprendre le fonctionnement.

    Les règles étaient déjà en place auparavant :
    • écriture de code robuste
    • succès de la compilation
    • respect de la syntaxe standard (comme dans la RTL et la VCL)
    • la langue anglaise dans les sources
    • tester le fonctionnement du code




  • Equipe Delphi de developpez.com:
    Comment se fait-il que les composants et le code source soient si peu documentés ?

    Florent Ouchet:
    C'est un problème récurrent dans beaucoup de projets «open source», les développeurs se focalisent sur l'écriture de code et oublient la documentation pour les utilisateurs. Il est très dur pour un développeur d'écrire la documentation pour son code car la vision interne qu'il a de son code est très différente des attentes d'un utilisateur recherchant des informations sur la boite noire. Le développement du projet est basé sur le volontariat, tous les développeurs peuvent écrire la documentation ou les commentaires s'ils le souhaitent.



  • Equipe Delphi de developpez.com:
    Comment se passe la maintenance dans ce cas ?

    Florent Ouchet:
    La dénomination des différentes fonctions, variables ou classes est très importante dans la compréhension d'un code existant. La maintenance du code passe une étape préliminaire de prise en main du code existant qui serait nécessaire même si le code était commenté. La manière de commenter et de lire les commentaires est très spécifique à chaque programmeur, les commentaires laissés par le développeur précédent seraient d'une faible utilité dans la compréhension du code.



  • Equipe Delphi de developpez.com:
    Connaissez-vous l'outil DelphiCodeToDoc ? Si oui qu'en pensez-vous ?

    Florent Ouchet:
    Les projets JEDI utilisent Doc-o-matic de Tools Factory. C'est un outil de création de documentation capable de lire les codes sources pour organiser automatiquement les rubriques selon la hiérarchie des classes et la structure du code. Il nous permet de générer très rapidement la documentation sous plusieurs formats (WinHelp, Html, Html Help, MS Help 2.0 ou pourquoi pas PDF).



  • Equipe Delphi de developpez.com:
    Quelles sont les dernières évolutions de Delphi qui ont été appréciées par l'équipe JEDI ?

    Florent Ouchet:
    Les «refactorings» de BDS 2006 facilitent la maintenance de code existant en simplifiant les opérations basiques (extraction de fonctions...). Les vérifications de la syntaxe du code sont bien accélérées par « Error insight » qui évite d'avoir à attendre le temps de compilation. La prochaine version de Delphi promet l'ajout de « templates » de code (un peu comme en C++), cette fonctionnalité pourrait être utilisée pour généraliser certaines portions de code.



  • Equipe Delphi de developpez.com:
    La mise à disposition de Turbo Delphi Explorer (gratuit), intégrant un outil de modélisation UML (Together), influencera-t-il le projet JEDI ?

    Florent Ouchet:
    Les nouvelles versions gratuites pourraient créer de nouvelles vocations. Malheureusement dépourvues de compilateur en ligne de commande, nous ne pouvons pas les supporter officiellement. La modélisation formelle de la totalité de JCL est impossible à cause de son code plutôt bas niveau.



  • Equipe Delphi de developpez.com:
    Voulez-vous profiter de cet interview pour lancer un appel à candidature ?

    Florent Ouchet:
    Oui, l'équipe de développement de la JCL est ouverte aux nouveaux membres qui souhaiteraient participer à l'effort de développement en améliorant le code existant, en proposant de nouvelles fonctionnalités, en écrivant de nouveaux programmes d'exemple ou en continuant la rédaction de la documentation.

    Contact via les news groups : news://forums.talkto.net:119/jedi.jcl
    (Dans ces news groups utilisez de préférence l'anglais)



L'équipe Delphi tient à remercier Florent Ouchet de nous avoir consacré de son temps pour répondre à cette interview.

info Retrouvez l'ensemble des interviews réalisées par l'équipe Delphi.


Valid XHTML 1.1!Valid CSS!

Copyright © 2007 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.