L'intégration Continue
Les précurseurs
Les outils de versionning
Les outils de gestion de version sont maintenant partie intégrante de la palette d'outils du développeur. Ils permettent d'avoir un référentiel permettant le partage entre plusieurs ressources, tout en conservant l'historique de tous les changements effectués, appelés révisions. L'utilisation de ces outils présentent des avantages indéniables:
- Travailler en mode collaboratif sur un même référentiel (typiquement, du code source)
- Conserver une tracabilité totale des changements (diff entre les révisions)
- Offrir la possibilité d'un dévellopement sur plusieurs branches (débug, release, beta, etc.)
- Permettre un rollback en cas de problème ou d'annulations des derniers développements
Les tests unitaires
Les tests unitaires sont apparus très tôt, puis se sont peu à peu normalisés et adaptés aux besoins des développeurs. Ainsi, quasiment chaque langage dispose de ses propres tests unitaires, nécéssitant parfois l'utilisation d'un framework ou d'une bibliothèque externe:
- JUnit
- PhpUnit
- HTMLUnit
- Etc.
Les outils de build
Les outils de build ont la responsabilité de compiler le code source, et éventuellement d'en assurer le déploiement. Tous les outils de build ont en commun qu'ils permettent une utilisation au travers de règles (compiler, déployer, tester, etc.). Parmi ces outils, on peut notamment citer les plus utilisés actuellement:
- Makefile
- Ant
- Maven
Les outils d'inspection de code
Les outils d'inspection de code permettent d'obtenir des indices de qualité du code produit, ainsi que des rapports donnant les différents points à revoir, éventuellement accompagnés de propositions de correction. Les outils actuels permettent ainsi de tester la généricité du code, sa documentation, les performances (profiling), les codes obsolètes, les mauvaises habitudes, le code mort, etc.
Ils servent donc à la fois au développeur, qui optimise ainsi sa technique et ses habitudes de programmation, qu'aux personnes réalisant la recette qualité d'un projet, grâce au reporting.