Présenté par :
Salma ES-SALMANI
Soutenance du Stage d’initiation
Serveur d’intégration continue
pour projets Android
Encadré par
Mr. Abdelwahed Mourabit
03/09/2013 Stage d'initiation Soft Centre
Soutenu devant les membres de jury
Pr. Mohammed BERRADA
Société d’accueil
Solution
Proposée
3
Conclusion
03/09/2013 Stage d'initiation Soft Centre
Centre de R&D spécialisé dans le développement logiciel
Fondé en 2010
Présentation de
l’organisme d’accueil
Contexte du projet
& Problématique
Présentation de
l’application
Démarche de
réalisation du projet
403/09/2013 Stage d'initiation Soft Centre
Domaines d’intervention
Solution
Proposée
ConclusionPrésentation de
l’organisme d’accueil
Contexte du projet
& Problématique Présentation de
l’application
Démarche de
réalisation du projet
503/09/2013 Stage d'initiation Soft Centre
Environnement technologique turbulent
et en mutation constante
Architectes rêveurs
Requêtes de changement du client incapable d’analyser
son besoin efficacement
Contexte du projet
Contexte du projet
& Problématique
Présentation de
l’organisme d’accueil
Solution
Proposée
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
603/09/2013 Stage d'initiation Soft Centre
Contexte du projet
& Problématique
Présentation de
l’organisme d’accueil
Solution
Proposée
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Contexte du projet
Contexte du projet
703/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Solution
ProposéeContexte duprojet
& Problématique
803/09/2013 Stage d'initiation Soft Centre
Contexte du projet
Contexte du projet
& Problématique
Présentation de
l’organisme d’accueil
Solution
Proposée
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Le processus d’intégration continue a pour objectif de vérifier que
chaque mise à jour du code source ne génère pas de régressions et/ou
d’anomalies sur l’application en cours de développement
Problématique
903/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Solution
ProposéeContexte duprojet
& Problématique
Comment automatiser le déploiement des tests?
Comment travailler à plusieurs sur un même code source?
Comment réduire le temps d’une mise en production?
Comment s’assurer qu’une nouvelle fonctionnalité n’introduit pas de
régression?
Solution proposée
1003/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique Solution Proposée
Démarche de réalisation
du projet
Intérêt de l’intégration continue pour les applications mobiles
1103/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique Solution
proposée
Démarche de réalisation
du projet
Alors que les projets Java/.NET se déroulent généralement sur plusieurs
mois avec des équipes importantes, les projets d’applications mobiles sont
généralement plus courts avec des équipes plus petites.
Cela vaut-il donc le coup d’investir dans tous les moyens habituels (build,
intégration continue, …) qui peuvent paraître lourds et démesurés pour un tel
projet?
Intérêt de l’intégration continue pour les applications mobiles
1203/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Solution
Proposée
Solution Proposée
Dès lors que l’équipe de développement est constituée de
plus d’une personne
Dans une optique de maintenance : l’application doit
continuer de vivre et d’évoluer
Avoir une version rapidement montrable au marketing ou
la MOA (maîtrise d’ouvrage)
Démarche de réalisation du projet
1303/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Android a l’avantage d’être basé sur le langage Java. On bénéficie ainsi
des outils existants pour construire nos applications.
Pour chacune des étapes de l’intégration continue, nous avons choisi un
outil en se basant sur certains critères.
Gestionnaire de version
1403/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Gestionnaire de version
1503/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Système centralisé
+ Simplification de la gestion des versions
- Travail sans connexion au réseau, branches
expérimentales
Système décentralisé
+ Chaque développeur travaille à son rythme,
de façon désynchronisée des autres
Assemblage et build
1603/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Ant Maven
Automatiser les opérations
répétitives du développement
logiciel (compilation,
génération de documents …)
Moyens de configuration
basés sur le format XML
Fourni par défaut avec
Android
Gestion des dépendances
Serveur d’intégration continue
1703/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Jenkins
Multitude des plugins existants
Open source et très répandu
Possibilité de répartir la charge des builds sur
plusieurs serveurs
Qualimétrie
1803/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
Cet outil fournit une analyse complète de la qualité d’une application
en affichant de nombreuses métriques sur les projets en cours.
Ces données permettent d’évaluer la qualité du code, et d’en
connaître l’évolution au cours du développement
Configuration du serveur d’intégration continue
1903/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
• Gestion de la sécurité : mettre en place des règles pour assigner les
rôles adéquats à chaque membre de l’équipe de développement
• Configuration des outils tiers (Ant, JDK, SDK Android, SVN,
Mercurial)
• Gestion des plugins : installation des extensions complémentaires
Préparer le projet
2003/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
Dans le workspace d’eclipse, le développeur doit exécuter les
commandes suivantes :
• android update project –p android-app
• android update test-project –m ../app –p test
• ant clean debug
• ant clean debug install test
Publier le projet dans le gestionnaire de version
2103/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
1.Créer un répertoire de dépôt pour gérer l’évolution des codes sources
Le dépôt est l’archive dans laquelle seront envoyées les
modifications faites à l’arborescence. Il peut se trouver sur un serveur
distant, sur un serveur situé dans les réseau local ou même sur notre
propre machine
2. Ajouter des projets dans le dépôt
Configuration d’un job dans Jenkins
2203/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
Résultat
2303/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
Perspectives
2403/09/2013 Stage d'initiation Soft Centre
Conclusion
Présentation de
l’organisme d’accueil
Contexte du
projet &
Problématique
Solution
Proposée
Démarche de
réalisation du projet
Présentation de
l’application
Perspectives
Construire une plateforme qui intègre toutes les technologies du
développement mobile (iOS, Windows Phone, BlackBerryOS) ainsi que les
frameworks web (Phonegap, Titanium)
Automatiser, au-delà des tests unitaires, le déploiement des applications
mobiles dans les différents stores
Conclusion
2503/09/2013 Stage d'initiation Soft Centre
Conclusion
Présentation de
l’organisme d’accueil
Contexte du
projet &
Problématique
Solution
Proposée
Démarche de
réalisation du projet
Présentation de
l’application
• Bilan professionnel : assimilation de nouvelles connaissances
informatiques en rapport direct avec les tendances du marché de
l’emploi
• Bilan personnel : expérience intéressante, rencontres enrichissantes
MERCI DE VOTRE ATTENTION
Questions - Réponses?
03/09/2013 26Stage d'initiation Soft Centre

Intégration Continue pour Android

  • 1.
    Présenté par : SalmaES-SALMANI Soutenance du Stage d’initiation Serveur d’intégration continue pour projets Android Encadré par Mr. Abdelwahed Mourabit 03/09/2013 Stage d'initiation Soft Centre Soutenu devant les membres de jury Pr. Mohammed BERRADA
  • 3.
    Société d’accueil Solution Proposée 3 Conclusion 03/09/2013 Staged'initiation Soft Centre Centre de R&D spécialisé dans le développement logiciel Fondé en 2010 Présentation de l’organisme d’accueil Contexte du projet & Problématique Présentation de l’application Démarche de réalisation du projet
  • 4.
    403/09/2013 Stage d'initiationSoft Centre Domaines d’intervention Solution Proposée ConclusionPrésentation de l’organisme d’accueil Contexte du projet & Problématique Présentation de l’application Démarche de réalisation du projet
  • 5.
    503/09/2013 Stage d'initiationSoft Centre Environnement technologique turbulent et en mutation constante Architectes rêveurs Requêtes de changement du client incapable d’analyser son besoin efficacement Contexte du projet Contexte du projet & Problématique Présentation de l’organisme d’accueil Solution Proposée Conclusion Présentation de l’application Démarche de réalisation du projet
  • 6.
    603/09/2013 Stage d'initiationSoft Centre Contexte du projet & Problématique Présentation de l’organisme d’accueil Solution Proposée Conclusion Présentation de l’application Démarche de réalisation du projet Contexte du projet
  • 7.
    Contexte du projet 703/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Démarche de réalisation du projet Solution ProposéeContexte duprojet & Problématique
  • 8.
    803/09/2013 Stage d'initiationSoft Centre Contexte du projet Contexte du projet & Problématique Présentation de l’organisme d’accueil Solution Proposée Conclusion Présentation de l’application Démarche de réalisation du projet Le processus d’intégration continue a pour objectif de vérifier que chaque mise à jour du code source ne génère pas de régressions et/ou d’anomalies sur l’application en cours de développement
  • 9.
    Problématique 903/09/2013 Stage d'initiationSoft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Démarche de réalisation du projet Solution ProposéeContexte duprojet & Problématique Comment automatiser le déploiement des tests? Comment travailler à plusieurs sur un même code source? Comment réduire le temps d’une mise en production? Comment s’assurer qu’une nouvelle fonctionnalité n’introduit pas de régression?
  • 10.
    Solution proposée 1003/09/2013 Staged'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Solution Proposée Démarche de réalisation du projet
  • 11.
    Intérêt de l’intégrationcontinue pour les applications mobiles 1103/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Solution proposée Démarche de réalisation du projet Alors que les projets Java/.NET se déroulent généralement sur plusieurs mois avec des équipes importantes, les projets d’applications mobiles sont généralement plus courts avec des équipes plus petites. Cela vaut-il donc le coup d’investir dans tous les moyens habituels (build, intégration continue, …) qui peuvent paraître lourds et démesurés pour un tel projet?
  • 12.
    Intérêt de l’intégrationcontinue pour les applications mobiles 1203/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Solution Proposée Solution Proposée Dès lors que l’équipe de développement est constituée de plus d’une personne Dans une optique de maintenance : l’application doit continuer de vivre et d’évoluer Avoir une version rapidement montrable au marketing ou la MOA (maîtrise d’ouvrage)
  • 13.
    Démarche de réalisationdu projet 1303/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée Android a l’avantage d’être basé sur le langage Java. On bénéficie ainsi des outils existants pour construire nos applications. Pour chacune des étapes de l’intégration continue, nous avons choisi un outil en se basant sur certains critères.
  • 14.
    Gestionnaire de version 1403/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée
  • 15.
    Gestionnaire de version 1503/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée Système centralisé + Simplification de la gestion des versions - Travail sans connexion au réseau, branches expérimentales Système décentralisé + Chaque développeur travaille à son rythme, de façon désynchronisée des autres
  • 16.
    Assemblage et build 1603/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée Ant Maven Automatiser les opérations répétitives du développement logiciel (compilation, génération de documents …) Moyens de configuration basés sur le format XML Fourni par défaut avec Android Gestion des dépendances
  • 17.
    Serveur d’intégration continue 1703/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée Jenkins Multitude des plugins existants Open source et très répandu Possibilité de répartir la charge des builds sur plusieurs serveurs
  • 18.
    Qualimétrie 1803/09/2013 Stage d'initiationSoft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée Cet outil fournit une analyse complète de la qualité d’une application en affichant de nombreuses métriques sur les projets en cours. Ces données permettent d’évaluer la qualité du code, et d’en connaître l’évolution au cours du développement
  • 19.
    Configuration du serveurd’intégration continue 1903/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Présentation de l’application Contexte du projet & Problématique Démarche de réalisation du projet Solution Proposée • Gestion de la sécurité : mettre en place des règles pour assigner les rôles adéquats à chaque membre de l’équipe de développement • Configuration des outils tiers (Ant, JDK, SDK Android, SVN, Mercurial) • Gestion des plugins : installation des extensions complémentaires
  • 20.
    Préparer le projet 2003/09/2013Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Contexte du projet & Problématique Présentation de l’application Solution Proposée Démarche de réalisation du projet Dans le workspace d’eclipse, le développeur doit exécuter les commandes suivantes : • android update project –p android-app • android update test-project –m ../app –p test • ant clean debug • ant clean debug install test
  • 21.
    Publier le projetdans le gestionnaire de version 2103/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Contexte du projet & Problématique Présentation de l’application Solution Proposée Démarche de réalisation du projet 1.Créer un répertoire de dépôt pour gérer l’évolution des codes sources Le dépôt est l’archive dans laquelle seront envoyées les modifications faites à l’arborescence. Il peut se trouver sur un serveur distant, sur un serveur situé dans les réseau local ou même sur notre propre machine 2. Ajouter des projets dans le dépôt
  • 22.
    Configuration d’un jobdans Jenkins 2203/09/2013 Stage d'initiation Soft Centre Présentation de l’organisme d’accueil Conclusion Contexte du projet & Problématique Présentation de l’application Solution Proposée Démarche de réalisation du projet
  • 23.
    Résultat 2303/09/2013 Stage d'initiationSoft Centre Présentation de l’organisme d’accueil Conclusion Contexte du projet & Problématique Présentation de l’application Solution Proposée Démarche de réalisation du projet
  • 24.
    Perspectives 2403/09/2013 Stage d'initiationSoft Centre Conclusion Présentation de l’organisme d’accueil Contexte du projet & Problématique Solution Proposée Démarche de réalisation du projet Présentation de l’application Perspectives Construire une plateforme qui intègre toutes les technologies du développement mobile (iOS, Windows Phone, BlackBerryOS) ainsi que les frameworks web (Phonegap, Titanium) Automatiser, au-delà des tests unitaires, le déploiement des applications mobiles dans les différents stores
  • 25.
    Conclusion 2503/09/2013 Stage d'initiationSoft Centre Conclusion Présentation de l’organisme d’accueil Contexte du projet & Problématique Solution Proposée Démarche de réalisation du projet Présentation de l’application • Bilan professionnel : assimilation de nouvelles connaissances informatiques en rapport direct avec les tendances du marché de l’emploi • Bilan personnel : expérience intéressante, rencontres enrichissantes
  • 26.
    MERCI DE VOTREATTENTION Questions - Réponses? 03/09/2013 26Stage d'initiation Soft Centre