Gestion des Événements Web DevOps
Gestion des Événements Web DevOps
Oussema Abdaoui
Ranim Abker
Nour Zrida
Ines Bouderbela
Mohamed Houcine El Gatri
Introduction générale 1
1 Contexte général 2
1.1 Conception et Infrastructures : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Conception : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Infrastructures : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Devloppement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Introduction : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Le Code en tant que Fondation du DevOps : . . . . . . . . . . . . . . . . . . . 5
1.2.3 Les Bonnes Pratiques pour l’Élaboration de Code en DevOps : . . . . . . . . . 5
1.2.4 La Sécurité du Code en DevOps : . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 Les Outils pour l’Élaboration de Code en DevOps : . . . . . . . . . . . . . . . 6
1.2.6 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 L’intégration continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Les avantages de CI : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Les pipeline de CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Les outils de CI : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.4 L’importance de test automatisé en CI : . . . . . . . . . . . . . . . . . . . . . . 7
1.3.5 Types de Tests Automatisés : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 CD/ Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Déploiement Continu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 Déploiement sans Interruption : . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Etude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 Avant l’adoption de DevOps : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2 Après l’adoption de DevOps : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ii
2.2.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Diagramme des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 Réalisation 25
4.1 Choix techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Planning réel du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Conclusion générale 27
Annexes 28
Annexe 1. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Annexe 2. Entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
iii
Table des figures
iv
Liste des tableaux
v
Liste des abréviations
vi
Introduction générale
1
Chapitre 1
Contexte général
Plan
1 Conception et Infrastructures : . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Devloppement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 L’intégration continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 CD/ Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 Etude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapitre 1. Contexte général
Introduction
DevOps est une méthodologie de développement logiciel qui a émergé pour répondre aux défis de
l’industrie informatique en intégrant le développement logiciel (Dev) avec les opérations informatiques
(Ops). Cette approche vise à améliorer la collaboration, l’efficacité et la productivité des équipes de
développement en encourageant une culture de travail plus intégrée et en favorisant l’automatisation
des processus.
Le concept de DevOps est apparu pour la première fois autour des années 2007-2008. Il a été
popularisé par des praticiens et des leaders de l’industrie comme Patrick Debois et Andrew Clay Shafer,
qui ont organisé des conférences et des discussions autour de la convergence du développement logiciel
et des opérations informatiques.
DevOps repose sur des principes fondamentaux tels que l’automatisation des processus, la
collaboration étroite entre les équipes de développement et d’opérations, l’utilisation d’outils et de
pratiques pour accélérer la livraison des logiciels, la mise en place de l’intégration continue et du
déploiement continu, et une approche axée sur l’amélioration continue (Kaizen). Il vise à réduire les
silos organisationnels, à optimiser les processus, et à favoriser une livraison logicielle plus rapide, plus
stable et de meilleure qualité.
Le terme "DevOps" lui-même est un néologisme issu de la fusion de "Development" et "Operations",
soulignant ainsi la collaboration étroite entre les équipes de développement et d’opérations pour créer
un écosystème logiciel plus efficace et agile.
1.1.1 Conception :
• Définition des Besoins du Logiciel : Tout commence par comprendre les besoins du logiciel.
Cela implique d’identifier les fonctionnalités requises, les performances attendues, les contraintes
budgétaires, les délais de livraison, et d’autres exigences spécifiques. Ces besoins serviront de
guide tout au long du projet.
• Conception du Logiciel : Une fois les besoins clarifiés, on passe à la phase de conception
proprement dite. Ici, les développeurs, les architectes et d’autres parties prenantes travaillent
ensemble pour élaborer la structure globale du logiciel. Cela inclut la conception des composants,
3
Chapitre 1. Contexte général
• Conception en tant que Code (IaC) : Dans le contexte de DevOps, l’approche "Conception
en tant que Code" (IaC) est particulièrement importante pour l’infrastructure. Plutôt que de
concevoir manuellement des serveurs et des ressources, IaC consiste à définir l’infrastructure
nécessaire sous forme de code informatique. Cette approche permet une gestion automatisée,
reproductible et évolutive de l’infrastructure. Les outils IaC tels que Terraform et Ansible sont
utilisés pour décrire l’infrastructure comme du code, facilitant ainsi son déploiement, sa maintenance
et son évolution. En résumé, la phase de conception dans le contexte de DevOps consiste à
planifier le logiciel, à collaborer dès le début entre les développeurs et les opérationnels, et à
adopter l’approche IaC pour garantir que les besoins opérationnels sont pris en compte et que
l’infrastructure est gérée de manière automatisée et reproductible. Cette approche contribue à
éviter des problèmes potentiels plus tard dans le cycle de développement.
1.1.2 Infrastructures :
• Gestion des Services : La gestion des services est la clé pour garantir que les ressources
informatiques sont utilisées de manière efficace. Les équipes informatiques doivent gérer
l’allocation des ressources, le suivi des performances, et la résolution des problèmes. Les
outils de gestion des services, tels que ITIL (Information Technology Infrastructure Library),
aident à organiser et à améliorer la prestation des services informatiques.
4
Chapitre 1. Contexte général
virtuels, ce qui optimise l’utilisation des ressources matérielles. Cela permet d’exécuter
plusieurs systèmes d’exploitation sur un seul serveur physique. - Des technologies telles
que les hyperviseurs et les conteneurs (comme Docker) sont couramment utilisées pour la
virtualisation.
• Outils "As Code" : - Les outils "as code" sont essentiels pour automatiser la gestion de
l’infrastructure. Ils permettent de décrire et de gérer l’infrastructure sous forme de code
informatique. - Des outils populaires comme Terraform et Ansible sont utilisés pour
1.2.1 Introduction :
La phase de développement dans DevOps est l’étape où les développeurs travaillent sur la création
de nouvelles fonctionnalités ou la modification de celles existantes dans le logiciel
Le code source correspond au texte d’écriture du logiciel dans un langage compréhensible par
l’homme, c’est-à-dire dans l’un des nombreux langages informatiques aujourd’hui utilisés par les
développeurs (ex : Java, C++, Python, PHP. . .).
L’automatisation informatique consiste à utiliser des logiciels pour créer des instructions et des
processus reproductibles dans le but de réduire les interventions humaines ou de les remplacer
par des systèmes informatiques
Les processus DevOps requièrent des identifiants dit ‘à privilèges’, accès spéciaux très puissants,
censés être sécurisés qui sont la cible des cyberattaques. La gestion de ces accès est un enjeu, que
ce soit : Les accès humains dans les environnements de développement et de production et Les
5
Chapitre 1. Contexte général
La première étape d’une collaboration Devops est d’aligner les équipes de développement et les ops
sur un même outil de gestion de code source. Cela permet de connaître les différentes modifications
du code et les auteurs de celles-ci. Il s’agit d’un outil de versionning : toute modification de code
entraîne la création d’une nouvelle version. Il y a deux types de gestions de code : Les outils
comme Git et Subversion, qui servent à créer un historique en temps réel de ses fichiers et Les
outils comme Github , Gitlab et Bitbucket qui servent à partager son code, et donc l’historique
qui va avec. Ils sont basés sur Git et il est possible d’avoir l’historique du code et de travailler à
plusieurs dessus.
• Détection précoce des erreurs : Elle permet de repérer rapidement les problèmes de
code, ce qui facilite leur résolution et réduit les coûts de correction.
• Feedback immédiat : Les développeurs reçoivent rapidement des commentaires sur leur
code, ce qui les aide à s’améliorer et à éliminer les erreurs plus tôt dans le processus.
Il s’agit d’une série d’étapes et de tâches automatisées qui sont exécutées chaque fois qu’un
développeur effectue une modification de code.
6
Chapitre 1. Contexte général
• Compilation (Build) : Cette étape compile le code source pour créer l’application ou le
logiciel. Cela inclut généralement la compilation du code source, la génération de fichiers
exécutables ou d’artefacts, et d’autres tâches nécessaires.
• Tests unitaires : Des tests automatisés sont exécutés pour vérifier la fonctionnalité des
unités de code individuelles, telles que les fonctions ou les classes.
• Analyse statique du code Des outils d’analyse statique du code sont utilisés pour
identifier des problèmes potentiels de qualité du code, tels que des violations de style, des
erreurs de programmation courantes, ou des vulnérabilités.
• Tests d’intégration : Des tests sont effectués pour s’assurer que les différentes parties de
l’application fonctionnent correctement ensemble.
Remarque : On peut dire que la CI ne se limite pas à un seul pipeline, mais peut plutôt inclure
plusieurs pipelines, chacun dédié à un aspect spécifique du développement logiciel, tels que le
développement, les tests, la sécurité etc.
Certains des outils de CI populaires incluent Jenkins, Travis CI, CircleCI, GitLab CI/CD, et
TeamCity , parmi d’autres. Ces outils permettent aux équipes de développement de travailler de
manière collaborative, de tester automatiquement leur code et de le déployer plus efficacement.
• Tests unitaires : on teste chaque morceau de code de manière isolée pour vérifier qu’il
produit les résultats attendus.
• Tests d’intégration : Les tests d’intégration visent à évaluer la manière dont différentes
unités ou composants d’un système interagissent ensemble pour garantir son bon fonctionnement
dans son ensemble.
• Tests de système : Les tests de système consistent à évaluer l’ensemble d’un système ou
d’une application dans son environnement réel pour s’assurer qu’il répond aux exigences et
fonctionne correctement avant sa mise en production.
7
Chapitre 1. Contexte général
• Tests de régression : Les tests de régression sont utilisés pour vérifier qu’une modification
récente du code n’a pas introduit de nouveaux bugs ou affecté négativement des fonctionnalités
existantes dans un logiciel en revenant sur des tests préexistants.
Le Déploiement Continu (CD) est une pratique essentielle de DevOps qui consiste à automatiser
le déploiement de chaque modification de code validée dans un environnement de production.
1.4.1.2 Objectif du CD :
L’objectif principal du CD est d’assurer que les modifications de code passent rapidement et en
toute sécurité de l’environnement de développement à la production, sans intervention manuelle.
1.4.1.4 Avantages du CD :
• Rétroaction rapide : En cas de problème, les équipes obtiennent rapidement des retours
d’information, ce qui permet des corrections rapides.
8
Chapitre 1. Contexte général
1.4.2.1 Definition :
C’est une pratique de deploiement qui permet de maintenir la disponibilité du service pendant
les mises à jour, ce qui est essentiel pour les applications nécessitant une disponibilité continue.
Le CD vise à déployer rapidement chaque modification, ce qui peut entraîner des interruptions
temporaires, et le Déploiement sans Interruption garantissant une disponibilité continue du
service lors des mises à jour. Le choix entre ces deux approches dépend des besoins spécifiques
de l’application et des préoccupations en matière de disponibilité.
1.5 Maintenance
À un moment donné de son histoire, Amazon était déjà un géant du commerce en ligne, mais
l’entreprise était confrontée à certains défis dans le domaine du développement logiciel. Voici
comment les choses se passaient avant l’adoption de DevOps :
• Incapacité à gérer la montée en charge : Les périodes de trafic intense, telles que le
Black Friday, posaient des problèmes d’évolutivité et de disponibilité du site.
9
Chapitre 1. Contexte général
Amazon a entrepris une transformation en adoptant DevOps, et les résultats ont été remarquables :
1.6.3 Conclusion
L’adoption de DevOps a joué un rôle clé dans la croissance et le succès continu d’Amazon en
tant qu’une des plus grandes entreprises technologiques au monde. Grâce à DevOps, Amazon a
réussi à améliorer la rapidité, la qualité et la fiabilité de ses services tout en réduisant les coûts
opérationnels, ce qui constitue un exemple convaincant de l’impact de DevOps dans le monde
des affaires.
Conclusion
10
Chapitre 2
Plan
1 Identification des acteurs du système . . . . . . . . . . . . . . . . . . 12
Introduction
Dans ce chapitre, nous abordons une étape indispensable qui est la spécification des besoins afin
de déterminer les fonctionnalités et la conception nécessaires pour réaliser notre application. Dans
cette phase, nous précisons les acteurs de l’application, ainsi que les besoins fonctionnels et non
fonctionnels. Pour ce faire, nous avons choisi le langage UML, un langage de modélisation orienté
objet formel et normalisé.
Un acteur est une personne ou un système extérieur qui interagit avec le système à développer
afin de réaliser une valeur ajoutée
• utilisateur final : peut être soit un consultant soit un client . Il a accès à plusieurs
fonctionnalités de l’application, telles que l’initiation de la mise à jour de Data Hub, la
reprise de la mise à jour si nécessaire, la surveillance en temps réel de l’avancement des étapes
de la migration, la consultation des données mises à jour et la vérification des ressources
utilisées lors de la mise à jour.
• data hub : C’est un acteur secondaire et un élément clé de l’application. C’est un logiciel
qui est mis à jour par une notre application qui fournit les fonctionnalités de base nécessaires
à l’application .en effet, DataHub contient les fichiers journaux et les fichiers shell nécessaires
aux mises à jour.L’application interagit avec le DataHub pour appliquer la mise à jour et
effectue des contrôles sur l’état de la mise à jour.
Pour mieux comprendre le fonctionnement du DataHub, la Figure ??représente l’architecture
de ses composants.
L’identification des besoins est une étape cruciale dans le développement du projet puisque ça
aide à exprimer les buts de l’application et à planifier la réalisation avec une vision plus claire
Il s’agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement d’entrée /
sortie du système. Les besoins fonctionnels auxquels notre application doit répondre se résument
dans les points suivants :
12
Chapitre 2. Analyse et spécification des besoins
• Gestion des erreurs de mise à jour : L’application doit être en mesure de détecter les
erreurs survenues lors de la mise à jour et d’arrêter le processus si nécessaire.
— Afficher les données mises à jour dans un tableau de bord convivial pour les utilisateurs
Ce sont des besoins qui ne concernent pas spécifiquement le comportement du système mais
plutôt identifient des contraintes internes et externes du système. Notre solution doit prendre en
compte les critères suivants :
13
Chapitre 2. Analyse et spécification des besoins
Le diagramme de cas d’utilisation principal permet de décrire la manière dont les acteurs voudraient
interagir avec le système. C’est un moyen qui permet de recueillir les besoins des utilisateurs du
système et de les représenter sous forme de fonctionnalités : ************
Conclusion
Dans ce chapitre, nous avons décrit les besoins fonctionnels et les besoins non fonctionnels
permettant d’assurer une bonne performance de l’application et d’atteindre l’objectif de chaque
besoin fonctionnel. Nous avons par la suite exposé le diagramme de cas d’utilisation général .
Dans le chapitre suivant, nous commençons par le Sprint 0 qui présente notre environnement de
travail et où on va définir le Backlog Produit pour en déduire la planification des sprints de notre
application.
14
Chapitre 3
Plan
1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . 16
2 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Backlog du produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6 Diagramme de GANTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Chapitre 3. Sprint 0 :Planification du projet
Introduction
Ce chapitre décrit l’architecture physique et logicielle de notre application,les différents outils qui
constituent l’environnement de travail, les différentes technologies que nous avons utilisées tout
au long du projet, ainsi que le Backlog produit et la planification des Sprints.
L’architecture à trois niveaux, aussi connue sous le nom d’architecture trois tiers ou à trois
couches, est une architecture de type client-serveur qui comprend des modules indépendants pour
gérer respectivement l’interface utilisateur, les processus logiques, fonctionnels et métiers, ainsi
que l’accès aux données. Cette architecture repose sur une infrastructure physique qui soutient
une infrastructure logicielle. Toute application peut être divisée en trois parties : une partie qui
gère l’interface graphique, une partie qui gère les fonctions métiers et logiques, et une partie qui
gère le stockage de données.
— Couche d’accès aux données : Cette couche est la troisième couche de l’architecture
trois-tiers et correspond au serveur de données. le serveur DataHub est le serveur de données
qui contient les commandes nécessaires pour effectuer les étapes de la mise à jour et stocker
les journaux (logs) pour le suivi de la mise à jour et gestion d’erreur.
16
Chapitre 3. Sprint 0 :Planification du projet
notre environnement matériel est constitué par un ordinateur portable ayant les caractéristiques
présentées par le tableau 3.1
Ordinatuer portable HP
Mémoire RAM 8 Go
• Python
Python est un langage de programmation interprété, multiplateforme et orienté objet. Créé
par Guido van Rossum en 1991, il est devenu rapidement très populaire grâce à sa simplicité,
sa lisibilité et sa polyvalence. Python est très utilisé dans différents domaines, grâce à la
disponibilité de nombreuses bibliothèques et outils dédiés qui nous aident à développer mon
application. Python est également utilisé pour la création d’applications web, de scripts
système, et bien plus encore.
• Java script
JavaScript est un langage de programmation de haut niveau et orienté objet, principalement
utilisé pour créer des pages web interactives.Il est pris en charge par tous les navigateurs
web modernes et est largement utilisé dans le développement web. Il existe également de
nombreuses bibliothèques et frameworks JavaScript populaires tels que React, Angular,
Vue.js, Node.js, etc., qui peuvent être utilisés pour simplifier et accélérer le processus de
développement.
17
Chapitre 3. Sprint 0 :Planification du projet
• PowerBI
Power BI est un outil de Business Intelligence (BI) développé par Microsoft. Il permet
aux utilisateurs de collecter, d’analyser et de visualiser des données de manière efficace et
intuitive. Power BI est conçu pour aider les entreprises à prendre des décisions éclairées
en utilisant des données en temps réel, des tableaux de bord interactifs, des rapports
personnalisables et des fonctionnalités d’analyse avancées.
• Draw.io
18
Chapitre 3. Sprint 0 :Planification du projet
raw.io est une application gratuite en ligne qui permet de dessiner des diagrammes ou des
organigrammes. Cet outil vous propose de concevoir toutes sortes de diagrammes, de dessins
vectoriels, de les enregistrer au format XML puis de les exporter.
• MobaXterm
MobaXterm est un logiciel de terminal amélioré pour Windows qui offre une solution
complète pour les administrateurs système, les développeurs et les utilisateurs avancés. Il
est basé sur un environnement Unix-like avec des fonctionnalités telles que la prise en charge
de multiples sessions, la gestion des fichiers, le transfert de fichiers sécurisé (FTP, SFTP,
SSH, etc.), l’accès à distance, le partage de sessions, la gestion des tunnels, etc.
• Overleaf
Overleaf est une plateforme en ligne gratuite permettant d’éditer du texte en LaTeX sans
aucun téléchargement d’application. Elle offre la possibilité de rédiger des documents de
manière collaborative et de les compiler en PDF
19
Chapitre 3. Sprint 0 :Planification du projet
• Flask
Flask est un framework web léger, flexible et puissant pour Python. Il est conçu pour être
facile à apprendre et à utiliser, tout en offrant une grande extensibilité pour les développeurs
avancés. Flask permet de construire rapidement des applications web de petite à grande
échelle, avec une structure modulaire et une grande variété d’extensions tierces disponibles
pour ajouter des fonctionnalités supplémentaires.
Le backlog du produit est l’artefact le plus important de Scrum .Il est destiné à recueillir tous
les besoins du client que l’équipe projet doit réaliser.Il contient donc la liste des fonctionnalités
ou encore les « User Stories » intervenant dans la constitution d’un produit, ainsi que tous les
éléments nécessitant l’intervention de l’équipe projet.est généralement présenté sous forme de
user stories qui sont priorisées selon l’importance de la fonctionnalité.
Le tableau 3.2 présent ci-dessous comporte le backlog du produit de notre application. Pour
commencer la réalisation de nos histoires utilisateur, nous avons choisi les cas d’utilisation les
plus prioritaires.
Ici nous avons opté pour une échelle de 0 à 2, 0 ayant la priorité la plus élévée
20
Chapitre 3. Sprint 0 :Planification du projet
21
Chapitre 3. Sprint 0 :Planification du projet
22
Chapitre 3. Sprint 0 :Planification du projet
L’étape de planification des sprints, est l’une des étapes les plus importants dans la méthodologie
de travail Scrum. Dans le Tableau 3.3 nous allons diviser le projet en Sprints, en spécifiant les
cas d’utilisation correspondant.
23
Chapitre 3. Sprint 0 :Planification du projet
Un diagramme de Gantt est un outil de planification qui permet de suivre l’avancement du projet
en visualisant la durée des différentes tâches. L’importance de ce schéma se résume à ce qu’il fait,
la planification, qui est une étape très importante avant de réaliser un projet. La Figure présente
le diagramme de GANTT de notre projet durant la période du stage
Conclusion
Dans ce chapitre nous avons présenté l’environnement matériel et logiciel que nous préparons
pour la mise en place de notre système, l’architecture physique ainsi que le Backlog produit et
la planification des Sprints, que nous allons entamer dans le chapitre suivant.
24
Chapitre 4
Réalisation
Plan
1 Choix techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 Travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Introduction
Conclusion
26
Conclusion générale
La taille de la conclusion doit être réduite, une page de texte tout au plus. Il est important de
souligner que la conclusion ne comporte pas de nouveaux résultats ni de nouvelles interprétations.
• un bilan professionnel qui indique clairement les objectifs annoncés dans l’introduction et en
particulier ceux qui n’ont pu être atteints. Il présente et synthétise les conclusions partielles ;
• un bilan personnel qui décrit les principales leçons que vous tirez de cette expérience sur le
plan humain ;
27
Annexes
0 0
1 1
2 2
3 3
4 4
28
Annexes
Annexe 2. Entreprise
29
PÌl
Lepneumatique TrJ ¨ Ty®³ \ TFdn¡ ¨ EA³ Yl rt ¤rK m r§rqt @¡ Pl§
C ³ Aylm dyw ¤ y\n Y , d§d AsF¥m C w XyW A\ ºAK Y m` @¡ dh§ . CAV²
¤ ºAW± ¨ kt ¤ §rs w}wA ydtsm d§¤z , ybWt @¡ |r w.TrK C w ym
Odoo w TrKA T}A §w TkbJ Xr Anm , Ð Y TAR³A .Tywy Ahm ylq , «r TyA
.wm ¤ ERP y XyFw Middleware A\ dtF ºAn
ERP, Odoo, Symfony, Angular, e-commerce, web application. : y Af Aml
Résumé
Ce rapport résume le travail effectué dans le cadre du projet de fin d’études pour l’ob- tention du
diplôme Licence en Ingénierie des systèmes informatiques au sein de l’entreprise Lepneumatique.
Ce travail vise à mettre en place un nouveau ERP, afin d’organiser et d’unifier les processus de
gestion de toutes les ressources de l’entreprise. Cette application a pour but, d’une part, d’offrir
aux utilisateurs un accès rapide et un contrôle des erreurs et, d’autre part, de réduire les tâches
quotidiennes. En outre, nous avons lié le site Web de l’entreprise avec Odoo tout en utilisant un
système Middleware en tant qu’intermédiaire entre l’ERP et le site Web.
Abstract
This report summarizes the work of the graduation project Bachelor’s degree in Com- puter
Systems Engineering at Lepneumatique. This work aims to set up a new ERP, to organize and
unify the management processes of all the company’s resources. The purpose of this application
is, on the one hand, to provide users with quick access and error control and, on the other hand,
to reduce daily tasks. In addition, we linked the company’s web- site with Odoo while using a
Middleware system as an intermediary between the ERP and the website.
contact@company.com : ¨¤rtk¯ d§rb 71 222 222 : HAf 71 111 111 : Ah Hw - ryb AfR - C® ry h
Rue du Lac Malaren, Les Berges du Lac 1053 Tunis Tél : 71 111 111 Fax : 71 222 222 Email : contact@company.com
isi@isim.rnu.tn : ¨¤rtk¯ d§rb 71 706 698 : HAf 71 706 164 : Ah TA§C 2080 ¨¤CAb A§r w h 2
2, Abou Raihane Bayrouni 2080 l’Ariana Tél : 71 706 164 Fax : 71 706 698 Email : isi@isim.rnu.tn