View
107
Download
0
Category
Preview:
Citation preview
© CGI Groupe Inc. 2013
Offre Project Factory by CGI
contact@it-toolbox.frnovembre 2013
2
Agenda
Problématiques et enjeux1
Solutions et outils2
Plateforme et architecture3
Mise en œuvre pratique4
Cas d’utilisation : les plateformes iT5
Perspectives6
Références7
Notre démarche8
3
Problématiques et enjeux
• Tout projet informatique nécessite un environnement de développement, aussi bien pour sa mise en œuvre technique que pour faciliter la collaboration des différents acteurs impliqués.
• De nombreuses actions doivent être menées tout au long du projet : gestion, programmation, tests, livraison, documentation, capitalisation, etc.
• Une multitude d’outils plus ou moins spécialisés existent sur le marché, notamment dans le monde de l’open-source, et sont en constante évolution.
• Le coût de mise en place et de maintenance d’un environnement complet et surtout intégré peut s’avérer important.
• Le mise en œuvre d’un tel environnement s’inscrit dans une démarche d’industrialisation forte et d’Application Lifecycle Management (ALM).
4
Problématiques et enjeux
Quels besoins s’expriment lors de la réalisation d’un projet ?
Contrôle de révision et Intégration continue
Historisation (code, tests, livrables)Intégration fréquente et réactivité
Gestion des tâchesSuivi des évolutions et correctionsSuivi du temps passé et roadmap
Rationalisation et Automatisation des tests
Non régression des développementsRéduction du coût des tests
Gestion des testsExigences fonctionnellesCampagnes de recette
Gestion documentaire, questions/réponses
Partage des connaissancesCapitalisation et entraide
Référentiel deprojets et composants
Mise à disposition des livrablesRéutilisation de templates standards
5
Solutions et outils
Project Factory :
• Une plateforme projet industrialisée
• Des outils open-source• Solutions (re)connues sur le
marché et en constante évolution
• Adaptés et/ou adaptables auxbesoins
• Une intégration forte• Faciliter le passage d’un outil à
l’autre et leur découverte
• Présenter une expérienceutilisateur uniforme
• Source d’authentification unique, gestion de droits fine
Project Factory
Gestion
Code
Intégration
Tests
Référentiel
Partage
6
Solutions et outils
Gestion
•Redmine•Outil
de gestion de projet
•Saisie et suivi de demandes, calendrier et Gantt
•Wiki intégré, hébergement de fichiers, consultation des sources
Code
•Subversion (SVN)•Dépôt
de sources
•Journalisation des changements
Intégration
•Jenkins (dérivé de Hudson)•Intégr
ation continue des développements
•Exécution des tests et génération de rapports
•Suivi de l’évolution et notification en cas d’échec ou régression
7
Solutions et outils
Tests
•TestLink•Outil
de gestion des tests et des phases de recette
•Spécifications de tests, exigences fonctionnelles, plans de test
•Exécution de campagnes de test et génération de rapports
Référentiel
•Nexus•Gestio
nnaire de dépôts Maven
•Déploiement, archivage, mise à disposition d’artifacts (jar, war, etc.)
•Référentiel d’archetypes (templates de projets) réutilisables
Partage
•OSQA + Alfresco (prochainement)•Questi
ons / réponses sous forme de forum collaboratif
•Gestion électronique de documents
8
Plateforme et architecture
Socle industrialisé• OS Linux CentOS 6 (compatible RedHat 6)
• Dépôt de paquets RPM Project Factory
• Utilisation des paquets de la distribution autant que possible
• Arborescence séparant applications, données, logs et backups
• Cohabitation de plusieurs instances sur une même machine
• Installation en quelques minutes
Source d’authentification unique• Annuaire LDAP créé lors de l’installation
• Service de Single Sign-On (SSO) CAS intégré dans tous les outils
• Possibilité de se connecter à des annuaires existants (ex : ActiveDirectory)
Maintenance facilitée• Mise à jour par le gestionnaire de paquets de la distribution (« yum update »)
• Backups journaliers (N archives ou synchro à J-1 selon les services)
• Rotation et compression automatique des logs
• Alertes Nagios en cas d’indisponibilité d’un service ou de mise à jour système
9
3 couches de services
Plateforme et architecture
Services utilisateur
Portail
CAS
SVN
Redmine
Jenkins
Nexus
TestLink
OSQA
Services administrateur
phpMyAdmin
phpLDAPadmin
Nagios
Composants système
Core Project Factory
Apache HTTPD
PHP
MySQL
OpenLDAP
Ruby
Tomcat
Ant & Maven
Python
10
Portail et barre d’outils globale pour naviguer entre les services
Plateforme et architecture
11
En pratiqueMise en œuvre des différents outils
12
Le développeur au centre de son environnement
Mise en œuvre pratique – Développement
13
Utilisation de Redmine : liste des demandes
Mise en œuvre pratique – Gestion des tâches
Rapports personnalisables
Classement par critères
14
Mise en œuvre pratique – Gestion des tâches
Utilisation de Redmine : détail d’une demande
Workflow
Historique des changements
Suivi des échéances et du temps
Champs personnalisés
Association à la gestion des sources
Saisie du temps passé
Type et numéro de demande
15
Mise en œuvre pratique – Gestion des tâches
Utilisation de Redmine : calendrier et diagramme de Gantt
Générés à partir des demandes
16
Mise en œuvre pratique – Gestion des tâches
Utilisation de Redmine : versions et roadmap
Demandes constituant la version
Echéances
Etat d’avancement global par version
17
Mise en œuvre pratique – Gestion des tâches
Utilisation de Redmine : suivi des temps passés
Temps pointé pour la journée
Période à considérer Autres filtres possibles
Critères du tableau (max 3)
Rapport par jour/semaine/mois/année
Export possible
18
Mise en œuvre pratique – Intégration continue
Pourquoi l’intégration continue ?• Détection au plus tôt des problèmes
• Environnement de construction stable
• Dernière version toujours disponible
• Visibilité de l’état du projet et des tests
Les méthodes de l’agilité• Développement piloté par les tests
• Commiter/intégrer/tester souvent (cycle court)
Utilisation de Jenkins• Interface web conviviale
• Construction de projets Maven, Ant, ou exécution de commandes arbitraires
• Déploiement sur Nexus et/ou un serveur d’applications (ex : Tomcat, JBoss, webMethods, …)
• Notification en cas d’échec = réactivité
Demande
Rédaction des cas de test
Développement
Intégration
Tests
Livraison
19
Mise en œuvre pratique – Intégration continue
Utilisation de Jenkins : automatisation du build des livrables
Météo du projetExécution immédiate
20
Mise en œuvre pratique – Intégration continue
Utilisation de Jenkins : automatisation des tests
Tendance des x dernières constructions
Résultats détaillés des tests
Historique des dernières constructions
21
Mise en œuvre pratique – Gestion des sources
Utilisation de Subversion : historisation du code source
Intégration dans Redmine
Arborescence
Révisions, commentaires et différences
22
Mise en œuvre pratique – Gestion de tests
Utilisation de TestLink : définition des exigences fonctionnelles
Liste des exigences fonctionnelles
23
Mise en œuvre pratique – Gestion de tests
Utilisation de TestLink : définition des cas de test
Liste des cas de test
Etapes pas-à-pas d’un cas de test
24
Mise en œuvre pratique – Gestion de tests
Utilisation de TestLink : exécution des campagnes de test
Création/consultation d’une anomalie Redmine depuis TestLink en cas d’échec d’un cas de test
25
Cas d’utilisationLes plateformes
26
Les plateformes iT
27
Les plateformes iT
Outillage et conseil
Capitalisation et échanges
Hébergement et gestion
Depuis février 2012
Depuis juillet 2012
Depuis juillet 2013
28
Les plateformes iT –
Portail de capitalisation interne de CGI Nord
Thématiques
29
Les plateformes iT –
Wiki Redmine
30
Les plateformes iT –
Wiki Redmine
Tutoriel video(réalisé avec Wink)
31
Les plateformes iT –
Forum collaboratif sous forme de questions / réponses (OSQA)
Questions
Abonnement par tag
32
Les plateformes iT –
Forum collaboratif sous forme de questions / réponses (OSQA)
Votes
Accepter une réponse
Abonnement à la question
Points et statistiquesTags
33
Les plateformes iT –
Forum collaboratif sous forme de questions / réponses (OSQA)
Email de notification
34
Perspectives
Enrichissement des fonctionnalités• Gestion documentaire (Alfresco)
• Gestion d’utilisateurs et projets transverse (interface web)
• Support d’autres systèmes de gestion des sources (Git, …)
• Intégration de l’outil d’analyse de qualité SonarQube
Déploiement de la solution• Utilisation généralisée sur les projets de CGI Nord (instance iT-Projects)
• Capitalisation communautaire (instance iT-Communities)
• Prise en compte des remarques et contributions des utilisateurs
Documentation• Manuel d’installation et d’administration
• Guides de démarrage rapide pour les utilisateurs, tutoriaux, screencasts
35
Références – CGI (depuis 2010)
Plateforme « PIC SOA » de 2010 à 2013 (socle V1)• Hébergement de projets SOA, recette, capitalisation et formation
• Plus de 25 projets hébergés sur Redmine
• Plus de 200 utilisateurs enregistrés sur la plateforme
• Utilisation en interne et externe (collaborateurs distants et clients) de Redmine, SVN, Jenkins et TestLink
Plateforme « » lancée en février 2012 (socle V2 puis V3)• Hébergement et exposition des offres et solutions techniques CGI Nord
(Project Factory, FlowUnit, OF, eGOR, Generator, etc.)
• Plus de 260 utilisateurs enregistrés sur la plateforme
• Utilisation en interne et externe (présentations, ressources, livrables et support client) de tous les services mis à disposition
• Accès public : https://cgi.it-toolbox.fr
36
Références – CGI (depuis 2010)
Plateforme « » lancée en juillet 2012 (socle V2 puis V3)• Hébergement de projets clients de CGI Nord
• Utilisation en interne et externe (collaborateurs distants et clients) de Redmine, SVN, Jenkins, Nexus et TestLink
• Migration à la demande des anciens projets de la PIC SOA
• Accès limité : https://cgi.it-projects.fr
Plateforme « » lancée en juillet 2013 (socle V3)• Hébergement des communautés de capitalisation de CGI Nord
• Utilisation en interne (dont collaborateurs distants) de Redmine, SVN, Jenkins, Nexus et OSQA pour favoriser le partage des connaissances et des ressources
• Migration de tous les projets de capitalisation de la PIC SOA
• Accès limité : https://cgi.it-communities.fr
37
Références – Nexity (2011-2013)
Projet CRM et MDM « Nexity Demain »• Mise en place d’une solution MDM dans le système d’information Nexity
• Mise en œuvre d’un nouveau système de gestion clients (CRM)
Utilisation de l’instance Project Factory « PIC SOA »• Historisation des sources (J2EE, JavaScript, Selenium) avec SVN
• Construction de livrables J2EE avec Jenkins
• Recette fonctionnelle avec Redmine et TestLink
Quelques chiffres (juillet 2013)• Plus de 60 utilisateurs Nexity enregistrés sur la plateforme
• Plus de 1800 demandes créées sur Redmine
• Plus de 4200 spécifications de tests créées sur TestLink
38
39
Pourquoi iT-Toolbox ?
EligibilitéSpécificationReferencementDeveloppementRecetteProduction
EligibilitéSpécificationReferencementDeveloppementRecetteProduction
Cycle de vie d'un échange
40
Démo et outils en ligneVisitez notre site
https://it-toolbox.fr
Téléchargez cette présentation sur notre
WIKI !
Merci !
Recommended