Vous êtes sur la page 1sur 51

Mémoire du Projet de Fin d’Etudes

Présenté et soutenu à l’ISGA Rabat

pour obtenir

Le Diplôme d’Ingénieur d’Etat en


Ingénierie des Systèmes Informatiques
Option : Ingénierie du Développement Web et Mobile

Par :

M. Salah Eddine ZAFATI

Développement d’une application de


lancement et de supervision des
batchs de nuit

Le 10 juillet 2023
Devant le jury composé de :

▪ Pr. Karim BAINA (ENSIAS) : Encadrant


▪ Pr. Mohammed BAIDADA (ISGA) : Président
▪ Pr. Kaoutar EL HANDRI (ISGA) : Examinateur
▪ Pr. Siham LAMZABI (ISGA) : Examinateur
▪ Pr. Younes BELGHAZI (DXC) : Encadrant

L’Institut Supérieur d’ingénierie et des Affaires - ISGA Rabat


27, Avenue Oqba – Agdal – 10090 RABAT
Tél : 0537 77 14 68/69/70
Dédicace

À mes chers parents

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.

À mon oncle et ma sœur

Merci de votre tendresse et de votre affection. Je vous souhaite tout le bonheur et la réussite

À mes chers amis

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.

À tous les gens qui m’aiment

Une profonde gratitude


Remerciements

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

Tableau 1 : Identification des acteurs...................................................................................................... 16


Tableau 2 : Scénario de cas d'utilisation<<S'authentifier>> ...................................................................... 19
Tableau 3 : Les scénarios de cas d'utilisation <<Uploder script>> ............................................................. 19
Tableau 4 : Les scénarios de cas d'utilisation<<Modifier script>> ............................................................. 19
Tableau 5 : Scénario de cas d'utilisation <<annuler exécution script>> ..................................................... 20
Tableau 6 : Scénario de cas d'utilisation <<annuler exécution script>> ..................................................... 20
Tableau 7 : Description de cas d'utilisation<<S'authentifier>> ................................................................. 21
Tableau 8 : Description de cas d'utilisation<<Uploader script> ................................................................. 22
Tableau 9 : Description de cas d'utilisation<<Modifier Script>> ................................................................ 23
Tableau 10 : Description de cas d'utilisation<<Annuler Script>> ............................................................... 24
Tableau 11 : Description de cas d'utilisation<<Annuler et Executer script>> ............................................. 25

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

DXC Delivering excellence to our Customers and colleagues

UML Unified Modeling Language

JEE Java Enterprise Edition

SGBD Système de Gestion de Base de Données

MVC Model View Controller

IDE Integrated Development Environment

DOM Document Object Model

API Application Programming Interface

JSP Java Server Pages

EJB Enterprise Java Beans

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

Chapitre I : Contexte général et


Analyse de projet

Page 12 sur 51
CHAPITRE I CONTEXTE GENERAL ET ANALYSE DE PROJET

1.1. Présentation de l’entreprise


DXC Technology est une société de service américaine issue de la fusion de computer science et de la
division Enterprise Services de Hewlett-Packard Enterprise. CSC gère les métiers du conseil, tandis qu’HPE
s'occupe de l’infogérance et de l’infrastructure.

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.

1.3. CDG ET DXC TECHNOLOGY


La collaboration entre DXC Technology et la Caisse de Dépôt et de Gestion (CDG) au Maroc est axée sur la
fourniture de services et de solutions technologiques avancées aux entreprises du pays. Ces deux acteurs
majeurs unissent leurs forces pour aider les entreprises marocaines à relever les défis de la transformation
numérique et à renforcer leur compétitivité sur le marché.

DXC Technology apporte son expertise en matière de services informatiques et de transformation


numérique. Forte de son expérience mondiale, l'entreprise propose des solutions dans des domaines tels
que la modernisation des infrastructures, le développement d'applications, la gestion de données, la
cybersécurité, l'intelligence artificielle et bien d'autres. Grâce à sa présence internationale, DXC Technology
dispose d'une connaissance approfondie des meilleures pratiques et des dernières tendances
technologiques.

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

Maroc en favorisant l'adoption des technologies de l'information et en promouvant la transformation


numérique.
L'objectif ultime de cette collaboration est d'accélérer la transformation numérique des entreprises
marocaines, d'améliorer leur efficacité opérationnelle, d'optimiser leur performance et de stimuler leur
croissance. En combinant les ressources et l'expertise de DXC Technology et de la CDG, cette collaboration
vise à soutenir le développement économique du Maroc dans l'ère numérique.

1.4. Chiffre clés


Implantée à rabat (92400), elle est spécialisée dans le secteur d'activité du conseil en systèmes et logiciels
informatiques. Son effectif est compris entre 1000 et 1999 salariés. Sur l'année 2020 elle réalise
un chiffre d'affaires de 210 880 000,00 €.

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.

1.7. Cadre du Stage


1.7.1 Introduction

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.

1.7.3 Identification des besoins fonctionnels

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.

1.7.4 Cahier des charges

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

• Le monitoring de la volumétrie de la base.


• La gestion des alertes en cas d’échec, ou de blocage d’un batch.

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.

1.7.5 Identification des acteurs

Cette application se constitue de deux acteurs principaux :

Uploader et planifier des scripts


Membre de groupe Modifier et exécuter un script
Consulter les scripts

Administrateur
Supprimer les scripts

Tableau 1 : Identification des acteurs

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

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.

2.2 Langage UML

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.

2.3 Conception détaillée

2.3.1 Diagramme de cas d’utilisation du projet

- 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.

Figure 1 : Diagramme de cas d’utilisation

Page 18 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.3.2 Scénarios des cas d’utilisations

- Ce Tableau présente la tâche d’authentification avec sa référence et son but.

Cas d’utilisation<<S’authentifier>>

Réf. Scénario But


SC1 S’authentifier Gérer les droits d’accès

Tableau 2 Scénario de cas d'utilisation<<S'authentifier>>

- Ce Tableau présente la tache de chargement des scripts avec sa référence et son objectif.

Cas d’utilisation <<Uploader script>>

Réf. Scénario But


SC1 Uploader script Ajouter un nouveau script

Tableau 3 Les scénarios de cas d'utilisation <<Uploder script>>

- Ce Tableau présente la tache de modification des scripts avec sa référence et son objectif.

Cas d’utilisation <<Modifier script>>

Réf. Scénario But


SC1 Éditer script Éditer les informations du
script

Tableau 4 Les scénarios de cas d'utilisation<<Modifier script>>

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.

Cas d’utilisation <<Annuler exécution script >>

Réf. Scénario But


SC1 Annuler script Annuler d’exécution d’un
script

Tableau 5 Scénario de cas d'utilisation <<annuler exécution script>>

- Ce Tableau présente la tâche <<Consulter la liste des scripts uploader >> avec sa référence et son
objectif.

Cas d’utilisation <<Consulter la liste des scripts uploader >>

Réf. Scénario But


SC1 Consulter la liste des scripts Afficher toutes les scripts
uploadés

Tableau 6 Scénario de cas d'utilisation <<annuler exécution script>>

2.3.3 Description textuelle des cas d’utilisations

- 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

Cas d’utilisation<<S’authentifier >>


Scénario : S’authentifier Réf : SC0

But : Gérer les droits d’accès

Acteur : Administrateur, membre

Préconditions :

a) Compte existant.
Post-conditions :

a) Autorisation d’accès accordée.

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.

Tableau 7 Description de cas d'utilisation<<S'authentifier>>

Page 21 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

- Ce Tableau présente le Scenario de chargement de script avec sa référence, les acteurs


inclus, les préconditions en plus les scenarios principaux et alternatives.

Cas d’utilisation<<Uploader script>>

Scénario : Uploader script Réf : SC1

But : Uploader script

Acteur : Membre

Préconditions :

b) Le membre est identifié et authentifié.


Post-conditions :

b) Planification et Exécution de script.

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.

Tableau 8 Description de cas d'utilisation<<Uploader script>

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.

Cas d’utilisation<<Modifier script>>

Scénario : Modifier script Réf : SC1

But : Modifier script

Acteur : Membre

Préconditions :

c) Le membre est identifié et authentifié.


Post-conditions :

c) Le script est édité.

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.

Tableau 9 Description de cas d'utilisation<<Modifier Script>>

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.

Cas d’utilisation<<Annuler Exécution script>>

Scénario : Annuler script Réf : SC1

But : Annuler exécution script

Acteur : Administrateur

Préconditions :

d) L’administrateur est identifié et authentifié.


Post-conditions :

d) L’exécution du script est annulée.

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.

Tableau 10 Description de cas d'utilisation<<Annuler Script>>

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.

Cas d’utilisation<<Consulter liste des Exécutions script>>

Scénario : Annuler script Réf : SC1

But : Annuler exécution script

Acteur : Administrateur

Préconditions :

e) L’administrateur est identifié et authentifié.


Post-conditions :

e) L’exécution du script est annulée.

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.

Tableau 11 Description de cas d'utilisation<<Annuler et Executer script>>

Page 25 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.3.4 Diagramme de classes du projet

- Ce diagramme de classe j’ai opté pour 4 classes : User, Script, Log et TimerInfo dont chacune
possède ces propres attributs.

Figure 2 : Diagramme de classe

2.3.5 Diagramme de séquences de cas d’utilisation<<S’authentifier>>

- Ce diagramme de séquences présente les différents évènements et taches qui se déroule au


moment de l’authentification entre les différents acteurs.

Figure 3 : Diagramme de séquence de cas d'utilisation<<S'authentifier>>

Page 26 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.3.6 Diagramme d’activités de cas d’utilisation<<s’authentifier>>

- Ce diagramme d’activités présente les différents évènements qui se déroule au moment de


l’authentification.

Figure 4 : Diagramme d'activité de cas d'utilisation<<S'authentifier>>

2.3.7 Diagramme de séquences de cas d’utilisation<<Upload script>>

- Ce diagramme de séquences présente les différents évènements et taches qui se déroule


lorsqu’un acteur veut charger un script.

Figure 5 : Diagramme de séquence de cas d'utilisation<<Upload script>>

Page 27 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.3.8 Diagramme d’activité de cas d’utilisation<<Upload script>>

- Ce diagramme d’activité présente les différents évènements qui se déroule au moment de


chargement d’un script.

Figure 6 : Diagramme d’activité de cas d'utilisation<<Upload script>>

2.3.9 Diagramme de séquences de cas d’utilisation<<Modifier script>>

- Ce diagramme de séquences présente les différents évènements et taches qui se déroule


lorsqu’un acteur veut modifier un script.

Figure 7 : Diagramme de séquence de cas d'utilisation<<Modifier script>>

Page 28 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.4.1 Diagramme d’activités de cas d’utilisation<<Modifier script>>

- Ce diagramme d’activités présente les différents évènements qui se déroule lors de la


modification de script.

Figure 8 : Diagramme d’activités de cas d'utilisation<<Modifier script>>

2.4.2 Diagramme de séquence de cas d’utilisation<<Annuler exécution script>>

- Ce diagramme de séquences présente les différents évènements et taches qui se déroule


lorsqu’un acteur veut annuler et exécuter un script.

Figure 9 : Diagramme de séquence de cas d'utilisation<<Annuler exécution script>>

Page 29 sur 51
CHAPITRE II ETUDE CONCEPTUELLE

2.4.3 Diagramme d’activité de cas d’utilisation<<Annuler exécution script>>

- 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 10 : Diagramme d’activité de cas d'utilisation<<Annuler exécution script>>

2.4.4 Diagramme de séquence de cas d’utilisation<<Consulter liste des scripts chargés>>

- Ce diagramme de séquences présente les différents évènements et taches qui se déroule


lorsqu’un acteur veut consulter la liste des scripts chargés.

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

Chapitre III : Réalisation 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. Les technologies utilisées

3.2.1. IntelliJ IDEA

Figure 13 : IntelliJ IDEA

IntelliJ IDEA est un environnement de programmation spécial ou un environnement de développement


intégré (IDE) largement destiné à Java. Cet environnement est utilisé notamment pour le développement de
programmes. Il est développé par une société appelée JetBrains, qui s'appelait officiellement IntelliJ. Il est
disponible en deux éditions : l'édition communautaire sous licence Apache 2.0 et une édition commerciale
connue sous le nom d'Ultimate Edition. Les deux peuvent être utilisés pour créer des logiciels qui peuvent
être vendus. Ce qui rend IntelliJ IDEA si différent de ses homologues, c'est sa facilité d'utilisation, sa flexibilité
et sa conception solide.
IntelliJ IDEA a été développé par JetBrains, anciennement IntelliJ. Il a été publié pour la première fois en
2001 et offrait des fonctionnalités telles que la navigation avancée dans les codes et la possibilité de
refactoriser les codes, ce qui l'a rendu très populaire. Il a même reçu la distinction d'être élu meilleur outil de
programmation basé sur Java en 2010, mettant à l'écart des outils établis tels que NetBeans, Eclipse et
JDeveloper. L'environnement de développement open source pour Android publié par Google en 2014 est
également basé sur IntelliJ IDEA. L'IDE prend en charge de nombreux autres langages de programmation tels
que Python, Lua et Scala.

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.

3.2.5 Apache Tomcat

Figure 17 : Apache Tomcat

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.

3.2.7 Spring boot

Figure 19 : Spring Boot

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

3.2.8 Spring Sécurité

Figure 20 : Spring Security

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.

3.2.9 Design Pattern MVC

Figure 21 : Design Pattern MVC

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…

3.3.7 Spring Actuator

Figure 28 : Spring actuator

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.

3.4. Architecture application

Figure 30 : Architecture Application

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

3.5.2. Espace Administrateur

C’est un espace qui concerne l’administrateur de la plateforme, auquel il peut consulter l’état récapitulatif
de fonctionnement de la plateforme :

3.5.3. Page Home

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

3.5.4. Page Batch

Cette page offre à l’administrateur de consulter les différentes informations concernant les batchs et
de les manipuler.

Figure 33 : Page de Batchs


Page 43 sur 51
CHAPITRE III REALISATION DU PROJET

3.5.5. Page Script

Ce formulaire offre à l’administrateur d’uploader un script.

Figure 34 : UploadScript1

Figure 35 : UploadeScript2

3.5.6. Voir détail de script

Cet onglet représente les informations concernant le script sélectionné parmi la liste des scripts uploader.

Figure 36 : Voir détail de script


Page 44 sur 51
CHAPITRE III REALISATION DU PROJET

3.5.7. Modification de script

Cette interface offre à l’administrateur la main pour modifier les informations du script uploader.

Figure 37 : Editer script

3.5.8. Planifier et Exécuter Script

Cette interface permet à l’administrateur de planifier le script uploader et de l’exécuter.

Figure 38 : Planifier Et Exécuter script

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

3.5.9. Consulter Logs

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.

Figure 39 : Liste de logs

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.

Figure 40 : Dossier Logs

Page 46 sur 51
CHAPITRE III REALISATION DU PROJET

Figure 41 : Dossier Logs --- Fichier.txt

3.6.1. Page Monitoring

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

Figure 42 : Page Monitoring

3.6.2. Editer Profile

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

3.6.3. Ajouter nouveau compte

Cette interface est réservée pour l’insertion de nouveau membre. Voici ci-dessous le formulaire d’insertion.

Figure 43 : Insérer nouveau membre

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

Conclusion Générale et Perspective

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

[1] J. C. Geeks, Eclipse IDE Handbook.

[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.

[5] A. V. a. J. Goodwill, Apache Tomcat 8, New York: Apress, 2011.

[6] B. V. a. S. Belida, Introducing Maven, New York: Clearance Center, 2014.

[7] «Spring Framework,» VMware, 1 10 2002. [En ligne]. Available:


https://en.wikipedia.org/wiki/Spring_Framework. [Accès le 15 6 2022].

[8] «Spring,» [En ligne]. Available: https://spring.io/. [Accès le 15 6 2022].

[9] [En ligne]. Available: https://www.invivoo.com/securiser-application-spring-boot-spring-security/.


[Accès le 15 6 2022].

[10] Z. Svirca. [En ligne]. Available: https://towardsdatascience.com/everything-you-need-to-know-about-


mvc-architecture-
3c827930b4c1#:~:text=%2DMVC%20is%20an%20architectural%20pattern,the%20view%20whenever
%20data%20changes..

[11] [En ligne]. Available: https://fr.wikipedia.org/wiki/Chart.js.

[12] Jamie, Learn CSS In One Day and Learn It Well, 2015.

[13] S. Blumenthal, JavaScript Learn Java Script With Ease.

[14] J. T. Mark Otto, Twitter, 19 10 2011. [En ligne]. Available:


https://fr.wikipedia.org/wiki/Bootstrap_(framework).

[15] [En ligne]. Available: https://fr.wikipedia.org/wiki/WampServer.

[16] «https://www.50a.fr/0/angular,» [En ligne].

[17] «JavaPoint.com,» [En ligne]. Available: https://www.javatpoint.com/spring-boot-


actuator#:~:text=Spring%20Boot%20Actuator%20is%20a,place%20where%20the%20resources%20liv
e)..

Page 51 sur 51

Vous aimerez peut-être aussi