Applications Web principalement dans les technologies Java EE

Présentation de l’entreprise

Sopra-Steria et l’environnement ESN (ex-SSII)

Sopra-Steria, leader européen de la transformation numérique, propose l’un des portefeuilles d’offres les plus complets du marché : conseil, intégration de systèmes, édition de solutions « métier, infrastructure management et business process services ».
Il apporte ainsi une réponse globale aux enjeux de développement et de compétitivité des grandes entreprises et organisations. Sopra-Steria accompagne ses clients dans leur transformation et les aide à faire le meilleur usage du numérique. Grâce à une forte proximité avec ses clients, le groupe est en mesure d’innover continuellement pour assurer la pertinence de ses offres face aux enjeux stratégiques de chacun de ces marchés verticaux.
Le groupe s’appuie sur plus de 38 000 collaborateurs répartis dans plus de 20 pays à travers le monde. Le groupe affiche un chiffre d’affaires de 3,6 milliards d’euros en 2015. Mais le découpage régional est important, ainsi la division Sud-Est de la France où j’ai effectué mon stage compte environ mille personnes dont la moitié travaille sur le site d’Aix en Provence. Le site d’Aix en Provence est divisé en trois bâtiments séparés qui hébergent maintenant trois agences : Conseil, SIG et IDEA. Tout mon stage s’est déroulé dans les bureaux de l’agence IDEA.

Le client : Dassault Aviation

Dassault Aviation est un constructeur et un intégrateur français d’avions dans le domaine civil et militaire. Le groupe se situe à la pointe mondiale de l’innovation technologique et de la maîtrise des systèmes embarqués. De constructeur d’avions reconnu depuis maintenant un siècle (1916), son rôle est désormais devenu celui d’architecte industriel intégrateur de systèmes complexes.
Dassault Aviation est un client important de Sopra-Steria qui lui a confié la maintenance en conditions opérationnelle de ses quatre applications de gestion des essais. Ce client représente 19% de l’activité de l’agence IDEA (Ex-agence Aéroline). Il est deuxième après le plus gros client : Airbus Group. Les locaux du client sont situés à Istres, sur la base aérienne militaire 125 à 40km d’Aix en Provence.

Présentation du projet

Le projet : Tierce Maintenance Applicative pour la Direction des Moyens d’Essai Dassault

Le projet sur lequel j’ai travaillé est une TMA pour la Direction des Moyens d’Essai (DME) de l’entreprise Dassault Aviation. Cela consiste donc à assurer le bon fonctionnement des applications, corriger les anomalies rencontrées le plus rapidement possible et à ajouter de nouvelle fonctionnalités. Dassault Aviation a chargé Sopra-Steria de la maintenance des quatre applications suivantes: OGDE, GMCE, BDE et FEI. Ces quatre applications sont fortement liées et permettent de suivre tout un processus de gestion des essais en vol ou sur bancs d’essai réalisés sur les avions Dassault Aviation (rafale, mirage2000, neuron, etc..).

OGDE (Outil de Gestion des Données d’Essai)

Les tests des pièces commencent sur banc d’essai pour des raisons évidentes de coût et de maîtrise du risque. Les pièces critiques peuvent dysfonctionner sans entraîner de crash d’avion, et la planification d’un essai sur banc est plus simple que de faire décoller un avion. OGDE est une application permettant de gérer tout le processus de gestion des données récoltées suite aux essais effectués sur les pièces des avions. Banc d’essai.

Déroulement du stage, objectifs et responsabilités

Premier pas dans l’entreprise

Mes premiers jours dans l’entreprise ont été très actifs. En effet, entre la découverte d’un nouveau lieu de travail, de nombreuses informations à retenir sur le groupe et le projet, un nouvel environnement fonctionnel et technique à maitriser, les journées ont été intenses. Néanmoins, l’équipe m’a épaulé du mieux qu’elle a pu et mon chef de projet m’a directement mis en immersion en me confiant le développement d’un script utilitaire pour le projet. Ce script linux a pour but de mettre à jour notre base de données locale. Ce développement mineur s’est révélé être un vrai gain de temps par la suite de mon stage.
L’apprentissage de l’environnement technique et fonctionnel a requis beaucoup de temps. En effet l’industrialisation d’un projet informatique donne une toute autre dimension au travail de développeur. Par exemple, la notion de versionning d’un projet que je n’avais pas acquise pendant ma formation m’a confronté à utiliser des logiciels que je ne maîtrisais pas (git, svn, tortoiseSVN). Également, je n’avais pas la notion de contrôle et test du code grâce à des outils automatisés (Jenkins, Sonar).

Objectifs du stage et d’un ingénieur développeur

Aujourd’hui au sein du projet, j’ai la responsabilité du développement de plusieurs lots d’évolution et de correction sur l’ensemble des applications ainsi que la reprise de plusieurs applications d’un autre projet au sein du groupe. Mon travail ne s’arrête pas seulement à développer mais à en suivre tout le déroulement. Entre rédaction des spécifications fonctionnelles, étape de test, suivi des versions et développement, mon travail reste très varié au quotidien.

Estimer son temps de travail

Pour chacune des tâches réalisées j’ai tenu à jour un fichier Excel où je consignais semaine par semaine le temps passé sur chaque tâche et le temps restant estimé pour finir (RAE). Le RAE dans les ESN est l’indicateur principal de suivi du projet utilisé pour le pilotage. Il permet de s’assurer que l’on va respecter les différents jalons (livraisons) et identifier d’éventuels problèmes tels que la non adéquation d’une personne. Cela peut arriver si le profil n’est pas adapté à la tache par exemple, ce qui entraîne des retards.
Le fait de tenir à jour ce tableau me permettait d’essayer d’estimer le temps de développement en fonction de moi, puis en fonction du temps réellement passé de voir un éventuel écart. Le but est double : mieux connaître ses capacités et permettre au chef de projet de vérifier la compréhension de la tâche. Par exemple si j’estime qu’une tâche durera 4 jours et que le chef de projet l’a estimé à 0.5 jours, alors j’ai sûrement mal compris le travail à faire, ou alors je n’ai pas vu qu’il y avait déjà un module existant qui fait le gros du travail.

Écrire un code de qualité

L’objectif principal d’un développeur est de produire un travail de qualité. Pour cela, avant chaque livraison le chef de projet fait une passe de qualification pour identifier le plus d’erreurs. Une fois que tout est corrigé, la livraison peut avoir lieu. L’objectif est de n’avoir aucun retour de la part du client : l’application ne doit jamais s’arrêter et afficher des messages d’erreurs quand quelque chose se passe mal. Pour atteindre cet objectif je devais m’appuyer sur les développeurs du projet, expert niveau technique pour valider mes choix d’architecture. En effet il est important de bien structurer le code pour le rendre robuste et pour que l’ajout futur de composants par-dessus soit aussi robuste.

Participer à la vie du projet

Le projet est piloté par le chef de projet, qui est notamment chargé de déterminer la rentabilité du projet. Ainsi chaque mois, tous les collaborateurs de Sopra-Steria saisissent leur CRA (Compte Rendu d’Activité) en détaillant pour chaque jour quel type de tâche ils ont effectué. Il y a plusieurs catégories de tâches : Pilotage, spécifications, architecture, développement, test. Chaque catégorie est associée à un taux journalier différent, ce qui permet de calculer le budget global du projet. En fonction de la rémunération de chaque collaborateur participant au projet, on peut déduire la rentabilité du projet.

Comprendre le métier du client

En effet, durant ce stage j’ai compris que l’essentiel du travail consiste à avoir la capacité de compréhension d’un domaine au niveau fonctionnel. Le développement proprement dit n’est qu’une petite part du métier d’une société de service. Un client est satisfait par le fonctionnement de l’application et non pas par la qualité du code écrit. Cependant, une bonne architecture initiale est primordiale pour obtenir une application efficace et évolutive.

Analyse du stage

Enrichissement social

Sur le plan humain, l’environnement de travail en ESN est enrichissant du fait de la diversité des projets qui sont menés au sein du même lieu, et de la même agence. J’ai pu rencontrer des collaborateurs qui travaillaient sur des technologies différentes (C#, C++, Client Lourd, .NET, Outils BI, Netezza, …) et pour des clients différents (CEA, ITER, Arcelor-Mittal, Française des Jeux, Pôle Emploi). Cette diversité m’a montré les différences entre les projets, les clients, leurs exigences au niveau qualité de code, langue de développement, etc. Par exemple dans le projet Arcelor, tous les noms de variable, de classe et les commentaires doivent être écrits en Français.
C’est une règle à respecter strictement. Alors que dans mon projet, aucune langue n’est obligatoire, et les noms sont choisis pour être cohérent avec le reste de l’application.
De plus, régulièrement pendant mon stage le repas de midi se faisait au restaurant. L’ambiance était agréable, et permettait de faire une vraie pause pendant la journée. Le lien entre personnes du projet est devenu ainsi beaucoup plus fort.
D’autres évènements internes à l’entreprise comme un « Battle Code » rapprochent les employés.
Cette soirée par exemple consistait en équipe de quatre personnes à relever le plus de défis de programmation en 90 minutes. Indépendamment du Comité d’Entreprise, les assistantes aux Ressources Humaines, et des employés ont organisé plusieurs fois un apéritif le soir dans le hall de l’agence où chacun apporte à manger ou à boire. Cela permet de se connaître mieux entre personnes de la même agence. Ceux qui viennent à l’apéritif avec nous sont d’accord sur ce point.

Enrichissement technique

Mis à part la bonne ambiance de travail, ce stage m’a apporté des connaissances et des compétences techniques supplémentaires.
J’ai découvert trois applications Java J2EE de grande envergure, architecturées de manière différentes, grâce à des Framework plus ou moins récents : Spring 1 à 2 ; Struts 1 à 2 ; Hibernate 2 à 3. Cela m’a permis d’expérimenter la nécessité absolue de penser l’architecture des applications de manière modulaire et cloisonnée. Beaucoup de Design Patterns sont utilisés dans les applications pour les rendre maintenable et pour que le code soit compréhensible.
Par ailleurs, le fait de travailler dans une entreprise de Services Numériques m’a appris à utiliser les ressources communes comme les serveurs d’application ou de bases de données. J’ai découvert comment sont structurés les fichiers sur le système UNIX du serveur mutualisé entre les projets. C’est lorsque l’on m’a demandé de migrer toutes les données de la base de données d’un serveur vers un autre que j’ai compris l’intérêt d’avoir des compétences d’ingénieur. J’ai dû avoir le recul suffisant pour comprendre la structure de la base de données existante et pouvoir recréer une structure identique sur le nouveau serveur. L’encadrement sur cette tâche m’a montré la démarche d’un ingénieur expérimenté pour résoudre ces problèmes.
Concernant la mise en commun des développements, le projet Dassault utilise le gestionnaire de version SVN. L’utilité générale de ce logiciel m’était inconnue mais grâce à ce stage j’ai pu réaliser des opérations avancées comme les Merge (fusion entre deux branches de développement). Cela m’a montré l’utilité de maintenir plusieurs branches de développement en même temps : pouvoir livrer au client des évolutions sur une nouvelle version tout en conservant l’environnement de la version actuelle pour corriger d’éventuelles anomalies prioritaires. Cette démarche est appliquée à tous les projets de Sopra-Steria et plus globalement pour l’ensemble des projets informatiques.

Acquisition des compétences professionnelles

Le professionnalisme se retrouve dans toutes les actions faites dans l’entreprise, de la tenue vestimentaire aux e-mails échangés.
Tout d’abord, la tenue vestimentaire est importante, comme la ponctualité, notamment lorsque le collaborateur rencontre son client. Une tenue très correcte est alors de mise. Je n’ai pas encore eu l’occasion de me rendre chez le client, faute d’habilitation dû à mon statut de stagiaire, mais je me suis senti concerné par cette règle tout au long du stage.
L’objectif de l’entreprise est de produire un travail efficace : de qualité et le plus rapidement possible. Sopra-Steria se conforme à la Certification ISO 9001 et CMMI, ce qui implique de faire très attention à la qualité du travail.
Pour cela, Sopra-Steria dispose de l’outil HP ALM qui permet de réaliser des campagnes de tests sur les applications. L’outil permet de générer rapidement un document formaté au style de l’entreprise contenant le détail de tous les tests passés, et les anomalies détectées.
Pour que ce document soit complet, il est important de mettre le plus de détails possible sur le type d’anomalie, le détail de l’erreur, la trace d’exécution, etc. Ainsi lorsque j’ai qualifié toute l’application BDE, j’ai prêté attention à détailler mes anomalies. Toujours dans l’optique de se conformer aux certifications de qualité, Sopra-Steria se doit d’assurer la traçabilité des informations et des documents projet. Dans le cadre du projet
Dassault, la traçabilité est assurée par SVN : les documents sont stockés sur le serveur SVN et chaque nouvelle version est ajoutée tout en conservant la précédente.
La plateforme d’intégration continue Jenkins contribue aussi à la traçabilité car elle permet notamment d’automatiser la livraison des versions de l’application au client. On peut donc livrer à nouveau une version antérieure en toute simplicité. Le livrable est toujours de la même forme et contient les mêmes types d’informations quel que soit la personne qui le génère, ce qui est un gros avantage et une marque de qualité pour le client.
Comme tout salarié (ou stagiaire) dans l’entreprise, chacun doit remplir chaque mois son CRA. La communication entre le chef de projet et le développeur doit permettre de définir le temps passé sur chaque type de tâche. La communication est essentielle au bon fonctionnement des entreprises.
Enfin dans un souci d’harmonisation du format des documents dans toute l’entreprise au niveau mondial, un outil spécifique intégré à Microsoft Office permet de gérer automatiquement le format des polices de caractères dans les documents, le format des puces, des titres et du sommaire. J’ai réalisé mes rapports de stage et tous les autres documents internes avec cet outil qui s’avère très pratique. Par ailleurs les mails sont aussi homogénéisés au niveau de la signature. Chaque collaborateur ayant le même style, l’entreprise devient plus cohérente et donc professionnelle.

Conclusion

Ce stage a été pour moi une véritable réussite. J’ai appris au cours de six dernier mois énormément du métier d’un développeur informatique. J’ai apprécié être entouré de gens socialement et techniquement riches qui ont su prendre le temps de m’épauler pour me garantir une formation de qualité. J’ai eu la chance de travailler et d’observer des projets innovants développés pour des clients importants. Aujourd’hui il me reste encore beaucoup d’aspect à découvrir et à améliorer dans mon travail. Néanmoins l’entreprise me confie de plus en plus de responsabilités sur de nouveaux projets, ce qui est très encouragent pour moi. De plus, Sopra-Steria a su me faire confiance et m’a donc fait une proposition d’embauche pendant mon stage que j’ai acceptée. Je vais donc pouvoir continuer à progresser techniquement dans un environnement qui me plaît.

Résumé et Abstract

Résumé

J’ai effectué mon stage de fin d’étude au sein de l’entreprise Sopra-Steria, leader de la transformation numérique en Europe. J’ai été intégré dans le projet pour la Direction des Moyens d’Essais de l’entreprise Dassault Aviation, leader mondial dans le domaine de l’aviation. Le projet est une Tierce Maintenance Applicative pour quatre applications Web principalement dans les technologies Java EE. J’ai découvert pendant ce stage, tous les aspects du travail de développeur informatique. J’ai eu la chance d e rencontrer des personnes qui ont su m’intégrer tout au long de mon stage. J’ai pu découvrir les bonnes et mauvaises pratiques en matière de développement. Ce stage a été un vrai gain d’expérience pour moi et je suis aujourd’hui très heureux de pouvoir continuer ma formation au sein de cette entreprise.

Abstract

I carried out my final internship study within the company Sopra-Steria, digital transformation leader in Europe. I was integrated into the project to the management of testing resources of the company Dassault Aviation, a global leader in the field of aviation. The project is an application management for four Web applications primarily in Java EE technologies. I found out during this internship, all aspects of the work of software developer. I had the chance to meet people who have integrated me throughout my internship. I discovered the good and bad practices in development.
This internship was a real gain experience for me and I am now very happy to continue my formation in this company.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1. Introduction 
2. Présentation de l’entreprise 
2.1. Sopra-Steria et l’environnement ESN (ex-SSII)
2.2. Le client : Dassault Aviation
3. Présentation du projet 
3.1. Le projet : Tierce Maintenance Applicative pour la Direction des Moyens d’Essai Dassault
3.2. Présentation de l’équipe
4. Déroulement du stage, objectifs et responsabilités 
4.1. Premier pas dans l’entreprise
4.2. Objectifs du stage et d’un ingénieur développeur
4.2.1. Estimer son temps de travail
4.2.2. Écrire un code de qualité
4.2.3. Participer à la vie du projet
4.2.4. Comprendre le métier du client
4.3. Résultats obtenus
5. Analyse du stage 
5.1. Enrichissement social
5.2. Enrichissement technique
5.3. Acquisition des compétences professionnelles
6. Conclusion 
7. Résumé et Abstract 
7.1. Résumé
7.2. Abstract
8. Glossaire

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *