Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
f418643640 | |||
de35100fe9 | |||
181a9770f1 | |||
21a64c6f45 |
BIN
Olivier_DOSSMANN-v1.2.pdf
Normal file
BIN
Olivier_DOSSMANN-v1.2.pdf
Normal file
Binary file not shown.
BIN
Olivier_DOSSMANN-v1.3.pdf
Normal file
BIN
Olivier_DOSSMANN-v1.3.pdf
Normal file
Binary file not shown.
@ -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:
|
||||
|
@ -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 :
|
||||
|
@ -6,55 +6,44 @@
|
||||
**précieuse**, sa **présence d'esprit** et son **exceptionnelle
|
||||
intelligence** : MERCI !
|
||||
|
||||
## À 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 :
|
||||
|
||||
* 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 à :
|
||||
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 :
|
||||
|
||||
* 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 !
|
||||
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 !
|
||||
|
||||
## Aux membres de la « cohorte »
|
||||
Aux **membres de la « cohorte »** 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 :
|
||||
Une mention aux personnes suivantes :
|
||||
|
||||
* à Maxime \textsc{Boulanghien},
|
||||
* à Michael \textsc{Lachand},
|
||||
* à Philippe \textsc{Risser-Maroix},
|
||||
* et à Dorian \textsc{Roly}.
|
||||
|
||||
## Et les autres
|
||||
## Et d'autres encore !
|
||||
|
||||
D'autres personnes n'ayant aucun lien avec cette formation ont pourtant
|
||||
participé à leur façon. Je tiens à remercier notamment Grégoire
|
||||
|
@ -1,3 +1,5 @@
|
||||
\newpage
|
||||
|
||||
# Liste de compétences couvertes par le projet
|
||||
|
||||
## Introduction
|
||||
|
@ -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 « cohorte » (équivalent d'une classe).
|
||||
|
||||
@ -125,7 +125,7 @@ puisse **apprendre par la pratique**.
|
||||
|
||||
On imagine facilement le cadre :
|
||||
|
||||
> 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.
|
||||
|
||||
|
@ -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
|
||||
« statiques », 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 !
|
||||
|
||||
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
|
||||
|
@ -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 :
|
||||
|
||||
* des **comptes-rendus journaliers rapides de 10mn** en respectant les points
|
||||
suivants :
|
||||
* 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,
|
||||
* « *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* »,
|
||||
* 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.
|
||||
|
@ -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 : É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 :
|
||||
|
||||
@ -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** :
|
||||
|
||||
|
@ -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**.
|
||||
|
||||
{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.
|
||||
|
||||
{width=100%}
|
||||
{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/.
|
||||
|
||||
{width=100%}
|
||||
|
||||
## Conclusion
|
||||
|
@ -1,5 +1,3 @@
|
||||
\newpage
|
||||
|
||||
# Conclusion
|
||||
|
||||
Ma **passion anticipée pour l'automatisation** et l'**amélioration des
|
||||
|
BIN
media/screenshot_odtre_doc_shadow.png
Normal file
BIN
media/screenshot_odtre_doc_shadow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
Loading…
Reference in New Issue
Block a user