Compare commits

...

4 Commits
v1.1 ... main

13 changed files with 43 additions and 56 deletions

BIN
Olivier_DOSSMANN-v1.2.pdf Normal file

Binary file not shown.

BIN
Olivier_DOSSMANN-v1.3.pdf Normal file

Binary file not shown.

View File

@ -4,7 +4,7 @@ subtitle: Dossier de projet - API Utilisateurs
author: Olivier \textsc{Dossmann}
mail: <emploi@dossmann.net>
date: 05 mars 2025
version: 1.1
version: 1.3
mentor: Jérémie \textsc{Tarot}
qrcode: https://odtre.gitlab.io/diapos/
geometry:

View File

@ -22,18 +22,16 @@ professionnel ou dans la sphère privée (pour publier mon blog). C'est donc tou
DevOps. Et ce à travers la **formation DevOps en BootCamp** au sein de l'organisme
de formation DataScientest.
Le présent document présentera principalement le projet étudié lors de cette
Le présent document abordera principalement le projet étudié lors de cette
formation. Nous commencerons par faire la corrélation entre les compétences
attendues pour le *Titre Professionnel Administrateur Système DevOps* et le(s)
projet(s) présenté(s) dans ce dossier. Après quoi nous continuerons avec le
cahier des charges et les spécifications techniques de ce(s) dernier(s). \
Nous continuerons en expliquant la démarche suivie pour accomplir le projet,
quelques réalisations effectuées et d'une situation de travail qui mérite
quelques réalisations effectuées ainsi qu'une situation de travail qui mérite
d'être relevée.
Mais avant tout, nous tenons à présenter nos remerciements à quelques personnes.
## Conventions typographiques
**Conventions typographiques**
Ce document suit certaines conventions de mise en forme pour faciliter la
lecture&nbsp;:

View File

@ -6,55 +6,44 @@
**précieuse**, sa **présence d'esprit** et son **exceptionnelle
intelligence**&nbsp;: MERCI&nbsp;!
## À l'organisme de formation DataScientest
## Via l'organisme de formation DataScientest
Nous avons parfois besoin d'un coup de pouce pour rejoindre les rails d'une
autre ligne. C'est ce que permet l'organisme de formation **DataScientest**
au travers de ses nombreux parcours proposés aux personnes qui, comme moi,
souhaitent **changer de métier**.
Je remercie **l'ensemble de l'équipe DataScientest** pour leur patience et
leur savoir-vivre au regard de mes nombreux retours sur les cours, les examens
et les machines virtuelles fournies.
Je remercie particulièrement les personnes suivantes pour leur **écoute**,
Une mention toute particulière aux personnes suivantes pour leur **écoute**,
leur **professionnalisme** et leur souci de réponses claires&nbsp;:
* Sarah \textsc{Bouras},
* Benjamin \textsc{Fiche},
* et Jérémie \textsc{Tarot}.
Je remercie également **l'ensemble de l'équipe DataScientest** pour leur
patience et leur savoir-vivre au regard de mes nombreux retours sur les cours,
les examens et les machines virtuelles fournies.
## À l'équipe DevU42
Chaque membre de l'équipe a ses **difficultés**, une **vie sociale et
familiale** prenante, des **obligations** et des **responsabilités** à côté de
la formation. Et pourtant ils ont donné ce qu'ils pouvaient.
Merci à&nbsp;:
Aux **membres de l'équipe DevU42** qui, malgré les **difficultés**, une **vie
sociale et familiale** prenante, des **obligations** et des
**responsabilités** ont donné ce qu'ils pouvaient&nbsp;:
* Hrubech \textsc{Hombessa},
* Eliel \textsc{Moncada},
* et Julien \textsc{Sabiols}.
J'imagine que derrière chaque personne il y a également **un ou une partenaire
de vie**. Vous méritez de figurer dans ces lignes et d'avoir un grand
MERCI&nbsp;!
J'imagine que derrière chacune de ces personnes il y a également **un ou une
partenaire de vie**. Vous méritez de figurer dans ces lignes et d'avoir un
grand MERCI&nbsp;!
## Aux membres de la «&#8239;cohorte&#8239;»
Aux **membres de la «&#8239;cohorte&#8239;»** que je tiens à remercier. À
ceux qui ont participé aux discussions, qui ont voulu échanger, qui ont
accepté de répondre à des questions, qui ont partagé des difficultés ou encore
des solutions et qui étaient eux-mêmes finalement.
Je tiens à remercier également **l'ensemble des membres de la cohorte**. À
ceux qui ont participé aux discussions, à ceux qui ont bien voulu échanger,
à ceux qui ont accepté de répondre à des questions, à ceux qui ont partagé
des difficultés ou encore des solutions, à ceux qui étaient eux-mêmes.
Une mention particulière aux personnes suivantes&nbsp;:
Une mention aux personnes suivantes&nbsp;:
* à Maxime \textsc{Boulanghien},
* à Michael \textsc{Lachand},
* à Philippe \textsc{Risser-Maroix},
* et à Dorian \textsc{Roly}.
## Et les autres
## Et d'autres encore&nbsp;!
D'autres personnes n'ayant aucun lien avec cette formation ont pourtant
participé à leur façon. Je tiens à remercier notamment Grégoire

View File

@ -1,3 +1,5 @@
\newpage
# Liste de compétences couvertes par le projet
## Introduction

View File

@ -18,7 +18,7 @@ contraintes attenantes.
2017, située sur Paris et proposant **plus de 18 formations différentes**,
dont *Administrateur Système DevOps*.
Plusieurs formats de formation existent parmi **Bootcamp**, continu et en
Plusieurs formats de formation existent parmi **Bootcamp**, continue et en
alternance. **Ce projet est un exercice de fin de formation** proposé à tous
les élèves de la «&#8239;cohorte&#8239;» (équivalent d'une classe).
@ -125,7 +125,7 @@ puisse **apprendre par la pratique**.
On imagine facilement le cadre&nbsp;:
> Une entreprise ayant une application de gestion d'utilisateur souhaite
> Une entreprise ayant une application de gestion d'utilisateurs souhaite
> déployer et faire évoluer son service en favorisant les bonnes pratiques
> suivies dans la culture DevOps.

View File

@ -52,7 +52,7 @@ locale du **proxy Traefik** configuré pour utiliser Docker.
Ces éléments sont un **bon point de départ pour l'équipe de DevOps** qui
prendra connaissance des particularités de cette application.
### Points d'attentions
### Points d'attention
La **partie Frontend** permet de générer des fichiers dits
«&#8239;statiques&#8239;», du **serverless** est envisageable. L'application,
@ -60,13 +60,16 @@ bien que faisant des appels à une API, fonctionne de manière **autonome**. Ce
qui, a priori, facilite la préparation pour un déploiement. Cependant les
développeurs de l'application utilisent **un nom de domaine inscrit en dur
dans le fichier Dockerfile**, ce qui peut compliquer un déploiement sur
plusieurs domaines et environnements.
plusieurs domaines et environnements. En effet, une fois l'image Docker
compilée, il sera impossible de changer le nom de domaine. Déployer une telle
image limite donc l'usage à un seul domaine. Si on souhaite déployer sur
plusieurs domaines (pour un environnement de pré-production et un
environnement de production par exemple), il faudra faire une image Docker par domaine&nbsp;!
La **partie backend** s'appuie sur une base de données de type PostgreSQL. Elle
est donc **dépendante de la BDD**.
La **partie proxy** utilise actuellement **Traefik comme outil**. Ce qui n'est
pas une obligation d'usage pour un déploiement en production.
La **partie proxy** utilise actuellement **Traefik comme outil**.
Ces trois parties ont une influence sur le choix de l'infrastructure à mettre
en place. Il reste cependant une **marge de manœuvre sur la partie proxy**. En

View File

@ -1,5 +1,3 @@
\newpage
# Démarche suivie {#demarche}
La réalisation de ce projet va plus loin que la simple mise en place d'une
@ -20,9 +18,9 @@ notamment par&nbsp;:
* des **comptes-rendus journaliers rapides de 10mn** en respectant les points
suivants&nbsp;:
* ce que j'ai fait hier,
* ai-je rencontré un/des problème(s) qui vaut(valent) d'être cité(s),
* ce que je compte faire aujourd'hui,
* «&#8239;*ce que j'ai fait hier*&#8239;»,
* «&#8239;*ai-je rencontré un/des problème(s) qui vaut(valent) d'être cité(s)*&#8239;»,
* «&#8239;*ce que je compte faire aujourd'hui*&#8239;»,
* la **création de jalons** avec un ensemble de tâches sur une période d'une
semaine,
* des échanges réguliers en **pair-programming** sur des sujets difficiles
@ -193,7 +191,7 @@ fait donc un outil de choix pour notre projet.
\newpage
#### Base de connaissance
#### Base de connaissances
Une des premières choses qui a été faite sur cette plateforme a été la **mise
en place d'une base de connaissances** sous la forme d'un Wiki.

View File

@ -189,8 +189,6 @@ dépôt initial (celui de l'application par exemple). Et cela **laisse la
responsabilité aux personnes suivantes** (qui utilisent le dépôt initial) plutôt
qu'aux personnes qui s'occupent du code dans le dépôt initial.
\newpage
## Réalisation 2&nbsp;: États Terraform
### Contexte
@ -274,8 +272,6 @@ commandes make et qu'ils vérifient l'existence et le contenu du fichier
S'ajoute à cela une **documentation dans le fichier README.md**.
\newpage
Exemple de script avec **make init** pour bien comprendre de quoi il est
question&nbsp;:
@ -306,6 +302,8 @@ terraform init \
-backend-config=${BACKEND_HTTP_FILE} $@
```
\newpage
Et le contenu du fichier **env.example**, partagé aux développeurs comme d'un
template pour fabriquer le fichier **.env**&nbsp;:

View File

@ -103,7 +103,7 @@ https://blog.stephane-robert.info/docs/#la-roadmap), j'ai pu établir des
* le **sujet de la virtualisation**,
* **le GitOps avec** un outil tel que **FluxCD**.
![Apparence de la page d'accueil du blog de Stéphane
![Copie d'écran de la page d'accueil du blog de Stéphane
\textsc{Robert}](./media/screenshot_stephane-robert.png){width=100%}
### Recherches
@ -144,8 +144,9 @@ https://odtre.gitlab.io/doc/virtualisation/.
plusieurs systèmes d'exploitation** avant de les adopter et les déployer sur
notre infrastructure.
![Section «&#8239;Documentation&#8239;» du site statique odtre.gitlab.io
généré sur Gitlab](./media/screenshot_odtre_doc.png){width=100%}
![Copie d'écran de la section «&#8239;Documentation&#8239;» du site statique
odtre.gitlab.io généré sur Gitlab](
./media/screenshot_odtre_doc_shadow.png){width=100%}
\newpage
@ -169,7 +170,7 @@ Cf. https://fluxcd.io/flux/installation/bootstrap/ pour se mettre à jour
Comme auparavant, ceci a donné lieu à **la rédaction d'un article sur notre
outil de retranscription**, Cf. https://odtre.gitlab.io/doc/fluxcd/.
![Documentation de FluxCD sur le site
![Copie d'écran de la documentation de FluxCD sur le site
officiel](./media/screenshot_fluxcd-doc.png){width=100%}
## Conclusion

View File

@ -1,5 +1,3 @@
\newpage
# Conclusion
Ma **passion anticipée pour l'automatisation** et l'**amélioration des

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB