Intégration Continue: Mise en place d'un Environnement de Développement Professionnel

Descriptif

Dans le milieu professionnel des entreprises, le travail des développeurs, est d'écrire des applications de meilleure qualité en un minimum de temps. Avec le temps les applications deviennent de plus en plus complexes et difficiles à gérer.

On nous dit que l'intégration continue (CI) permet d'augmenter la productivité de nos applications en automatisant certaines parties de notre travail. Mais qu'est ce que l'intégration continue ?

Martin Fowler a écrit un article sur le sujet que nous pouvons résumer de la manière suivante: "L'intégration continue est un processus automatisé qui génère, teste, déploie et analyse une application afin de s'assurer qu'elle fonctionne correctement, suit les best practices et s'installe chez le client. Le processus s'exécute avec chaque changement de code source et fourni un retour immédiat aux développeurs."

Sujet et Travail attendu

Le but de ce projet est donc d'analyser les solutions d'intégrations continues du marché et d'en mettre une en oeuvre. Cette solution servira par la suite aux futurs étudiants de Polytech'Nice Sophia et aux chercheurs de l'équipe Rainbow pour maintenir leurs applications logicielles.

La solution d'intégration continue devra prendre en charge les éléments et les contraintes suivants :

  • Fonctionner sur Windows et prendre en charge du code .Net
  • Avoir un contrôleur de code sources : utiliser le système svn déjà mise en place par l'équipe Rainbow
  • Gérer le processus d'intégration continue : Système qui vérifie les changements dans contrleur de sources, déclenche les builds, fourni un retour à l'équipe de développement, ...
  • Avoir un outil de tests unitaires : exemple NUnit
  • Avoir un mécanisme de documentation du code : exemple DOxygene
  • Avoir un outil de builds : exemple ANT
  • Avoir un outil pour l'analyse et la métrique du code : Ces outils vous permettent de mesurer divers point comme par exemple le respect des règles de nommage par tous les membres de l'équipe.
  • Avoir un outil pour exécuter d'autres tests que les tests unitaires.
  • ...

Autres informations

  • Nombre d'étudiants: 3
  • Encadrants: Gaëtan Rey, Stéphane Lavirotte
  • Organisme: Equipe Rainbow - Laboratoire I3S
  • Lieu du projet: Polytech'Nice Sophia
  • Environnement Matériel et Logiciel: .Net, Subversion, Visual Studio Team Suite, Team Foundation Server, ...