Le projet est composé de sept sous-projets, cinq liés à chacun des principaux objectifs techniques, un relatif à l'ensemble du projet pour la promotion et le soutien d'un écosystème autour des forges libres, et un qui constitue les activités de coordination et gestion du projet.
| | | |
| Sous-projet n° 1 | Sous-projet n° 1: Gestion d'identités et politiques de confidentialité | ORA |
| Sous-projet n° 2 | Sous-projet n° 2: Interopérabilité et échange de données | ITS |
| Sous-projet n° 3 | Sous-projet n° 3: Adaptation des outils et méthodologies | XER |
| Sous-projet n° 4 | Sous-projet n° 4: Traçabilité et intégration continue | XER |
| Sous-projet n° 5 | Sous-projet n° 5: Intégration avec le poste client | BUL |
| Sous-projet n° 6 | Sous-projet n° 6: Promotion et écosystème | ITS |
| Sous-projet n° 7 | Coordination du projet | BUL |
Les relations entre les différents sous-projets peuvent être illustrées de la façon suivante:
Schéma d’interaction entre les sous-projets| N° de Sous-projet | | Coordinateur
| |
| Objectifs
Le contenu de ce sous-projet part des nécessités rencontrées lors de l'intégration de nouveaux outils dans une Forge. Une Forge est définie comme un ensemble d'outils nécessaire dans notre cas à une activité de développement de logiciel. La particularité d'une Forge est de rendre le plus homogène possible l'accès à ces outils en unifiant un certain nombre de fonctions. Parmi ces fonctions on identifie la gestion des utilisateurs et des sessions, les notions de projets et de groupes, les problématiques de permissions et de contrôle d'accès. On peut également ajouter les problématiques de suivi des accès (logging) et de statistiques. Dans les Forges existantes, de même que dans les outils que l'on désire leur adjoindre, ces différentes notions parfois existent, parfois n'existent pas. Elles sont souvent instanciées de façons différentes et parfois peu ou mal définies. L'objectif de ce sous-projet est donc l'amélioration de la capacité d'intégration d'outils hétérogènes, en traitant les points de complexité rencontrés pour la gestion des utilisateurs en s'appuyant sur les techniques modernes de fédération d'identité. L'innovation consiste à proposer la fédération des notions de groupe et de contrôle d'accès, en prenant dès le début en compte les problèmes concrets des outils existants ou fortement demandés. -Le résultat attendu est la fourniture aux outils d'un ensemble complet et cohérent de gestion des utilisateurs, des groupes et des accès. Cet ensemble pourra se décliner avec des interfaces pour les langages de programmation les plus utilisés dans les environnements de type Forge à savoir : PHP, Perl, et Java. Cet ensemble devra permettre aux fonctions citées plus avant d'être fournies par un ensemble de serveurs distribués, administrés par des entités différentes et mis en réseau afin de partager ces fonctions. Cet ensemble devra de plus s'intégrer simplement à un ensemble le plus complet possible de système d'authentification. Ce sous-projet est divisé en différentes tâches prenant en charge les différents aspects de la problématique d'intégration de ces différents outils. L'implémentation devra être faite en collaboration par les différents acteurs des Forges avec une modification unique des différents outils concernés. |
| Livrable | Fichier | Contributeurs |
|---|---|---|
| Tâche 1 : Convergence | ORA,ITS,XER | |
| L1.1.1: Implémentation communes entre forges | Livrable_wp1.1.1.pdf(pdf/odt) | |
| Tâche 2 : Gestion des utilisateurs, authentification et session | ORA,ITS,XER | |
| L1.2.1: Compte rendu d'étude | Livrable_wp1.2.1.pdf(pdf/odt) | |
| L1.2.2: Implémentation d'un système de session unifié pour Mantis, Bugzilla et Mailman et proposition de cette implémentation upstream. | Livrable_wp1.2.2.pdf(pdf/odt) | |
| L1.2.3: Exemple d'authentification avec un des système (CAS, Kerberos, OpenID, ...) | Livrable_wp1.2.3.pdf(pdf/odt) | |
| Tâche 3 : Gestion des projets et notion de groupe | ORA,ITS | |
| L1.3.1: Compte rendu d'étude | Livrable_wp1.3.1.pdf(pdf/odt) | |
| L1.3.2: Plugin Wiki unique multiforge | Livrable_wp1.3.2.pdf(pdf/odt) | |
| Tâche 4 : Contrôles d'accès et implémentations | ORA,ITS,XER | |
| L1.4.1: Compte rendu d'étude | Livrable_wp1.4.1.pdf(pdf/odt) | |
| L1.4.2: Système autonome pluggable de Gestion de Rôles et de droits d'accès | Livrable_wp1.4.2.pdf(pdf/odt) | |
| Tâche 5 : Espace de nommage | ORA,XER,ITS | |
| L1.5.1: Compte rendu d'étude | Livrable_wp1.5.1.pdf(pdf/odt) | |
| L1.5.2: Système unifié d'hyperliens | Livrable_wp1.5.2.pdf(pdf/odt) | |
| Tâche 6 : Suivi des accès et statistiques | ORA,BUL,ITS,XER | |
| L1.6.1: Compte rendu d'étude | Livrable_wp1.6.1.pdf(pdf/odt) | |
| L1.6.2: Système unifié de logging et d'analyse de charge s'appuyant sur des technologies SNMP pour le temps réel | Livrable_wp1.6.2.pdf(pdf/odt) | |
| L1.6.3: Infocentre d'analyse des usages | Livrable_wp1.6.3.pdf(pdf/odt) |
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
L'objectif de ce sous-projet est d'établir une proposition de standard d'interopérabilité pour les échanges de données entre forges de développement logiciel. Tout projet de collaboration et de développement de logiciels (libres ou non) hébergé sur une forge est constitué par une communauté de participants qui partagent sur la même plate-forme l'ensemble des informations du projet (archives des communications électroniques, documents, source de logiciels, paquets logiciels, base de données de bugs, site web, listes de tâches, rôles affectés aux participants, etc.). Pourtant, une fois les projets établis dans une forge, l'adhérence à cette forge est très grand. La vie des projets nécessiterait parfois de restructurer le périmètre d'une communauté, donc des outils qu'elle utilise : subdivision d'un projet, ou agrégation de projets, changement d'outils (donc de forge) pour répondre à des besoins nouveaux, restructuration des organisatons hébergeant les projets, etc. Cette trop grande rigidité est aujourd'hui un problème aussi bien pour les projets utilisateurs de forges, que pour les organisations qui souhaitent déployer des forges et anticiper sur l'évolution des plate-formes. Les forges existantes manquent de fonctions d'administration permettant l'import, l'export, la migration de projets et d'équipes entre forges. L'intéropérabilité entre forges logicielles est donc fondamentale pour rendre beaucoup plus flexibles les liens établis entre un projet et une forge donnée. Les données d'un projet sont stockées dans les formats spécifiques des différentes bases de données et fichiers de stockage des différents logiciels composant les forges. Ces formats de stockage, internes, ne sont donc pas adaptés en vue d'un format d'échange unifié, standardisé, pivot de l'interopérabilité entre différentes plate-formes. L'enjeu est donc de définir un format d'échange standardisé, ouvert, capable de représenter avec une sémantique commune l'ensemble des données d'un projet, d'une communauté, et de proposer des implémentations minimales pour au moins deux forges afin de valider techniquement cette proposition. Le sous-projet 2 tiendra compte des travaux réalisés dans le cadre de QualiPSo sur les ontologies pour la définition du format d'échange et s'appuyera dans la mesure du possible sur les guides pratiques et recommandations pour l’interopérabilité émises par ce projet. Le sous-projet 2 tirera également profit de l'expérience du démonstrateur mis en place dans QualiPSo pour montrer comment utiliser les technologies sémantiques pour la recherche entre les forges BerliOS et GForge et évaluera les mécanismes réutilisables pour être généralisés dans les forges. |
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
Ce sous-projet vise à faciliter la mise en oeuvre de méthodologies de développement pour les projets hébergés dans une forge logicielle. Aujourd'hui, les forges fournissent les outils nécessaires au développement: gestion de code source, outils de suivi, outils de communication, mais ne précisent pas un cadre précis pour l'utilisation de ces outils. C'est aux chefs de projet de personnaliser leur environnement pour répondre aux besoins de leur projet, et de l'adapter, quand c'est possible, à la méthodologie utilisée par leur équipe. Par exemple, si l'équipe projet implémente une méthodologie de développement agile comme Scrum, la forge va devoir gérer le « backlog produit » via un outil de suivi dédié, et proposer un rapport graphique de suivi de l'itération courante (« Burndown Chart »). Si une autre équipe veut mettre en oeuvre la méthodologie CMMI, elle voudra gérer le suivi et la traçabilité des exigences, via un outil de suivi et des rapports adaptés. Ce sous-projet va donc proposer des solutions permettant de faciliter la mise en oeuvre de méthodologies en travaillant sur deux axes:
Ce sous-projet prendra en compte les travaux effectués dans le cadre du projet Qualipso, notamment sur la qualification du niveau de qualité d'un processus de développement OSS. Qualipso définit en effet le modèle QuOMM comme une liste de critères complémentaires à CMMI et spécifiques au monde Open Source. Des outils associés sont également développés sur la base du logiciel Spago4Q pour l'analyse statistique des données collectées pour évaluer les écarts par rapport au modèle. |
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
A partir de ces diagrammes de classes on peut passer à l'environnement de développement et générer le code applicatif correspondant à la modélisation UML.
|
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
Ce work-package a pour objectif de faire le lien entre les différents interfaces offerts aux utilisateurs de forge, en particulier les interfaces Web offerts par les serveurs de forge et les interfaces utilisés par les développeurs, reposant sur des environnements de développement intégrés, comme Eclipse. Ces derniers environnements offrent des accès à un ensemble de fonctions nécessaires pour le développement de logiciel, tels que la modélisation UML, les environnements de développements de code proprement dit, de tests, de build, ... mais peu d'accès à des outils complémentaires permettant de positionner le travail du développeur dans le cadre complet du projet, avec, notamment, les accès à des outils de gestion de projet (gestion de tâches, reporting des temps passés, saisi du reste à faire, ...). Un premier pas dans cette direction a été accompli avec l'outil Mylyn qui interface depuis Eclipse les gestionnaires d'anomalies mais il est nécessaire d'aller plus loin dans l'accès aux autres fonctions de gestion de projet offertes par les forges. L'intégration de ces fonctions dans le poste développeur, accessibles aujourd'hui depuis le serveur de forge en interface web, permettra d'accroître la productivité des développeurs et une meilleure transmission de l'information entre les activités de développment et de gestion de projet. Les forges rencontrent des difficultés à percer au sein des environnements Microsoft à cause de l'intégration généralement proposée entre les différents outils Microsoft. Nous proposons donc de poser certaines briques afin de faciliter l'accès aux fonctionnalités des forges depuis les outils Microsoft (suites Office, MS Project, Visual Studio). Dans le cadre d'une approche “gestion de processus” du projet, il faut inclure la gestion et le contrôle du document technique du projet, et par conséquent l'intéropérabilité avec les suites bureautiques (Microsoft, OpenOffice.org, Adobe) utilisé par le développeur. Une approche phasée est proposée, permettant de disposer rapidement de résultats utilisables. Ce sous-projet étudiera les synergies possibles avec le projet MIND qui propose des outils intégrés dans Eclipse d'aide à la conception de composants pour construire des OS embarqués. Les axes de coopération à évaluer se situent notamment sur la tâche 6 et l'interface avec les trackers. |
| Livrable | Fichier | Contributeurs |
|---|---|---|
| Tâche 1 : Convergence | XER, ITS | |
| L5.1.1: Mise à disposition du plugin Eclipse d'accès à Codendi | Coclico_SP5_L.5.1.1(pdf/odt) | |
| Tâche 2 : Création de poste de développement de base | BUL | |
| L5.2.1: Spécification du contenu du package développeur de base | Coclico_SP5_L.5.2.1(pdf/odt) | |
| L5.2.2: Fichier archive installable sur poste de développement Windows | Archive installable | |
| Tâche 3 : Réalisation d'un interface utilisateur “Ma page” | BUL,ITS | |
| L5.3.1: Etude d'architecture du plugin s'appuyant sur Mylyn et sur le plugin Eclipse pour Codendi | Coclico_SP5_L.5.3.1(pdf/odt) | |
| L5.3.2: Spécifications du plugin Eclipse permettant d'accèder à l'onglet “Ma Page” | Coclico_SP5_L.5.3.2(pdf/odt) | |
| L5.3.3 et L5.3.4: Plugin Eclipse intégrable dans le poste développeur | Coclico_SP5_L.5.3.4(pdf/odt) | |
| Tâche 4 : Extension de l'interface utilisateur aux informations de pilotage projet | BUL,ITS | |
| L5.4.1: Spécification des informations de pilotage disponibles dans les forges et pouvant être accédées depuis le plugin Eclipse | Coclico_SP5_L.5.4.1(pdf/odt) | |
| L5.4.2 et L5.4.3: Plugin Eclipse de la tâche 2 étendu et connecteur de forge | Coclico_L5.4_L5.6(pdf/odt) | |
| Tâche 5 : Création de poste de développement | BUL,ORA | |
| L5.5.1: Spécification des différents composants susceptibles d'être intégrés dans le poste développeur et de leurs dépendances | Coclico_SP5_L.5.5.1(pdf/odt) | |
| L5.5.2: Onglet de définition et de constitution du package | Coclico_SP5_L.5.5.2(pdf/odt) | |
| Tâche 6 : Interface avec le poste de développement Eclipse | BUL, XER, OBJ, ITS | |
| L5.6.1: Spécification de l'ensemble des informations de pilotage disponibles dans les forges et pouvant être accédées depuis le plugin Eclipse | Coclico_SP5_L.5.6.1(pdf/odt) | |
| L5.6.2 et L5.6.3: Plugin Eclipse de la tâche 3 étendu et connecteur de forge | Coclico_L5.4_L5.6(pdf/odt) | |
| Tâche 7 : Intégration des forges avec un poste de développement .Net | OBJ | |
| L5.7.1 et L5.7.2: Adds-in pour Microsoft Office & Visual Studio et Encapsulation d'un add-in existant pour pouvoir lié un commit à une tâche | L5.7.1_IntegrationSuiteOffice(pdf/odt) | |
| L5.7.3: API WebServices côté forge pour converser avec l'add-in | L571_L572_L573_AddinVisualStudio(pdf/odt) |
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
Les objectifs de ce sous-projet sont d'assurer une promotion efficace des travaux du projet, d'accroître la mise en réseau des acteurs français travaillant sur les forges open source, de permettre la diffusion des résultats du projet en lien avec la communauté Fusionforge et les communautés OSS appropriées, ainsi qu'avec des initiatives comme Planetforge, QualiPSo, ou HELIOS. |
| N° de Sous-projet | | Coordinateur
| |
| Objectifs
Ce sous-projet vise à assurer la coordination administrative globale du projet ainsi que la coopération entre les pôles System@tic, Minalogic, leurs mandataires, et le groupement dans son ensemble. Il s’agira de:
|