intégration continue pour android
DESCRIPTION
Stage d'initiation chez Soft Centre : ma.linkedin.com/pub/soft-centre/40/595/a51TRANSCRIPT
![Page 1: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/1.jpg)
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
![Page 2: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/2.jpg)
2
Plan
03/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
Solution proposée
Démarche de réalisation du projet
Contexte du projet et problématique
Présentation de l’application réalisée
Conclusion
![Page 3: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/3.jpg)
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
![Page 4: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/4.jpg)
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’applicationDémarche de réalisation du projet
![Page 5: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/5.jpg)
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 ConclusionPrésentation de
l’applicationDémarche de réalisation du projet
![Page 6: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/6.jpg)
603/09/2013 Stage d'initiation Soft Centre
Contexte du projet & Problématique
Présentation de l’organisme d’accueil
Solution Proposée ConclusionPrésentation de
l’applicationDémarche de réalisation du projet
Contexte du projet
![Page 7: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/7.jpg)
Contexte du projet
703/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Démarche de réalisation du projet
Solution ProposéeContexte duprojet
& Problématique
![Page 8: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/8.jpg)
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 ConclusionPrésentation de
l’applicationDé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
![Page 9: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/9.jpg)
Problématique
903/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPré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?
![Page 10: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/10.jpg)
Solution proposée
1003/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
Problématique Solution Proposée
Démarche de réalisation du projet
![Page 11: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/11.jpg)
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
ConclusionPré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?
![Page 12: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/12.jpg)
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
ConclusionPré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)
![Page 13: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/13.jpg)
Démarche de réalisation du projet
1303/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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.
![Page 14: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/14.jpg)
Gestionnaire de version
1403/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
![Page 15: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/15.jpg)
Gestionnaire de version
1503/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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
![Page 16: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/16.jpg)
Assemblage et build
1603/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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
![Page 17: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/17.jpg)
Serveur d’intégration continue
1703/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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
![Page 18: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/18.jpg)
Qualimétrie
1803/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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
![Page 19: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/19.jpg)
Configuration du serveur d’intégration continue
1903/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDé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
![Page 20: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/20.jpg)
Préparer le projet
2003/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte 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
![Page 21: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/21.jpg)
Publier le projet dans le gestionnaire de version
2103/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte 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
![Page 22: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/22.jpg)
Configuration d’un job dans Jenkins
2203/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
![Page 23: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/23.jpg)
Résultat
2303/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
![Page 24: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/24.jpg)
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
![Page 25: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/25.jpg)
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
![Page 26: Intégration Continue pour Android](https://reader031.vdocuments.pub/reader031/viewer/2022013121/5586ef8ad8b42afa4b8b4651/html5/thumbnails/26.jpg)
MERCI DE VOTRE ATTENTION
Questions - Réponses?
03/09/2013 26Stage d'initiation Soft Centre