Salah Rapport
Salah Rapport
Salah Rapport
pour obtenir
Par :
Le 10 juillet 2023
Devant le jury composé de :
Pour leur amour, leurs sacrifices leur soutien et leur dévouement. Il n’y a pas de mots qui puissent exprimer
toute ma joie, ma gratitude et reconnaissance pour tout ce qu’ils ont fait pour moi. Que Dieu leur accorde
santé, bonheur et longue vie.
Merci de votre tendresse et de votre affection. Je vous souhaite tout le bonheur et la réussite
Pour l’amitié qui nous a unis et pour tous les merveilleux moments et les souvenirs partagés
Au personnel de DXC
Pour leur soutien et leur accueil aussi je tiens à remercier mon directeur de projet M. BELGHAZI Younes, pour
sa guidance experte et ses conseils éclairés. Votre expertise et votre engagement ont été une source
d'inspiration pour moi
Au personnel de l’ISGA
Je tiens de remercier mes professeurs pour leur enseignement tout au long mon parcours académique à M.
BAINA Karim pour son encadrement et ses consignes valorisante. Votre expertise, votre disponibilité et votre
dévouement ont été essentiels à ma réussite. Merci infiniment.
Je remercie tout d’abord Dieu le tout puissant qui m’a donné la force et la patience d’accomplir ce modeste
travail.
Je dédie ces lignes afin de remercier toutes les personnes qui ont collaboré dans mon projet de loin ou de
près, en offrant le climat idéal pour réaliser mon projet.
À Monsieur BAINA Karim pour son encadrement, son aide, sa patience, ses consignes et ses
recommandations qui ont été d’un grand intérêt et qui m’ont permis de mener à terme ce projet.
À Monsieur BELGHAZI Younes mon encadrant au sein de DXC Technology qui n’a jamais cessé de me faire
part de ses précieux conseils, fructueuses orientations, le partage de son expertise au quotidien et le temps
qu’il a bien voulu me consacrer.
À tous les membres du jury Pr Karim BAINA , Pr Mohammed BAIDADA , Pr Kaoutar EL HANDRI , Pr Siham
LAMZABI et Pr Younes BELGHAZI. retrouvent ici l’expression de ma reconnaissance pour avoir accepté
d’évaluer mon travail.
Mes remerciements vont également à L'Institut supérieur d'ingénierie et des affaires, sa direction et
particulièrement l’ensemble du corps professoral de la filière Génie Informatiques, pour la qualité de leur
enseignement, et à DXC Technology de Rabat pour ses grands efforts pour m’assurer un meilleur
environnement de travail.
Résumé
Le présent rapport est le fruit du travail réalisé pendant mon stage de fin d’étude au sein de l’entreprise
DXC Technology visant à l’exploitation des connaissances acquises durant ma formation en filière génie
informatiques.
Au cours de ces 4 mois de stage j’ai principalement travaillé sur la réalisation de NGE-Project qui consiste à
mettre en place une application qui lance et supervise des batchs de nuit.
Pour concevoir et développer cette application, le traitement du sujet est déroulé suivant nombreuse
étapes
Tout d'abord j’ai commencé par analyser le besoin fonctionnel, puis le modéliser selon le langage UML,
après l'implémentation qui est réalisée selon le langage de programmation JEE en s'appuyant en particulier
sur le Framework Spring Boot en backend et HTML, CSS, JavaScript, TypeScript à l’aide du Framework
Angular coté frontend, par rapport au SGBD j’ai opté pour PostgreSQL et un design pattern MVC.
Table de matière
Dédicace ............................................................................................................................................................................................. 2
Remerciements ..................................................................................................................................................................................... 3
Résumé ............................................................................................................................................................................................... 4
Liste des figures..................................................................................................................................................................................... 9
Liste des Abréviations........................................................................................................................................................................ 10
Introduction Générale .............................................................................................................................................................. 11
Chapitre I : Contexte général et Analyse de projet .......................................................................................................... 12
1.1. Présentation de l’entreprise ........................................................................................................................................ 13
1.2. Historique ............................................................................................................................................................................ 13
1.3. CDG ET DXC TECHNOLOGY .......................................................................................................................................... 13
1.4. Chiffre clés ........................................................................................................................................................................... 14
1.5. Mission.................................................................................................................................................................................. 14
1.6. Métier .................................................................................................................................................................................... 14
1.7. Cadre du Stage ................................................................................................................................................................... 14
1.7.1 Introduction ............................................................................................................................................................... 14
1.7.2 Problématique ........................................................................................................................................................... 15
1.7.3 Identification des besoins fonctionnels .......................................................................................................... 15
1.7.4 Cahier des charges ................................................................................................................................................... 15
1.7.5 Identification des acteurs ..................................................................................................................................... 16
1.8. Conclusion ........................................................................................................................................................................... 16
Chapitre II : Etude Conceptuelle.............................................................................................................................................. 17
2.1 Introduction ........................................................................................................................................................................ 18
2.2 Langage UML ....................................................................................................................................................................... 18
2.3 Conception détaillée......................................................................................................................................................... 18
2.3.1 Diagramme de cas d’utilisation du projet ....................................................................................................... 18
2.3.2 Scénarios des cas d’utilisations ............................................................................................................................. 19
2.3.3 Description textuelle des cas d’utilisations .................................................................................................... 20
2.3.4 Diagramme de classes du projet ........................................................................................................................... 26
2.3.5 Diagramme de séquences de cas d’utilisation<<S’authentifier>> ............................................................ 26
2.3.6 Diagramme d’activités de cas d’utilisation<<s’authentifier>> .................................................................. 27
2.3.7 Diagramme de séquences de cas d’utilisation<<Upload script>>............................................................. 27
2.3.8 Diagramme d’activité de cas d’utilisation<<Upload script>> .................................................................... 28
2.3.9 Diagramme de séquences de cas d’utilisation<<Modifier script>> .......................................................... 28
2.4.1 Diagramme d’activités de cas d’utilisation<<Modifier script>> ............................................................... 29
2.4.2 Diagramme de séquence de cas d’utilisation<<Annuler exécution script>> ........................................ 29
2.4.3 Diagramme d’activité de cas d’utilisation<<Annuler exécution script>> .............................................. 30
2.4.4 Diagramme de séquence de cas d’utilisation<<Consulter liste des scripts chargés>> ...................... 30
2.4.5 Diagramme d’activité de cas d’utilisation<<Consulter liste des scripts chargés >> .......................... 31
2.5. Conclusion ........................................................................................................................................................................... 31
Chapitre III : Réalisation du projet ......................................................................................................................................... 32
3.1. Introduction........................................................................................................................................................................ 33
3.2. Les technologies utilisées ............................................................................................................................................. 33
3.2.1. IntelliJ IDEA ................................................................................................................................................................ 33
3.2.2. Java ................................................................................................................................................................................. 33
3.2.3 PostgreSQL................................................................................................................................................................... 34
3.2.4 Hibernate ...................................................................................................................................................................... 35
3.2.5 Apache Tomcat ........................................................................................................................................................... 35
3.2.6 Maven ............................................................................................................................................................................. 36
3.2.7 Spring boot................................................................................................................................................................... 36
3.2.8 Spring Sécurité ........................................................................................................................................................... 37
3.2.9 Design Pattern MVC ................................................................................................................................................. 37
3.3.1 ChartJS ........................................................................................................................................................................... 38
3.3.2 HTML .............................................................................................................................................................................. 38
3.3.3 CSS ................................................................................................................................................................................... 39
3.3.4 JavaScript ...................................................................................................................................................................... 39
3.3.5 Bootstrap ...................................................................................................................................................................... 40
3.3.6 Angular .......................................................................................................................................................................... 40
3.3.7 Spring Actuator .......................................................................................................................................................... 40
3.3.8 Quatrz............................................................................................................................................................................. 41
3.4. Architecture application................................................................................................................................................ 41
3.5. Interfaces ............................................................................................................................................................................. 42
3.5.1 Login .............................................................................................................................................................................. 42
3.5.2. Espace Administrateur .......................................................................................................................................... 43
3.5.3. Page Home .................................................................................................................................................................. 43
3.5.4. Page Batch ................................................................................................................................................................... 43
3.5.5. Page Script .................................................................................................................................................................. 44
3.5.6. Voir détail de script ................................................................................................................................................. 44
3.5.7. Modification de script............................................................................................................................................. 45
3.5.8. Planifier et Exécuter Script .................................................................................................................................. 45
3.5.9. Consulter Logs ........................................................................................................................................................... 46
3.6.1. Page Monitoring........................................................................................................................................................ 47
3.6.2. Editer Profile .............................................................................................................................................................. 48
3.6.3. Ajouter nouveau compte ....................................................................................................................................... 49
3.7. Conclusion ........................................................................................................................................................................... 49
Conclusion Générale et Perspective..................................................................................................................................... 50
Bibliographie.................................................................................................................................................................................... 51
Liste des tableaux
Page 8 sur 51
Liste des figures
Figure 1 : Diagramme de cas d’utilisation ............................................................................................... 18
Figure 2 : Diagramme de classe .............................................................................................................. 26
Figure 3 : Diagramme de séquence de cas d'utilisation<<S'authentifier>> ................................................ 26
Figure 4 : Diagramme d'activité de cas d'utilisation<<S'authentifier>> .................................................... 27
Figure 5 : Diagramme de séquence de cas d'utilisation<<Upload script>> ................................................ 27
Figure 6 : Diagramme d’activité de cas d'utilisation<<Upload script>> ..................................................... 28
Figure 7 : Diagramme de séquence de cas d'utilisation<<Modifier script>> .............................................. 28
Figure 8 : Diagramme d’activités de cas d'utilisation<<Modifier script>> ................................................. 29
Figure 9 : Diagramme de séquence de cas d'utilisation<<Annuler exécution script>> ................................ 29
Figure 10 : Diagramme d’activité de cas d'utilisation<<Annuler exécution script>> .................................. 30
Figure 11 : Diagramme de séquence de cas d'utilisation<<Consulter liste des scripts chargés >> ............... 30
Figure 12 : Diagramme d’activité de cas d'utilisation<<Consulter liste des scripts chargés >>.................... 31
Figure 13 : IntelliJ IDEA ........................................................................................................................... 33
Figure 14 : Java ...................................................................................................................................... 34
Figure 15 : PostgreSQL ........................................................................................................................... 34
Figure 16 : Hibernate.............................................................................................................................. 35
Figure 17 : Apache Tomcat ..................................................................................................................... 35
Figure 18 : Maven .................................................................................................................................. 36
Figure 19 : Spring Boot ........................................................................................................................... 36
Figure 20 : Spring Security ..................................................................................................................... 37
Figure 21 : Design Pattern MVC .............................................................................................................. 37
Figure 22 : ChartJS.................................................................................................................................. 38
Figure 23 : HTML .................................................................................................................................... 38
Figure 24 : CSS ....................................................................................................................................... 39
Figure 25 : JavaScript ............................................................................................................................. 39
Figure 26 : Bootstrap .............................................................................................................................. 40
Figure 27 : Angular ................................................................................................................................ 40
Figure 28 : Spring actuator ..................................................................................................................... 40
Figure 29 : Quartz .................................................................................................................................. 41
Figure 30 : Architecture Application ....................................................................................................... 41
Figure 31 : Login..................................................................................................................................... 42
Figure 32 : HomePage ............................................................................................................................ 43
Figure 33 : Page de Batchs...................................................................................................................... 43
Figure 34 : UploadScript1 ...................................................................................................................... 44
Figure 35 : UploadeScript2 ..................................................................................................................... 44
Figure 36 : Voir detail ............................................................................................................................. 44
Figure 37 : Editer script........................................................................................................................... 45
Figure 38 : Planifier Et Exécuter script ..................................................................................................... 45
Figure 39 : Liste de logs .......................................................................................................................... 46
Figure 40 : Dossier Logs .......................................................................................................................... 46
Figure 41 : Dossier Logs --- Fichier.txt ..................................................................................................... 47
Figure 42 : Page Monitoring ................................................................................................................... 48
Figure 43 : Insérer nouveau membre ....................................................................................................... 49
Page 9 sur 51
Liste des Abréviations
Page 10 sur 51
Introduction Générale
Dans le cadre de mon stage de fin d'études de 4 mois chez DXC Technology, j'ai travaillé sur un projet visant
à mettre en place un système de lancement et de supervision des batchs de nuit. Actuellement, ces batchs
sont exécutés à l'aide de scripts .bat directement sur le serveur. L'objectif de mon projet était de développer
une application permettant de gérer et de suivre ces batchs de manière plus efficace et de superviser des
bases de données. Ce rapport présente en détail le travail réalisé, les fonctionnalités implémentées et les
résultats obtenus.
L'automatisation des batchs joue un rôle crucial au sein des entreprises en permettant l'exécution efficace
de tâches répétitives et en optimisant les processus. Les batchs, ou lots, consistent à regrouper des tâches
similaires et à les traiter en une seule opération automatisée. Cette approche présente de nombreux
avantages largement utilisées dans différents domaines de l'entreprise.
Le présent projet de fin d’études permet d’offrir, un service assez raffiné, adéquat et répondant
particulièrement aux exigences de l’entreprise pour améliorer et faire évoluer leurs conditions de travail.
Dans ce cadre, j’étais conçu de mettre en place un système de lancement et de supervision des batchs.
Les différentes étapes suivies pour la réalisation de ce projet sont présentées autour de cinq chapitres.
D’abord, dans le premier chapitre consistera à introduire l’organisme d’accueil en marquant son historique
et ses différentes missions. Ensuite, Le deuxième chapitre j’ai présenté le cadre général du projet l’analyse et
la spécification des besoins dans lequel j’ai identifié les besoins fonctionnels et non fonctionnels que doit
satisfaire mon projet et les outils exploités pour le réaliser. Puis, le troisième chapitre sera dédié au cahier
des charges techniques. Quant au quatrième chapitre, il comportera la conception de la solution approuvée.
Ensuite, j’ai présenté dans le dernier chapitre la partie réalisation. Enfin, j’ai fini par une conclusion dans
laquelle je vais résumé la solution et exposer quelques perspectives futures.
Page 11 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET
Page 12 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET
DXC se positionne dans le domaine de la transformation numérique auprès des entreprises et des
gouvernements. L'entreprise compte 137 000 salariés et 6 000 clients, répartis sur plus de soixante-dix
pays.
1.2. Historique
CSC a été fondée en 1959 par Roy Nutt et Fletcher Jones.
• En 1962, l'entreprise enregistre un chiffre d'affaires annuel de plus d'un million de dollars. Six ans
plus tard, en 1968, elle devient la première compagnie de logiciels informatiques côté en bourse.
• En mai 2016, les activités de CSC sont fusionnées à celles de Hewlett Packard Enterprise, dans une
transaction d'une valeur estimée à 8,5 milliards de dollars. Cette association représente 37 % des
activités de HP Enterprise, pour un chiffre d'affaires de 4,7 milliards de dollars.
• Le 3 avril 2017 le groupe DXC Technology ouvre à la bourse de New York sous l'acronyme “DXC” et
intègre l'indice S&P 500.
• Le 5 juillet 2017, DXC Technology annonce le rachat de Tri bridge, intégrateur de Microsoft
Dynamics 365 comptant 740 salariés aux États-Unis et en Europe pour un montant de 152 millions
de dollars.
• Le 1er mars 2018, l'entreprise annonce le rachat de M-Power Solutions, partenaire Oracle opérant
en Australie et Nouvelle-Zélande.
En mars 2020, DXC annonce la vente de ses activités liées à la santé pour cinq milliards de dollars à Veritas
Capital.
La CDG, quant à elle, est une institution financière marocaine qui joue un rôle clé dans le développement
économique du pays. Elle soutient les entreprises marocaines dans divers secteurs et investit dans des
projets stratégiques. En collaborant avec DXC Technology, la CDG vise à renforcer le tissu économique du
Page 13 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET
1.5. Mission
DXC fournit les services informatiques dont les clients ont besoin pour moderniser leurs opérations et
favoriser l'innovation dans l'ensemble de leur parc informatique.
1.6. Métier
Pour offrir la meilleure solution globale à ses clients, DXC Technology a développé une expertise dans trois
métiers complémentaires : le conseil permet aux organisations d'anticiper les évolutions des marchés, de
redéfinir leur stratégie et d'adapter leurs modes de gestion et de management.
Dans le cadre de mon projet de fin d'études de 4 mois chez DXC Technology, j'ai eu l'opportunité de
travailler sur un projet passionnant visant à améliorer le processus de lancement et de supervision des
batchs de nuit. Ce projet s'inscrit dans le contexte d'une entreprise dynamique et spécialisée dans les
services informatiques, DXC Technology.
Au sein de DXC Technology, les batchs de nuit sont actuellement exécutés à l'aide de scripts .bat directement
sur le serveur. Cependant, cette approche présente certaines limitations et inefficacités en termes de
programmation, de suivi des logs, de planification et de gestion centralisée, ainsi que de gestion des
performances et des alertes en cas d'erreurs.
Afin de résoudre ces problèmes, j'ai été chargé de développer une application qui offrirait des
fonctionnalités avancées pour le lancement, la programmation, le suivi et la gestion des batchs de nuit. Cette
application devrait permettre à l'entreprise de gagner en efficacité, d'améliorer la visibilité des processus et
de prendre des décisions plus éclairées grâce à un suivi plus précis des performances et des volumes de
données.
Page 14 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET
Le présent rapport mettra en lumière les différentes étapes du projet, depuis l'analyse des besoins jusqu'à la
mise en production de l'application. Je présenterai en détail les fonctionnalités clés mises en œuvre,
notamment le lancement et la programmation des batchs, le suivi des logs, l'évolution des temps de
traitement par batch et le monitoring de la volumétrie de la base. De plus, j'expliquerai comment j'ai intégré
un système de gestion des alertes pour détecter les échecs ou les blocages des batchs, permettant ainsi une
réaction rapide et proactive de l'équipe de gestion.
Ce stage chez DXC Technology représente une excellente occasion d'appliquer mes connaissances théoriques
acquises tout au long de mon parcours universitaire, tout en développant de nouvelles compétences
techniques et en contribuant à la résolution de problèmes concrets au sein d'une entreprise réputée. Je suis
impatient de partager les détails de ce projet et les résultats obtenus dans ce rapport.
1.7.2 Problématique
La gestion des batchs est effectuée manuellement ce qui entraîne des retards, et une perte de temps et par
la suite un ralentissement de certaines activités au sein de l’entreprise.
De plus le fait de programmer plusieurs batchs et les exécuter manuellement, complique le suivi de leur
avancement de même à les gérer en cas d’échec. Et enfin, les informations liées à leur avancement n’est
point centralisée.
Toutes ces difficultés, rendent nécessaire l’installation d'un système de suivi de lancement des batchs de
nuit.
Les besoins fonctionnels représentent les principales fonctionnalités du système. Ces besoins proviennent
généralement de l’administrateur de la plateforme et les membres de l’équipe développeur.
Application web doit permet d’automatiser le système d’information et permet de :
• Faciliter la gestion des scripts .bat.
• Monitoring la volumétrie de la base des données.
• Le suivi des batchs et consultation des logs.
• La possibilité qu’un membre de planifier un script .bat et de lancer.
• Gérer les alertes de lancement en cas de blocage.
L’application de lancement et de supervision des batchs de nuit représente une solution web pour les
membres de DXC Technology .
L’application devrait permettre :
• Le lancement et la programmation des batchs.
• Le suivi des batchs et la consultation des logs.
• L’évolution des temps de traitement par batch.
Page 15 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET
L’efficacité opérationnelle, la cohérence des processus, l’économie des coûts et la réduction des erreurs
doivent être vérifiés par l’application.
Administrateur
Supprimer les scripts
1.8. Conclusion
Ce chapitre introduit le cahier des charges qui résume les exigences techniques que l’application doit
satisfaire.
Page 16 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Page 17 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
2.1 Introduction
Après une première étude que j’ai menée, j’ai officialisé le choix d’un certain nombre de techniques clés
pour mon projet. Ces techniques se basent sur la modélisation qui depuis longtemps une pratique
indispensable dans le développement.
Parmi ces techniques on peut citer la modélisation objet avec UML afin d’obtenir les résultats voulus et
atteindre les objectifs du projet.
Le langage UML est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une
méthode normalisée pour visualiser la conception d'un système.
Pour bénéficier de tous ces avantages, j’ai décidé d’utiliser pour la conception de notre application.
- Un diagramme de cas d'utilisation est un schéma visuel utilisé pour représenter les
interactions entre les utilisateurs (acteurs) et un système. Il aide à comprendre les différentes
fonctionnalités offertes par un système et les scénarios dans lesquels ces fonctionnalités
peuvent être utilisées.
Page 18 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Cas d’utilisation<<S’authentifier>>
- Ce Tableau présente la tache de chargement des scripts avec sa référence et son objectif.
- Ce Tableau présente la tache de modification des scripts avec sa référence et son objectif.
Page 19 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce Tableau présente la tâche « Annuler exécution script » avec sa référence et son objectif.
- Ce Tableau présente la tâche <<Consulter la liste des scripts uploader >> avec sa référence et son
objectif.
- Ce Tableau présente le Scenario d’authentification avec sa référence, les acteurs inclus, les
préconditions en plus les scenarios principaux et alternatives.
Page 20 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Préconditions :
a) Compte existant.
Post-conditions :
Scénario principale :
1. L’utilisateur saisit le login et le mot de passe
2. L’utilisateur clique sur Login.
3. Le système vérifie les données saisies.
4. Compte existe, redirection vers le menu principal et chargement des
privilèges.
5. Le système charge les privilèges et les données du compte courant.
Scénario alternative :
1. Le nom d’utilisateur ou le mot de passe erroné. Cet enchaînement démarre
au point 3.
2. Le système affiche un message d’erreur. Le scénario reprend au point 1.
Page 21 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Acteur : Membre
Préconditions :
Scénario principale :
1. Le membre choisit d’uploader un script.
2. Le système affiche le formulaire à remplir.
3. Le membre sélectionne le script à uploader.
4. Le système vérifie les données.
5. Le système enregistre le script dans la base de données.
Scénario alternative :
1. Champ obligatoire ou non vide. Cet enchaînement démarre au point 4.
2. Le système affiche un message d’erreur.
3. Le scénario reprend au point 2.
Page 22 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce Tableau présente le Scenario de modification de script avec sa référence, les acteurs inclus, les
préconditions en plus les scenarios principaux et alternatives.
Acteur : Membre
Préconditions :
Scénario principale :
6. Le membre sélectionne un script.
7. Le système affiche le formulaire à remplir.
8. Le membre saisit les nouvelles données.
9. Le système vérifie les données.
10. Le système enregistre les nouvelles mises à jour dans la base de données.
Scénario alternative :
4. Champ obligatoire ou non vide. Cet enchaînement démarre au point 4.
5. Le système affiche un message d’erreur.
6. Le scénario reprend au point 2.
Page 23 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce Tableau présente le Scenario d’annulation de script avec sa référence, les acteurs inclus, les
préconditions en plus les scenarios principaux et alternatives.
Acteur : Administrateur
Préconditions :
Scénario principale :
1. L’administrateur consulte la liste des scripts exécutés.
2. Le système affiche la liste des scripts exécutés.
3. L’administrateur sélectionne un script.
4. Le système affiche le détail du script sélectionné.
5. L’administrateur annule l’exécution du script sélectionné
6. Le système demande la validation de l’annulation.
7. L’administrateur valide l’annulation.
8. Le système annule l’exécution du script.
Scénario alternative :
9. Champ obligatoire ou non vide. Cet enchaînement démarre au point 4.
10. Le système affiche un message d’erreur.
11. Le scénario reprend au point 2.
Page 24 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce Tableau présente le Scenario d’annulation et exécution de script avec sa référence, les acteurs
inclus, les préconditions en plus les scenarios principaux et alternatives.
Acteur : Administrateur
Préconditions :
Scénario principale :
12. L’administrateur consulte la liste des scripts exécutés.
13. Le système affiche la liste des scripts exécutés.
14. L’administrateur sélectionne un script.
15. Le système affiche le détail du script sélectionné.
16. L’administrateur annule l’exécution du script sélectionné
17. Le système demande la validation de l’annulation.
18. L’administrateur valide l’annulation.
19. Le système annule l’exécution du script.
Scénario alternative :
20. Champ obligatoire ou non vide. Cet enchaînement démarre au point 7.
21. Le système affiche un message d’erreur.
22. Le scénario reprend au point 4.
Page 25 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce diagramme de classe j’ai opté pour 4 classes : User, Script, Log et TimerInfo dont chacune
possède ces propres attributs.
Page 26 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Page 27 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Page 28 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
Page 29 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
- Ce diagramme d’activités présente les différents évènements et taches qui se déroule lors
de l’annulation et l’exécution d’un script.
Figure 11 : Diagramme de séquence de cas d'utilisation<<Consulter liste des scripts chargés >>
Page 30 sur 51
CHAPITRE II ETUDE CONCEPTUELLE
2.4.5 Diagramme d’activité de cas d’utilisation<<Consulter liste des scripts chargés >>
- Ce diagramme d’activités présente les différents évènements et taches qui se déroule lors
de consultation de la liste des scripts chargés.
Figure 12 : Diagramme d’activité de cas d'utilisation<<Consulter liste des scripts chargés >>
2.5. Conclusion
Dans ce chapitre j’ai présenté les différentes digramme UML (diagramme de classe, cas d’utilisation,
d’activité et le diagramme de séquence) par rapport a tous les scénarios et les actions que j’ai dans
l’application.
Page 31 sur 51
CHAPITRE III REALISATION DU PROJET
Page 32 sur 51
CHAPITRE III REALISATION DU PROJET
3.1. Introduction
Après les deux chapitres précédents, j’arrive donc à la dernière phase qui rassemble toutes les informations et
réaliser le système. Je vais détailler tout ce que j’ai utilisé lors de ma réalisation ainsi que quelques captures
d’écrans de notre application, coté console et cote graphique.
3.2.2. Java
Page 33 sur 51
CHAPITRE III REALISATION DU PROJET
Figure 14 : Java
Java, un langage de programmation, a été introduit par Sun Microsystems. Ce travail a été initié par James
Gosling et la version finale de Java est sortie en 1995. Cependant, Java a été initialement publiée en tant que
composant du noyau Sun Microsystème plate-forme pour Java appelée J2SE ou Java 1.0.
La popularité croissante de Java, en tant que plate-forme et langage de programmation, a conduit au
développement de plusieurs outils et configurations, qui sont faits en gardant Java à l'esprit.
Par exemple, J2ME et J2EE sont deux de ces configurations. Les dernières versions de Java sont appelés Java
SE et Java EE ou Java ME au lieu de J2SE, J2EE et J2ME.
Le plus grand avantage d'utiliser la plate-forme Java est le fait qu'elle vous permet d'exécuter votre code à
toute machine. Il vous suffit donc d'écrire votre code une seule fois et de vous attendre à ce qu'il s'exécute
partout.
3.2.3 PostgreSQL
Figure 15 : PostgreSQL
PostgreSQL est un système de gestion de base de données relationnelle (SGBDR) open source et puissant. Il
est largement utilisé dans le développement d'applications web, de systèmes d'entreprise et d'autres
applications qui nécessitent un stockage et une gestion efficaces des données.
Page 34 sur 51
CHAPITRE III REALISATION DU PROJET
3.2.4 Hibernate
Figure 16 : Hibernate
Hibernate est une bibliothèque qui simplifie l'utilisation des bases de données relationnelles dans les
applications Java en présentant données relationnelles comme de simples objets Java, accessibles via un
gestionnaire de session, gagnant ainsi la description d'être un "Object/Relational Mapper", ou ORM. Il
fournit deux types d'interfaces de programmation : une interface "native Hibernate » et l'API Java
Persistance standard Java EE.
Le serveur Apache Tomcat est un conteneur d'applications Web open source basé sur Java qui a été créé
pour exécuter des applications Web servlet et Java Server Pages. Il a été créé sous l'Apache-Jakarta sous-
projet ; cependant, en raison de sa popularité, il est maintenant hébergé en tant que projet Apache distinct,
où il est pris en charge et amélioré par un groupe de bénévoles de la communauté Java open source.
Apache Tomcat est très stable et possède toutes les fonctionnalités d'un conteneur d'applications Web
commerciales vient encore sous licence Open Source Apache. Tomcat fournit également des fonctionnalités
supplémentaires qui rendent un excellent choix pour développer une solution d'application Web complète.
Certaines des fonctionnalités supplémentaires fournis par Tomcat en plus d'être open source et gratuits -
incluent l'application Tomcat Manager, implémentations de domaine spécialisées et vannes Tomcat.
Page 35 sur 51
CHAPITRE III REALISATION DU PROJET
3.2.6 Maven
Figure 18 : Maven
Apache Maven est un Framework de gestion de projet open source basé sur des normes qui simplifie la
création, les tests, le reporting et le packaging des projets. Initiale de Maven racines étaient dans le projet
Apache Jakarta Alexandria qui a eu lieu au début de 2000. Il était utilisé par la suite dans le projet Apache
Turbine. Comme beaucoup d'autres projets Apache à cette époque, le projet Turbine avait plusieurs sous-
projets, chacun avec son propre système de construction. À l'époque, il y avait un fort désir de développer
une façon standard de construire projets et de partager facilement les artefacts générés entre les projets. Ce
désir a donné naissance à Maven.
Spring Framework est un Framework d'application open source et un conteneur d'inversion de contrôle pour
la plate-forme Java. Les fonctionnalités de base du Framework peuvent être utilisées par n'importe quelle
application Java, mais il existe des extensions pour créer des applications Web en plus de la plate-forme Java
EE. Bien que le Framework n'impose aucun modèle de programmation spécifique, il est devenu populaire
dans la communauté Java comme alternative, remplacement ou même complément au modèle Enterprise
JavaBeans.
Spring aide les équipes de développement du monde entier à créer des systèmes et des applications JVM
simples, portables, rapides et flexibles. La mission du projet est d'aider les développeurs à construire une
meilleure entreprise.
Page 36 sur 51
CHAPITRE III REALISATION DU PROJET
Spring Security est un Framework de sécurité léger qui fournit une authentification et un support
d’autorisation afin de sécuriser les applications Spring. Il est livré avec des implémentations d’algorithmes de
sécurité populaires.
MVC est connu comme un modèle architectural, qui comprend trois parties Modèle, Vue et Contrôleur, ou
pour être plus exact, il divise l'application en trois parties logiques : la partie modèle, la vue et le
contrôleur. Il était utilisé pour les interfaces utilisateur graphiques de bureau, mais il est aujourd'hui utilisé
dans la conception d'applications mobiles et d'applications Web.
Page 37 sur 51
CHAPITRE III REALISATION DU PROJET
3.3.1 ChartJS
Figure 22 : ChartJS
Chart.js est une bibliothèque JavaScript open source gratuite pour la visualisation de données. Créée par le
développeur Web Nick Downie en 2013, la bibliothèque est maintenant maintenue par la communauté et
est la deuxième bibliothèque de graphiques JS la plus populaire sur GitHub par le nombre d'étoiles après
D3.js.
3.3.2 HTML
Figure 23 : HTML
HTML signifie Hypertext Markup Language et est un langage utilisé par le web programmeurs pour ajouter
du contenu à une page Web. Un langage de balisage est simplement un langage d'annotation d'un document
pour expliquer les différentes sections du texte sont et comment ils doivent être présentés. Par exemple, je
peux utiliser HTML pour préciser si le contenu doit être présenté sous forme de liste ou sous forme de
tableau.
Page 38 sur 51
CHAPITRE III REALISATION DU PROJET
3.3.3 CSS
Figure 24 : CSS
CSS signifie Cascading Stylesheet et est utilisé pour le style et la conception d'un site Internet. C'est l'un des
nombreux langages qu'un programmeur Web utilise pour créer un site Internet.
3.3.4 JavaScript
Figure 25 : JavaScript
JavaScript est un langage de programmation interprété, construit sur la norme ECMAScrit. La définition de la
langue est vraiment large puisqu'elle peut être définie comme une langue procédurale basée sur des
protocoles, impérative, faiblement typée et dynamique.
JavaScript a été conçu avec une syntaxe similaire à C, bien qu'il prenne des noms et des conventions du
langage de programmation Java. Cependant, malgré le nom Java et JavaScript ne sont pas liés et ont une
sémantique et des objectifs différents.
Page 39 sur 51
CHAPITRE III REALISATION DU PROJET
3.3.5 Bootstrap
Figure 26 : Bootstrap
Bootstrap est une collection d'outils utiles à la création du design (graphisme, animation et interactions avec
la page dans le navigateur, etc.) de sites et d'applications web. C'est un ensemble qui contient des
codes HTML et CSS, des formulaires, boutons, outils de navigation et autres éléments interactifs, ainsi que
des extensions JavaScript en option.
3.3.6 Angular
Figure 27 : Angular
Angular est une plateforme de développement, construite sur TypeScript. En tant que plateforme, Angular
comprend : Un cadre basé sur des composants pour la création d'applications web évolutives et une
collection de bibliothèques bien intégrées qui couvrent une grande variété de fonctionnalités, notamment le
routage, la gestion des formulaires, la communication client-serveur, etc…
Page 40 sur 51
CHAPITRE III REALISATION DU PROJET
Spring Boot Actuator est un sous-projet de Spring Boot Framework. Il comprend un certain nombre de
fonctionnalités supplémentaires qui m’ont aidé à surveiller et à gérer l'application Spring Boot. Il contient les
points de terminaison de l'actionneur (l'endroit où vivent les ressources). Je peux utilisé les points de
terminaison HTTP et JMX pour gérer et surveiller l'application Spring Boot. Si je veux obtenir des
fonctionnalités prêtes pour la production dans une application, je dois utilisé l’actionneur Spring Boot.
3.3.8 Quatrz
Figure 29 : Quartz
C’est un planificateur de tâches en Java, initié par feu OpenSymphony et aujourd’hui maintenu par
Terracotta.
Page 41 sur 51
CHAPITRE III REALISATION DU PROJET
L'architecture de l'application que j’ai développée repose sur une combinaison efficace de technologies,
mettant en œuvre Angular en tant que framework frontend, Spring Boot en tant que framework backend, et
PostgreSQL en tant que système de gestion de base de données. Cette architecture permet de créer une
application robuste et performante, offrant une expérience utilisateur fluide et une gestion efficace des
données.
Angular, en tant que framework frontend, offre une structure solide pour la création d'interfaces utilisateur
interactives. Il permet de développer des composants réutilisables, facilitant ainsi la maintenance et
l'évolutivité de l'application.
D'autre part, Spring Boot est utilisé comme framework backend pour la construction des services web et la
gestion de la logique métier. Spring Boot facilite la création de services RESTful et offre une intégration
transparente avec d'autres technologies telles que Spring Data JPA, qui est utilisé pour interagir avec la base
de données PostgreSQL.
Enfin, PostgreSQL est utilisé comme base de données pour stocker et gérer les données de l'application.
PostgreSQL est un système de gestion de base de données relationnelle reconnu pour sa stabilité, ses
performances et sa capacité à gérer des volumes importants de données.
3.5. Interfaces
3.5.1 Login
Dans cette interface, les différents acteurs saisissent leurs nom d’utilisation ainsi leurs mots de passe afin
d’accéder à leurs espaces de travail correspond.
Figure 31 : Login
Page 42 sur 51
Figure 31.
HomePageFigure 30.
Login
CHAPITRE III REALISATION DU PROJET
C’est un espace qui concerne l’administrateur de la plateforme, auquel il peut consulter l’état récapitulatif
de fonctionnement de la plateforme :
Un lien dirige vers une page représente des informations numériques concernant les différents types de
batch circulés dans l’ensemble de la plateforme. Ainsi les différents types de requêtes.
Figure 32 : HomePage
Cette page offre à l’administrateur de consulter les différentes informations concernant les batchs et
de les manipuler.
Figure 34 : UploadScript1
Figure 35 : UploadeScript2
Cet onglet représente les informations concernant le script sélectionné parmi la liste des scripts uploader.
Cette interface offre à l’administrateur la main pour modifier les informations du script uploader.
Le script sélectionner sera exécuter tous les 4 secondes tous les jours 24h/24h toute la semaine.
Page 45 sur 51
CHAPITRE III REALISATION DU PROJET
L’interface suivante permet à l’administrateur de consulter les différents logs de l’exécution de script. En
indiquant la date de début et la date de fin et les différents niveaux de logs : Debug, Info, Warn, Error.
Ses logs sont enregistrés dans un dossier appelé « logs » dans le bureau. Ce dossier est créé s’il n’existe pas
pour la première fois.
Page 46 sur 51
CHAPITRE III REALISATION DU PROJET
Cette interface offre à l’administrateur les différentes informations concernant la base des données, les
graphes correspondant aux requêtes établies par l’utilisateur courante et aussi la liste des requêtes.
Page 47 sur 51
CHAPITRE III REALISATION DU PROJET
C’est une page au niveau de laquelle l’administrateur peut modifier ses informations personnelles
concernant son compte.
Page 48 sur 51
CHAPITRE III REALISATION DU PROJET
Cette interface est réservée pour l’insertion de nouveau membre. Voici ci-dessous le formulaire d’insertion.
3.7. Conclusion
Dans ce chapitre j’ai présenté les différentes interfaces composant l’application de chaque acteur
(administrateur, membre de groupe).
Page 49 sur 51
CONCLUSION GENERALE
On souligne en dernier lieu qu'il est difficile d’établir une solution complète qui s'adapte à ce sujet, le monde
informatique est vaste et cette solution reste une proposition parmi plusieurs.
Ce projet a regroupé les différentes étapes de l’analyse, la conception et la réalisation de cette application
web : une application de lancement et supervision des batchs de nuit.
En premier lieu, j’ai effectué la conception par le formalisme UML et la mises-en œuvre de base de données
PostgreSQL avec le gestionnaire PgAdmin, le développement back end par le Framework Spring Boot, la
sécurité par Spring Sécurité et front end par le Framework Angular et le Framework Bootstrap.
Ce projet a fait l’objet d’une expérience intéressante, qui m’a permis de jouer le rôle d’un ingénieur logiciel
Full-Stack et d’améliorer les connaissances et les compétences dans le domaine de la conception, la
programmation des systèmes d’informations et la programmation des applications web.
Enfin et en envisageant l'avenir de notre application de lancement et de supervision des batchs de nuit,
plusieurs perspectives s'offrent. Tout d'abord, je pourrais j’explorer l'intégration de technologies émergentes
telles que l'intelligence artificielle conversationnelle ou l'automatisation basée sur la reconnaissance vocale
pour faciliter l'interaction avec l'application. De plus, l'ajout de fonctionnalités de gestion des performances
en temps réel, telles que la surveillance de la consommation de ressources ou la prédiction des goulots
d'étranglement potentiels, pourrait améliorer davantage l'efficacité opérationnelle. En outre, l'intégration
avec des systèmes externes tels que les plateformes cloud ou les outils de gestion des incidents permettrait
une collaboration transparente entre différentes équipes et processus. Enfin, l'adaptation de l'application
pour prendre en charge les environnements distribués et les systèmes distribués pourrait répondre aux
besoins d'entreprises en expansion et leur permettre de gérer des charges de travail plus complexes. Ces
perspectives offrent un potentiel d'amélioration continue et de croissance pour notre application, renforçant
ainsi sa valeur et son utilité pour les opérations nocturnes.
Page 50 sur 51
Bibliographie
[2] S. Sanderson, Java For Beginners A Simple Start To Java Programming, Caroline du Sud, États-Unis:
CreateSpace Independent Publishing Platform, 2014.
[3] R. J. Dyer, Learning PostgreSQL, Gravenstein Highway North Sebastopol: O’Reilly Media, 2015.
[4] J. L. a. D. M. Joseph B. Ottinger, Beginning Hibernate For Hibernate 5, Youngsville, North Carolina:
Apress, 2016.
[12] Jamie, Learn CSS In One Day and Learn It Well, 2015.
Page 51 sur 51