2025-01-13 14:49:22 +00:00
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
|
|
# Cahier des charges
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Dans le cadre d'une **formation, dans l'école DataScientest**, il a été
|
|
|
|
|
demandé à des équipes composées de 3 à 5 personnes de travailler sur un
|
|
|
|
|
**projet défini, cadré** et suivant un certain nombre de contraintes dont nous
|
|
|
|
|
allons parler ici.
|
|
|
|
|
|
|
|
|
|
Le cahier des charges a été la première réflexion sur le projet.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
## Contexte
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Commençons par le contexte du projet avec l'ensemble des intervenants et des
|
|
|
|
|
contraintes attenantes.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Dans le cadre d'une formation
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
**[Datascientest]{#datascientest}** est une **école de formation** créée en
|
|
|
|
|
2017, située sur Paris et proposant **plus de 18 formations différentes**,
|
|
|
|
|
dont *Administrateur Système DevOps*.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Plusieurs formats de formation existent parmi **Bootcamp**, continu et en
|
|
|
|
|
alternance. **Ce projet est un exercice de fin de formation** proposé à tous
|
|
|
|
|
les élèves de la « cohorte » (équivalent d'une classe).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Plusieurs élèves se regroupent autour d'un projet auquel ils ont un **intérêt
|
|
|
|
|
commun**.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### L'équipe DevU42 {#devu42}
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Le **groupe DevU42** s'est formé le **17 octobre 2024**. Il est composé de
|
|
|
|
|
**quatre étudiants** participant à la formation **Administrateur Système
|
|
|
|
|
DevOps** de l’organisme de formation [DataScientest](#datascientest).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
Ses membres sont, par ordre alphabétique (prénom) :
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **Eliel MONCADA**
|
|
|
|
|
* **Hrubech HOMBESSA**
|
|
|
|
|
* **Julien SABIOLS**
|
2025-01-13 15:49:59 +00:00
|
|
|
|
* Olivier DOSSMANN
|
|
|
|
|
|
|
|
|
|
Ils interviennent sur le projet en qualité d’**Administrateur Système DevOps**.
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
L'équipe a été supervisée et suivie par [**Jérémie Tarot** sous la
|
|
|
|
|
dénomination de **« Mentor »**]{#mentor}. Et ainsi en sera-t-il dans le
|
|
|
|
|
présent document.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Organisation d'équipe
|
|
|
|
|
|
2025-02-12 16:31:51 +00:00
|
|
|
|
Pour s'organiser, l'équipe s'est doté de plusieurs outils et suivi quelques méthodologies.
|
|
|
|
|
|
2025-01-13 15:49:59 +00:00
|
|
|
|
#### Rapports hiérarchiques
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
L’équipe s'articule autour de membres ayant le **même degré de
|
|
|
|
|
responsabilités** et d'objectifs. Leur périmètre et leur champ d'action est
|
|
|
|
|
similaire qu'il s'agisse de déterminer les tickets à prendre en charge, les
|
|
|
|
|
axes de travail à rajouter au projet ou bien de nouveaux objectifs.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
En cas de désaccord sur un sujet, une décision est prise à la majorité
|
|
|
|
|
votante, avec pour ultime recours l’avis du [Mentor](#mentor).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
#### Moyens de communication
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
La géolocalisation des membres de l'**équipe étant éparse**, plusieurs moyens
|
|
|
|
|
de communication **en ligne** ont été nécessaires, parmi :
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* Canaux de **discussions sur [Slack](https://slack.com/intl/fr-fr/)** fournis
|
|
|
|
|
initialement par [Datascientest](#datascientest) :
|
|
|
|
|
* canal du projet - **sep24_bootcamp_devops** : favorise l'échange
|
|
|
|
|
entre [DevU42](#devu42) et le [Mentor](#mentor),
|
|
|
|
|
* canal d'équipe - **devu42** : pour les **discussions techniques**,
|
|
|
|
|
les choix décisifs et de la bonne humeur !
|
2025-01-13 15:49:59 +00:00
|
|
|
|
* Un nom de domaine, **devu42.fr**,
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* Une boîte courriel, **<team@devu42.fr>** partagée pour la **gestion des
|
|
|
|
|
services**,
|
|
|
|
|
* [**Groupe DevU42 sur Gitlab**](https://gitlab.com/devu42/), un outil intégré
|
|
|
|
|
avec gestion d'équipe, gestion de projet, gestion de tickets, gestion de
|
|
|
|
|
tableau de bord (kanban), gestion de dépôts, gestion de paquets, etc.
|
|
|
|
|
* Un [**wiki**, DevU42 sur
|
|
|
|
|
Gitlab](https://gitlab.com/devu42/projet/-/wikis/home) (fourni par Gitlab)
|
|
|
|
|
permettant de rassembler les **connaissances de l'équipe** en un seul endroit,
|
|
|
|
|
* [**Framapad**](https://framapad.org/abc/fr/), un éditeur de **texte
|
|
|
|
|
collaboratif** pour les divers travaux de rédaction.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Contraintes initiales
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Deux principales contraintes initiales avaient été imposées dans le cadre de
|
|
|
|
|
la formation :
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* le **budget**,
|
|
|
|
|
* le **temps**.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
#### Budget
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Le budget alloué au projet est de **150€ mensuel** pour couvrir l'intégralité
|
|
|
|
|
des frais issus de l'utilisation de **services Amazon** (AWS).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
C'est une limite configurée par [Datascientest](#datascientest) sur l'espace
|
|
|
|
|
Amazon qu'ils nous partagent.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
#### Temps
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Le temps alloué pour réaliser ce projet avant un premier lancement officiel
|
|
|
|
|
est fixé à **7 semaines**.
|
|
|
|
|
|
|
|
|
|
Au terme des 7 semaines, un support visuel de présentation du projet pour son
|
|
|
|
|
lancement est attendu (Cf. [Section du présent chapitre sur les
|
|
|
|
|
Livrables](#livrables)).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Après livraison, l’amélioration du projet est possible, bien qu'un dossier
|
|
|
|
|
professionnel, un dossier de projet (ci-présent) et un support de présentation
|
|
|
|
|
est demandé à chacun des [membres de l'équipe DevU42](#devu42).
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
## Le projet
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Le point de départ du projet est un dépôt de version contenant une application
|
|
|
|
|
à mettre en ligne. Justification du projet, l'application elle-même, ambitions
|
|
|
|
|
et objectifs sont des points à soulever.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-01-13 15:49:59 +00:00
|
|
|
|
### Justification du projet
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
L'école de formation [DataScientest](#datascientest) s'évertue à proposer une
|
|
|
|
|
**situation proche de la réalité** afin que l'équipe nouvellement formée
|
|
|
|
|
puisse **apprendre par la pratique**.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
On imagine facilement le cadre :
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
> Une entreprise ayant une application de gestion d’utilisateur souhaite
|
|
|
|
|
> déployer et faire évoluer son service en favorisant les bonnes pratiques
|
|
|
|
|
> suivies dans la culture DevOps.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
De la même manière, l'entreprise pourrait rencontrer de nombreux
|
|
|
|
|
**problèmes** :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **Reprise d’activité** lente, coûteuse et avec pertes d’informations,
|
|
|
|
|
* Service instable, **disponibilité** non garantie, **vulnérabilité** du
|
|
|
|
|
service,
|
|
|
|
|
* Capacité limitée pour encaisser des **augmentations** ponctuelles de la
|
|
|
|
|
**charge** et du **trafic**,
|
|
|
|
|
* Absence de **supervision** et faible capacité à prévoir les problèmes,
|
|
|
|
|
* Manque de contrôle sur la **qualité du code** ; procédures de
|
|
|
|
|
développement pouvant être améliorées par l'**automatisation**,
|
2025-02-12 16:31:51 +00:00
|
|
|
|
* Perte de temps et erreurs humaines liées aux actions manuelles,
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* Manque de **portabilité de l'application** d'un système à l'autre,
|
|
|
|
|
* Lenteurs d’implémentation de **nouvelles fonctionnalités** avec
|
|
|
|
|
interruptions de service.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Pour bien saisir l'état des lieux de ladite application, regardons de plus
|
|
|
|
|
près.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Application existante
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
L'**application FastAPI-Træfik** est fournie avec les éléments principaux
|
|
|
|
|
suivants :
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* Backend utilisant le framework **FastAPI** (en Python),
|
|
|
|
|
* Frontend statique (en **React**, **Vite.js** et **Chakra UI**) :
|
|
|
|
|
Interface de gestion et d'enregistrement d’utilisateurs utilisant l'API du
|
|
|
|
|
backend,
|
|
|
|
|
* Base de données **postgreSQL**,
|
|
|
|
|
* et **Traefik** (Proxy inverse).
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Tout ceci est déposé dans un **dépôt de version** avec de la **documentation**
|
|
|
|
|
en fichier *Markdown* (*.md) bruts.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
De simples fichiers **Docker** et **docker-compose.yml** permettent aux
|
|
|
|
|
développeurs de **lancer l'application localement**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
**Une procédure manuelle existe** pour expliquer comment mettre l'application
|
|
|
|
|
en production sur une machine serveur dédiée.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Mais **le projet voit plus loin**.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Ambitions
|
|
|
|
|
|
2025-02-12 16:31:51 +00:00
|
|
|
|
En dehors des objectifs à atteindre, le projet vise à :
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* répondre aux problématiques de l’entreprise sur l'application existante par
|
|
|
|
|
**la méthode DevOps**,
|
|
|
|
|
* répondre aux attentes de l’examen en matière de compétences attendues
|
|
|
|
|
(méthode d'**apprentissage par la pratique**),
|
|
|
|
|
* démontrer un **savoir-faire technique** sur les sujets principaux du DevOps,
|
|
|
|
|
notamment vis à vis du Cloud **en utilisant AWS** (Amazon Web Services),
|
|
|
|
|
* appliquer une méthode de travail qui optimise l’efficacité de la production
|
|
|
|
|
des livrables.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
C'est de ces **ambitions** que naîssent plusieurs objectifs spécifiques.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
### Objectifs
|
|
|
|
|
|
2025-02-12 16:31:51 +00:00
|
|
|
|
D'après moi, ce projet à plusieurs objectifs :
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* balayer l'ensemble des **sujets liés à la culture DevOps et ses méthodes**,
|
|
|
|
|
* porter, puis **déployer** une application **sur le cloud**,
|
|
|
|
|
* préparer une **architecture complète** pour accueillir une à plusieurs
|
|
|
|
|
applications,
|
|
|
|
|
* respecter un **budget** et des **limites de temps**,
|
|
|
|
|
* **déployer en continu** un projet en passant par une phase de test, de
|
|
|
|
|
pré-production puis de production,
|
|
|
|
|
* penser à la **gestion de la donnée**,
|
|
|
|
|
* **superviser** un système déployé en production avec des tableaux de bord
|
|
|
|
|
efficaces,
|
|
|
|
|
* rendre un système **résilient** en prenant en compte les augmentations ET
|
|
|
|
|
les diminution de **charges** et par une **haute disponibilité**,
|
|
|
|
|
* **automatiser** la plupart des actions afin de **limiter les erreurs
|
|
|
|
|
humaines**,
|
|
|
|
|
* procéder, de manière automatique, à des vérifications sur **la sécurité**
|
|
|
|
|
des éléments produits et déployés,
|
|
|
|
|
* favoriser une **collaboration** plus fluide entre les équipes de
|
|
|
|
|
développements et les équipes d'opérations,
|
|
|
|
|
* et obtenir des **alertes** en cas de défaillance d'un ou plusieurs éléments
|
|
|
|
|
du système.
|
|
|
|
|
|
|
|
|
|
Ce sont des **objectifs plutôt ambitieux pour un temps aussi court**. Un
|
|
|
|
|
travail d'équipe et une organisation de cette dernière sont totalement
|
|
|
|
|
primordiaux.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
|
|
|
|
## Planification
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
C'est par le [mentor](#mentor) que nous avons reçu le plan d'action pour les 7
|
|
|
|
|
semaines de travail à venir et une liste de livrables attendus. Nous avons
|
|
|
|
|
adapté ce plan d'action pour nous correspondre.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-01-13 15:49:59 +00:00
|
|
|
|
### Étapes de travail
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Commençons par le détail de chaque étape. Pour les 7 semaines à venir.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
#### Semaine 1 : Cadrage
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Sous le signe de l'**encadrement**, cette première semaine est dite « douce » :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **réunion** de prise de contact, présentation et cadrage,
|
2025-02-12 16:31:51 +00:00
|
|
|
|
* introduction de chaque membre du projet,
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **découverte** de l'application,
|
|
|
|
|
* **analyse** du sujet,
|
|
|
|
|
* évaluation du contexte, des objectifs et du **périmètre** du projet,
|
|
|
|
|
* et **rédaction** du premier jet du présent **cahier des charges**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
Il faut ce temps pour découvrir de quoi il retourne.
|
|
|
|
|
|
|
|
|
|
#### Semaine 2 : Planification
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Vient ensuite une **phase d'organisation** avec :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
* définition du contexte, des objectifs et du périmètre du projet,
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **organisation** des exigences,
|
|
|
|
|
* **identification des composants** d'architecture,
|
|
|
|
|
* choix de **solutions à implémenter**,
|
|
|
|
|
* et **définition de l'architecture** et les **spécifications** du système
|
|
|
|
|
cible.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Ce qui amène à **compléter le cahier des charges**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
Nous prévoyons aussi :
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* une **configuration de Gitlab**, des principaux dépôts, des branches, etc.,
|
|
|
|
|
* de s'organiser en équipe : définir des **méthodologies** à suivre.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
#### Semaine 3 : Automatisation de la chaine d’intégration et de livraison
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Une fois les outils principaux mis en place, il s'agit d'**automatiser**
|
|
|
|
|
plusieurs parties :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* automatisation des **tests pour le backend et le frontend**,
|
|
|
|
|
* création d'**image Docker pour le backend**,
|
|
|
|
|
* création d'**image Docker pour le frontend**,
|
|
|
|
|
* automatisation des images Docker et de leur **publication sur des
|
|
|
|
|
registres d'images**,
|
|
|
|
|
* création de **chart Helm pour le backend**,
|
|
|
|
|
* création de **chart Helm pour le frontend**,
|
|
|
|
|
* automatisation de la création des chart Helm et de leur **publication sur
|
|
|
|
|
des registres d'images**,
|
|
|
|
|
* et **automatisation de la création de l'infrastructure** (même si elle n'est
|
|
|
|
|
pas encore clairement définie).
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
L'**adoption d'un workflow Git** pour la gestion des branches est la bienvenue.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
#### Semaine 4 : Conception de l’infrastructure
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Vient ensuite la création de la **couche basse de l'infrastructure** :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* **création d'un schéma** de la couche basse de l'infrastructure,
|
|
|
|
|
* description de cette infrastructure via des modules adaptés et en adoptant
|
|
|
|
|
l'**Infrastructure as Code (IaC)**,
|
|
|
|
|
* premiers **choix de solutions** pour le **stockage**, les **sauvegardes**,
|
|
|
|
|
la **supervision** et l'**environnement d'accueil** de l'application,
|
|
|
|
|
* activation des **certificats** Let's Encrypt,
|
|
|
|
|
* liaison avec le **nom de domaine**,
|
|
|
|
|
* et **mise à l'échelle automatique**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Une semaine n'est pas suffisante pour traiter tous les sujets. En revanche
|
|
|
|
|
cela permet de les aborder et d'échanger sur ces derniers.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
#### Semaine 5 : Gestion des données
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Possiblement en parallèle du [sujet de la semaine 6 sur l'Observabilité et des
|
|
|
|
|
alertes](#semaine6), la gestion des données est importante et passe par :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* créer et configurer des **ressources de stockage de données**,
|
|
|
|
|
* mise en place de **politique d'authentification** et d'autorisation,
|
|
|
|
|
* **import des données**,
|
|
|
|
|
* et installer/configurer une solution de **sauvegarde** et de **restauration
|
|
|
|
|
de données**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
C'est un sujet bien à part. D'où la possibilité de la **faire en parallèle**
|
|
|
|
|
d'un autre.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
#### Semaine 6 : Observabilité et alertes {#semaine6}
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Quant à la semaine 6, nous avons **principalement la supervision** à
|
|
|
|
|
gérer :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* configuration du **système de supervision centralisé**,
|
|
|
|
|
* mise en place d'une **collecte** de surveillance **pertinente** pour
|
|
|
|
|
l'application,
|
|
|
|
|
* **choix des métriques** à utiliser pour la création de tableaux de bords,
|
|
|
|
|
* création des **tableaux de bords**,
|
|
|
|
|
* **définition des niveaux d'alertes** pour les métriques choisis,
|
|
|
|
|
* mise en place des **alertes**,
|
|
|
|
|
* et envoi des alertes sur **les canaux choisis**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Ces éléments pourront être complétés et étendus une fois la solution
|
|
|
|
|
principale de supervision configurée.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
#### Semaine 7 : Présentation de la solution finale
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Cette dernière semaine ciblera la **présentation et** le **lancement officiel
|
|
|
|
|
de l'application**. Il faudra donc :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* compléter les **documentations**,
|
|
|
|
|
* **mettre à jour les schémas** en fonction d'éventuels changements,
|
|
|
|
|
* préparer un **support visuel de présentation du projet**,
|
|
|
|
|
* veiller à ce que l'**application tourne sans accrocs** pour la présentation,
|
2025-02-12 16:31:51 +00:00
|
|
|
|
* et résoudre les derniers problèmes majeurs connus - s'ils existent.
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
C'est un **plan ambitieux** quand on considère que **les membres de l'équipe
|
|
|
|
|
proviennent d'horizons et de formations variées**.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
### Livrables {#livrables}
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Sont attendus les **livrables** suivants :
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
* un **cahier des charges**,
|
|
|
|
|
* une **présentation par diapositives** pour le lancement de l'application,
|
|
|
|
|
* une application **déployée en production**, sans bugs,
|
|
|
|
|
* un **système de supervision** de la production,
|
|
|
|
|
* une **gestion des données** avec un **système de sauvegarde**,
|
|
|
|
|
* un **schéma de la couche basse de l'infrastructure** utilisée dans le Cloud
|
|
|
|
|
pour la production,
|
|
|
|
|
* un **accès aux dépôts et scripts** permettant l'automatisation du
|
|
|
|
|
déploiement de l'application et de la génération des différents éléments
|
|
|
|
|
(images Docker, Chart Helm, registres, etc.),
|
|
|
|
|
* et un **fonctionnement en haute disponibilité** de l'application.
|
2025-02-12 16:31:51 +00:00
|
|
|
|
|
|
|
|
|
## Conclusion
|
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
Le projet **couvre beaucoup de situations** et **domaines** autour de
|
|
|
|
|
**l'automatisation** et la **mise en production**, dans le Cloud, d'une
|
|
|
|
|
application avec une **supervision** et une **mise à l'échelle** de cette
|
|
|
|
|
dernière.
|
2025-01-13 15:49:59 +00:00
|
|
|
|
|
2025-02-19 16:53:38 +00:00
|
|
|
|
En groupe, c'est un projet idéal pour suivre l'« **apprentissage par la
|
|
|
|
|
pratique** » proposé par [DataScientest](#datascientest) et couvrir un maximum
|
|
|
|
|
de compétences demandées pour le *Titre Professionnel d'Administrateur
|
|
|
|
|
Système* DevOps.
|