Présenté par : Encadré par : Maître de stage : Année universitaire : 2012 – 201
Présenté par : Encadré par : Maître de stage : Année universitaire : 2012 – 2013 REPUBLIQUE DU SENEGAL ***** * * ******** UNIVERSITE CHEIKH ANTA DIOP DE DAKAR ECOLE SUPERIEURE POLYTECHNIQUE DEPARTEMENT GENIE INFORMATIQUE Centre de Dakar M. Maguette Pathé GUEYE M. FARSSI Ibrahima KANE Période de stage : 15 mai 2013 - 30 juillet 2013 Thème : Thème : Mise en place d’une plateforme d’intégration continue à 2SI MEMOIRE DE FIN DE CYCLE Pour l’obtention du : DIPLOME UNIVERSITAIRE DE TECHNOLOGIE EN INFORMATIQUE (DUTI) Lieu de stage : Présenté par : Encadré par : Maître de stage : Année universitaire : 2012 – 2013 REPUBLIQUE DU SENEGAL ***** * * ******** UNIVERSITE CHEIKH ANTA DIOP DE DAKAR ECOLE SUPERIEURE POLYTECHNIQUE DEPARTEMENT GENIE INFORMATIQUE Centre de Dakar M. Maguette Pathé GUEYE M. FARSSI Ibrahima KANE Période de stage : 15 mai 2013 - 30 juillet 2013 Thème : Thème : Mise en place d’une plateforme d’intégration continue à 2SI MEMOIRE DE FIN DE CYCLE Pour l’obtention du : DIPLOME UNIVERSITAIRE DE TECHNOLOGIE EN INFORMATIQUE (DUTI) Lieu de stage : ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 3 ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 4 A la mémoire de ma très chère mère, La défunte et la regrettée Fatou Thiam DIOP DEDICACES ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 5 Avant toute chose je remercie Dieu pour la grâce qu’il m’a faite en renouvelant son souffle de vie en moi jusqu’à ce jour. J’adresse mes plus sincères remerciements à : Mes parents pour l’amour qu’ils m’ont porté ; Mes frères et sœurs pour leurs soins bienveillants, Mon "neveu et grand-frère", Mama Talla Faye ; Madame DIONE Directrice Général de 2SI et Monsieur Mamadou FAYE Directeur Technique qui m’ont accordé la chance d’effectuer mon stage de fin de cycle au sein de 2SI; Monsieur Maguette Pathé GUEYE, mon maître de stage pour sa disponibilité, ses conseils et sa sympathie, j’ai beaucoup appris à vos côtés ; Les développeurs de 2SI pour leurs conseils et leur soutient ; L’ensemble du personnel de 2SI pour toute l’attention qu’ils m’ont accordé, mention spéciale à la table Nekk , une famille qui m’a accueille et très vite intégré (Diodio, Matar, Bineta, Pape Diène, Sonko, Coatch …) Monsieur FARSSI, Chef du département Génie Informatique et également mon professeur encadreur ; Monsieur Mamour Amadou Ba, chercheur au laboratoire informatique de l’ESP, pour les correctifs qu’il a apporté à mon mémoire Monsieur Ibra DIOUM responsable pédagogique du cycle DUT informatique pour sa disponibilité et ses conseils ; Monsieur Ahmath Bamba MBACKE professeur à l’Ecole Supérieure Polytechnique pour ses conseils et orientations; Mes camarades de promotions; Toutes les personnes qui de près ou de loin ont contribué à la réalisation de ce travail. REMERCIEMENTS ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 6 Avant-propos ........................................................................................................................ 11 Introduction .......................................................................................................................... 12 Chapitre I : PRESENTATION GENERALE I. Présentation de l’ESP ........................................................................................................ 14 I.1. Historique ......................................................................................................... 14 I.2 Organisation ........................................................................................................ 14 I.2.1 Le département Génie Informatique .................................................. 14 I.2.2 Les autres départements ...................................................................... 15 I.3 Objectif et missions ............................................................................................. 15 II. Présentation de la structure d’accueil ........................................................................... 16 II.1 Situation et coordonnés ................................................................................... 16 II.2 Description ....................................................................................................... 17 II.3 Organisation ..................................................................................................... 17 II.3.1 La Direction Études et Ingénierie Logicielle ................................... 17 II.3.2 La Direction Automation .................................................................. 16 II.3.3 La Direction Services à Valeur Ajoutée .......................................... 18 II.3.4 La Direction Web et Multimédia ..................................................... 18 II.3.5 Le Centre de Formation Professionnelle et de Perfectionnement . 18 III. Présentation du sujet .................................................................................................... 19 Chapitre II : ETUDE DE L’EXISTANT I. Cycle de développement à 2SI ..................................................................................... 22 II. Présentation des outils et technologies existants ....................................................... 23 II.1 Java Enterprise Edition ................................................................................... 23 II.2 La technologie des EJB .................................................................................... 23 II.3 Le Framework ZK ........................................................................................... 24 II.4 Le Framework Hibernate ................................................................................ 24 II.5 JBoss Application Server ................................................................................. 24 II.6 Apache Subversion ........................................................................................... 25 Table des matières ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 7 III. Critiques de l’existant .................................................................................................. 25 IV. Proposition d’une solution : l’intégration continue (IC) .......................................... 26 IV.1 L’intégration en trois en étapes ..................................................................... 29 IV.2 Le rôle des développeurs dans l’Intégration Continue ................................ 29 IV.2.1. L’intégration locale ....................................................................... 29 IV.2.2. Les bonnes pratiques du développeur ......................................... 30 IV.2.3. Les différents types de build ........................................................ 33 IV.2.3.1 Le build privé ..................................................................... 33 IV.2.3.2 Le build d’intégration de jour .......................................... 33 IV.2.3.3 Le build d’intégration de nuit ......................................... 34 V. Proposition d’une architecture de la plateforme .................................................. 34 Chapitre III: CHOIX ET PRESENTATION DES OUTILS ET TECHNOLOGIES UTILISES I. Le gestionnaire de version : Subversion ..................................................................... 36 II. L’outil de build : Apache Maven ................................................................................ 37 II.1 Project Object Model (POM) .......................................................................... 38 II.2 Convention plutôt que configuration ............................................................. 38 II.3 Création d’un archetype pour les projets JEE à 2SI ................................... 39 II.3 Cycle de vie d’un projet maven ...................................................................... 40 III. Le gestionnaire de dépôt de référentiels Maven : Nexus ..................................... 42 IV. Le serveur d’intégration continue : Jenkins ......................................................... 43 V. L’outil de qualimétrie : Sonar ................................................................................ 45 VI. Le Framework de test unitaire : JUnit .................................................................. 47 Conclusion .......................................................................................................................... 48 Bibliographie / Webographie ............................................................................................ 49 Glossaire ............................................................................................................................. 50 ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 8 Figure I.1 : Position de 2SI sur Google Maps ........................................................................ 16 Figure I.2 : Organigramme de 2SI ......................................................................................... 17 Figure I.3 : schéma illustrant un software factory ................................................................ 19 Figure II.1 : Schéma du cycle de développement à 2SI ........................................................ 22 Figure II.2 : Courbe d’évolution des bogues dans le processus de développement ............ 26 Figure II.3 : Schéma de comparaisons Avant et Après la mise en place de l’IC ............... 28 Figure II.4: L’intégration continue en un schéma ................................................................ 32 Figure II.5 : Diagramme illustrant les différents types de build ......................................... 33 Figure II.6: Les différents composants de la plateforme ...................................................... 34 Figure III.1 : Cycle de vie d’un projet maven ....................................................................... 41 Figure III.2: Principe de fonctionnement de Nexus .............................................................. 43 Table des figures ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 9 MISE EN PLACE D’UNE PLATEFORME DE GESTION ET D’AUTOMATISATION DE LA PRODUCTION DE PROJETS LOGICIELS : INTEGRATION CONTINUE, AUTOMATISATION DES TESTS, ET MESURE DE LA QUALITE DU CODE SOURCE. ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 10 L’école supérieure polytechnique (E.S.P) forme en deux années d’études des techniciens supérieurs, et en trois ans des ingénieurs dans plusieurs spécialités. Dans le cadre de leur formation les étudiants de fin de chaque cycle sont tenus d’effectuer un stage pratique au sein d’une entreprise ou d’un service informatique. Ce stage est effectué dans le but : De fournir aux étudiants la possibilité de mettre en œuvre les connaissances théoriques acquises tout au long de leur formation. D’initier les futurs techniciens supérieurs aux réalités du milieu professionnel et de leur permettre de se faire la main sur des projets d’envergures. Au terme de ce stage un mémoire doit être rédigé sur un problème qui a été étudié durant ce stage. Pendant la durée du stage, il nous a été confié la mise en place d’une plateforme d’intégration continue c’est-à-dire qui permettrait de vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée. Avant-propos ESP 2013 Ibrahima KANE - Mémoire de Fin de Cycle DUT -- Mise en place d’une plateforme d’intégration continue à 2SI 11 Quand on développe un logiciel, on peut facilement faire des modifications sans se rendre compte qu’elles introduisent des bugs dans certains cas particuliers. C’est ce qu’on appelle des bugs de régression, en ce sens qu’on introduit de nouveaux bugs à la suite d’une évolution fonctionnelle. Comme il n’est pas humainement possible de tester systématiquement tous les cas d’utilisation possible, ces bugs peuvent se retrouver déployés en production, avec tous les problèmes que cela comporte. Une des notions importantes, quand on fait du développement, est de savoir que plus un bug est détecté tôt, plus il sera facile à corriger. Les gros soucis arrivent quand on fait du « surdéveloppement » par-dessus un bug de régression ; il devient très difficile de faire un retour en arrière sur le code incriminé, car cela impliquerait de supprimer des fonctionnalités. Il faut alors corriger ce nouveau code, en essayant de trouver une aiguille dans une botte de foin. Dans le domaine de l’ingénierie logicielle, uploads/Litterature/ memoire-dut-2013-ibrahima-kane-2si.pdf
Documents similaires










-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 22, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 2.7453MB