Outils de développement ======================= Cette section présente les outils utiles aux développements d’applications, web notamment. On y trouve des outils de gestion de projet comme Redmine ou Maven, des outils d’automatisation comme Ant ou Phing, des environnements de développement comme Eclipse, des gestionnaires de tickets comme MantisBT, des outils de gestion de source comme Subversion ou Git, et des solutions de collaboration et d’ingénierie logicielle comme Tuleap. Comme on le voit, l’open source offre d’excellentes briques de développement pour bâtir des projets ambitieux dans des conditions optimales. Forges (plateformes collaboratives de développement) et bug trackers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Redmine ------- :Site: https://www.redmine.org :Porteur: une communauté :Licence: GPL v2 Redmine est un outil collaboratif permettant, à travers une interface web sécurisée, de gérer des projets. Il a été créé par Jean-Philippe Lang en 2006. Redmine offre les fonctionnalités suivantes : - gestion multi-projets sécurisée - gestion des utilisateurs, des profils et des droits, en fonction de chaque projet - gestion de documents, classement par catégorie, propriétaire, titre, date, etc. - gestion des demandes, de leur statut, de leur priorité et de leur historique, assignation de ces demandes aux acteurs pertinents du projet. - visualisation de l’actualité du projet sous forme de diagramme de Gantt - notification par mail ou par flux RSS - etc. Redmine a été développé en Ruby sur la base du framework Ruby on Rails. Tuleap ------ :Site: https://www.enalean.com/produits/tuleap :Porteur: un éditeur (Enalean) :Licence: GPL Tuleap est une Suite Logicielle open source qui fournit les outils nécessaires aux entreprises pour un développement logiciel et une collaboration efficace. Egalement appelée Forge Logicielle ou ALM (application life cycle management), Tuleap a été développée par la société Enalean. Tuleap est un logiciel utilisé par plusieurs dizaines de milliers d'utilisateurs dans le monde pour leurs développements professionnels, dans de grandes entreprises telles que STMicroelectronics, ST-Ericsson ou encore Orange. Tuleap est une suite ALM complète : tracking de bugs, de tests, de risques, etc, gestion de versions, intégration continue, gestion documentaire, outils de collaboration, etc. L'éditeur de Tuleap, Enalean, est une société française qui a fondé son modèle économique sur le support et les services professionnels Tuleap est écrit majoritairement en PHP. MantisBT -------- :Site: https://www.mantisbt.org :Porteur: une communauté :Licence: GPL v2 MantisBT est un outil web très populaire de suivi de tickets (anomalies, demandes d'évolutions, demandes d'intervention, ...), adapté à tous types de projets. Kenzaburo Ito, initiateur du projet en novembre 2000, est rapidement rejoint en 2002 par Jeroen Latour, Victor Boctor et Julian Fitzell pour constituer le cœur de l'équipe de développement. MantisBT permet une répartition des tickets par projet. Il est également possible de qualifier les demandes suivant différents critères (type, catégorie, sévérité, priorité, privé/public). L'outil dispose notamment de fonctionnalités comme : un workflow d’enchaînement d'états paramétrables, un système de notification, un formulaire de recherche de tickets avec filtres, une page personnalisée pour chaque utilisateur listant les tickets dont il est l'auteur ainsi que les tickets qui lui sont assignés, une gestion de droits utilisateurs, une rubrique d'administration par projet permettant d'ajouter/supprimer des utilisateurs au projet, la création de sous projets, etc. MantisBT est développé en PHP et nécessite l'utilisation d'une base de données (MySQL, PostgreSQL, MS SQL ou DB2). Il est principalement testé pour les serveurs Web Apache et IIS. Autres ------ - Gitlab: https://gitlab.com/ - Trac: https://trac.edgewall.org/ - Pagure: https://pagure.io/pagure - SourceHut: https://sourcehut.org/ Gestion de source ~~~~~~~~~~~~~~~~~ Git --- :Site: http://git-scm.com :Porteur: une communauté :Licence: GPL v2 Git est un système de gestion de versionnement décentralisé (DVCS). Il est notamment utilisé pour le noyau Linux ou pour PHP. C'est un logiciel libre créé par Linus Torvalds en 2005. Git permet notamment de "commiter" localement puis de pousser aux autres développeurs un ensemble de commits locaux. Il permet également d'utiliser un workflow de développement en soumettant par exemple l'envoi de code à l'approbation d'un des développeurs. La faculté de Git à créer des branches facilement ainsi que de permettre leur administration de façon simple en fait un outil de choix dans le cadre de développement de projets open source. Git est distribué sous la licence GPL v2. Git est écrit en C, Bourne Shell et Perl. Mercurial --------- :Site: https://www.mercurial-scm.org/ :Porteur: une communauté :Licence: GPL Mercurial est un logiciel de gestion de versions décentralisé (DVCS) disponible sur la plupart des systèmes Unix, Windows et Mac OS X. Il a été créé pour s'utiliser via la ligne de commande, mais propose une intégration forte avec le bureau Windows (TortoiseHg), des interfaces graphiques avancées pour l'affichage de l'historique (HgView) et une interface web intégrée. Ses principales caractéristiques sont sa capacité à gérer les gros projets, son fonctionnement complètement distribué ne nécessitant pas de serveur, sa gestion avancée des branches et des fusions, ainsi que l'ajout récent de la traçabilité de l'évolution de l'historique. Mercurial est écrit principalement en Python. Environnement de développement intégrés ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eclipse IDE ----------- :Site: https://www.eclipse.org :Porteur: une fondation (Eclipse) :Licence: EPL (Eclipse Public License) Eclipse est un environnement de développement extensible et polyvalent, initié par IBM en 2001 et porté depuis 2004 par la Fondation Eclipse. Conçu autour d'une plateforme commune à laquelle s'agrègent des composants dérivatifs, le projet est ainsi constitué de nombreux sous-projets spécifiques aux technologies sous-jacentes. L’object de la solution Eclipse est de fournir des outils favorisant la productivité, mais pas seulement celle qui concerne le codage logiciel. On y trouve des environnements de développement intégré mais également de conception, de modélisation, de tests, de reporting, etc. Eclipse a beau être écrit en Java, il peut être utilisé pour développer sous de très nombreux langages de programmation. Eclipse est écrit en Java. Génération de code / MDD ~~~~~~~~~~~~~~~~~~~~~~~~ Acceleo ------- :Site: https://www.eclipse.org/acceleo/ :Porteur: une fondation (Eclipse) :Licence: EPL (Eclipse Public License) Acceleo est un générateur de code qui permet de transformer des modèles vers du code (approche MDA - Model driven Architecture). Acceleo a l'originalité de laisser à l'utilisateur le choix dans le formalisme de modélisation en entrée, et dans le type de langage et de framework à générer en sortie. Ainsi, de nombreux éditeurs sous Eclipse ont été créés pour simplifier la création de générateurs sur mesure, via une approche basée sur des templates et une syntaxe standardisée. Acceleo est écrit en Java.