Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Stage portabilité HSLV2
2
Stage portabilité HSLV2 - Jonathan Courtois
Plan Présentation de SII SII en France SII à Rennes Mon environnement Présentation du stage Objectifs Problématiques de portabilité Hot Spot Locator V2 Déroulement du stage Documentation Choix de développement Aperçu du Framework Qt Intégration continue Développement Retour d’expérience Design architectural Interface graphique Avantage de Qt Déploiement Qt Creator Conclusion Questions Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
3
SII en France SII à Rennes Mon environnement
Présentation de SII SII en France SII à Rennes Mon environnement
4
Stage portabilité HSLV2 - Jonathan Courtois
SII en France Présentation de SII Société de conseil et d’ingénierie informatique Forte indépendance de chaque agence Création : 1 avril 1979 Capital : 40 million d’euros Chiffre d’affaires : € (+18%) au 31 mars 2009 Répartition : 10 agences et 10 bureaux en France Effectifs : 2200 employés Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
5
Stage portabilité HSLV2 - Jonathan Courtois
SII en France L’engagement qualité Depuis 1991, SII a mis en place un système d’assurance qualité. Dans les 5 premières sociétés de services françaises à être certifiée ISO 9001 La 2ème à faire certifier son activité d’assistance technique, dès 1992. La gestion des processus est basée sur le modèle CMMi (5 niveaux) Aix en Provence, Nantes, Rennes, Toulouse : niveau 3 Sophia Antipolis : niveau 2 Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
6
Stage portabilité HSLV2 - Jonathan Courtois
SII à Rennes L’agence de Rennes Création : 1997 Effectifs 2009 : 450 collaborateurs Clients : France Télécom, Thalès, Thomson, Alcatel, Ouest-France, … Les pôles de compétences L’ingénierie industrielle et l’électronique L’ingénierie logicielle et système d’information Les télécoms Les réseaux Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
7
Stage portabilité HSLV2 - Jonathan Courtois
SII à Rennes Les différentes prestations L’assistance technique Mode d’intervention souple et de mise en service rapide (chez le client). Le forfait Mode d’intervention généralement externalisé (dans les locaux de SII). La répartition Types de prestations Secteurs d’activités Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
8
Stage portabilité HSLV2 - Jonathan Courtois
Mon environnement Le plateau forfait Personnes dédiées à l’encadrement des projets 1 Directeur technique forfait, 4 Directeurs de projets, 10 Chefs de projets, 2 Administrateurs systèmes et réseaux Moyens Plateformes : 820 M² Dédiés à Rennes Locaux à Brest, Lannion, Caen et Le Mans Locaux : Sécurisés Suivi des faits techniques, bugs : Bug Tracker, Mantis, Bugzilla, … Gestionnaires de Configuration : CVS, Sourcesafe, SubVersion, … Licences : Visual Studio, Rational Rose, Caliber RM, CVI, ... Systèmes : Windows, Linux, Solaris, Mac Qualité ISO 9001 v2000 CMMi niveau 3 Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
9
Stage portabilité HSLV2 - Jonathan Courtois
Mon environnement Le pôle CIM Client principal : France Télécom Applications autour de la connexion Internet Home Software Suite (particuliers) Business Everywhere Software Suite (entreprises) Effectifs: 29 personnes en 2 équipes Front office (7) Travaillent directement chez le client Une partie développement d’anticipation Back office (22) Travaillent à l’agence SII Rennes Point de vue production des applications Equipes de 4-5 personnes Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
10
Objectifs Problématiques de portabilité Hot Spot Locator V2
Présentation du stage Objectifs Problématiques de portabilité Hot Spot Locator V2
11
Stage portabilité HSLV2 - Jonathan Courtois
Objectifs Missions Analyse sur les problématiques de portabilité avec réalisation d'un document Migration d’un projet existant (HSLV2) Framework MFC (Windows) -> Application portable Mise à jour des documents existants Mise en place d’un serveur pour la plateforme d'intégration continue Hudson Réalisation de tests sur Windows et Mac OS X Déploiement sur les différents systèmes d’exploitation Etude de portabilité incluant les difficultés rencontrés et un retour d’expérience Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
12
Problématiques de portabilité
Langages et interfaces graphiques portables Environnements de développement Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
13
Problématiques de portabilité
Outils de compilation Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
14
Problématiques de portabilité
Réaliser le plus de code en commun possible -> Sinon OSAL Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
15
Problématiques de portabilité
Problématique de débogage Problématique de déploiement Variables d’environnements Dépendance de librairies Dynamique ou statique Installeurs Certaines règles de codage à respecter (cf. Analyse portabilité) Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
16
Stage portabilité HSLV2 - Jonathan Courtois
Hot Spot Locator V2 Recherche d’une adresse et liste des hot spots Orange à proximité Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
17
Stage portabilité HSLV2 - Jonathan Courtois
Hot Spot Locator V2 Affichage des hots spots Orange sur une carte Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
18
Choix de développement
Déroulement du stage Documentation Choix de développement Aperçu du Framework Qt Intégration continue Développement
19
Stage portabilité HSLV2 - Jonathan Courtois
Documentation 2 documents à réaliser Analyse de portabilité Etude sur le développement multiplateforme Langages, GUI, IDE, outils de compilation Développement d’une application multiplateforme Problèmes lors du portage d’une application non portable Guide de règles de codage C++ (portable) Rédaction d’une étude complète Synthèse des problèmes rencontrés au cours du développement du plugin de HSLV2 Réflexion sur les problématiques de portabilités Retour d’expérience sur un nouvel IDE: Qt Creator Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
20
Choix de développement
Langage et outils utilisés Langage : C++ Framework et interface graphique : Qt Environnement de développement : Qt Creator Outil de compilation : Qmake Compilateurs Windows: Visual C Mac OS X: Gcc Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
21
Stage portabilité HSLV2 - Jonathan Courtois
Aperçu du Framework Qt Présentation License LGPL 1ère version : 1995 Librairie : C++ Bindings : Java, Python, Ruby, Ada, C#, Pascal, Perl, PHP, Haskell, Lua, Dao, Tcl, Common Lisp, D IDE : Qt Creator - Plugins: Visual Studio, Eclipse Plateformes : Développement rapide Qt 4.6 Nouveau support : Symbian Support : Windows 7, Mac OS X 10.6 Support étendu pour UNIX : Solaris 10, HP-UX and AIX 6 Amélioration des performances et ajout de fonctionnalités Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
22
Stage portabilité HSLV2 - Jonathan Courtois
Intégration continue Principe Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
23
Stage portabilité HSLV2 - Jonathan Courtois
Intégration continue Hudson Serveur dédié à la compilation Un job par sous projets Un état des compilations et une récupération facile des binaires Le résultat des tests unitaires automatisés Beaucoup d’autres outils non étudiés Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
24
Stage portabilité HSLV2 - Jonathan Courtois
Développement 4 parties dans le projet Module de gestion de requêtes Envoi de requêtes Téléchargement de fichiers Partie géocodage Géo codage d’une adresse postale Calcul de distance entre 2 adresses Calcul d’une zone de proximité autour d’une adresse Partie cartographie Affichage d’une carte Gestion des marqueurs Gestion des déplacements et du zoom Partie sauvegarde des cartes Sauvegarde en local de plusieurs images Affichage des cartes sauvegardées Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
25
Retour d’expériences Design architectural Interface graphique
Avantage de Qt Déploiement Qt Creator
26
Stage portabilité HSLV2 - Jonathan Courtois
Design architectural Architecture en couches Respect des couches Pas de difficultés pour HSLV2 Interfaces indépendantes d’un framework (Qt) Design pattern factory OSAL Le framework Qt fait office de couche d’abstraction Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
27
Stage portabilité HSLV2 - Jonathan Courtois
Interface graphique Difficultés d’une interface commune Différences d’affichage Textes (Polices, tailles, …) Positions Philosophie des utilisateurs Mac OS différente de celle de Windows Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
28
Stage portabilité HSLV2 - Jonathan Courtois
Interface graphique Couche présentation Idéalement une interface graphique pour chaque OS Permet de respecter la philosophie des différentes plateformes Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
29
Stage portabilité HSLV2 - Jonathan Courtois
Avantage de Qt Développement rapide grâce aux classes de Qt Module d’envoi de requêtes : QNetwork Lecture des fichiers de configuration : QSettings Gestion de threads : QThread Chargement des librairies dynamiques : QLibrary Mini navigateur web : QWebKit Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
30
Stage portabilité HSLV2 - Jonathan Courtois
Déploiement Windows Librairies dynamiques Installeur NSIS Mac OS X Utilisation d’outils Mac OS otool install_name_tool Installation par Drag & Drop Autres installeurs Iceberg, … Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
31
Stage portabilité HSLV2 - Jonathan Courtois
Qt Creator Avantages Multi-OS Fichiers de projets Combinaison des fichiers projets et Cmake Utilisation possible de macros spécifiques Designer intégré Debugger pour GCC et Visual Gestion de configurations (SVN, Git, …) Interface très intuitive Inconvénients Encore jeune (sortie en mars 2009) Fonctionnalités restreintes Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
32
Conclusion
33
Stage portabilité HSLV2 - Jonathan Courtois
Conclusion Technique Pensée une application multi-OS en amont Architecture en couche primordiale (cas de plusieurs IHM) Risques limités grâce à l’utilisation de Qt, Qmake et plusieurs compilateurs (gcc et visual compiler) Stage Compétences scolaires : C++, UML, Qt Phases de développement rapide Compétences acquises : Intégration continue, tests unitaires, développement sous Mac OS X, problématiques de portabilité Intégration au sein d’une grande équipe dans une société de service Contact avec différents acteurs : architectes, développeurs, intégrateurs, … Lundi 14 septembre 2009 Stage portabilité HSLV2 - Jonathan Courtois
34
Questions
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.