Ce que j’apprends.
Tout est rangé par domaine. Dans chaque domaine, des parcours ; dans chaque parcours, des leçons courtes avec un entraînement et des cartes Anki.
Bachelor DevOps · ESGI
Tout ce que j’apprends à l’ESGI, matière par matière : mes cours réécrits avec mes mots, avec un entraînement et des cartes Anki.
10 parcours · 47 leçons
Python · les bases
Lire et écrire du Python de tête : types, conditions, collections, fonctions, exceptions.
Python · fichiers et outils
Lire des fichiers, du JSON et du CSV, puis en faire un vrai outil en ligne de commande.
Python · système et API
venv, os, shutil, subprocess, puis les API REST avec requests. Le programme du CC2.
Réseau · CCNA 1
Les équipements, les types de réseaux, le modèle OSI et l’encapsulation.
Réseau · sécurité et TP Cisco
Sous-réseaux, DHCP, VLAN, HSRP, OSPF, ACL et IPv6, avec les configurations Cisco.
Linux · architecture d’un serveur
Le noyau, les processus, /proc, /sys, /dev, la chaîne de démarrage, puis systemd.
Linux · ressources et stockage
Diagnostiquer un serveur lent, puis gérer LVM, le RAID et les pannes de disque.
Ansible
Automatiser la configuration des serveurs : inventaire et playbooks.
Agilité et Scrum
Du cycle en V à Scrum : rôles, événements, artefacts, et comment défendre une transition.
Anglais · TOEIC
Le format de l’examen et le vocabulaire du monde du travail.
Intelligence artificielle
Comment fonctionnent les outils d’IA que j’utilise tous les jours, hors programme de l’école.
1 parcours · 1 leçon
Méthode de travail
Apprendre, décider, mener un projet, s’organiser : ce domaine se lit en e-books, avec un extrait gratuit pour chacun.
Apprentissage
Décision
Organisation
Toutes les leçons
Types et conversions : str, int, float, bool, None
Reconnaître le type d'une valeur, savoir quand convertir avec int() et str(), et ne plus confondre « vide », « zéro » et « pas de valeur ».
Conditions : if, elif, else
Écrire et surtout lire une condition : comparaisons, comparaisons enchaînées, and / or / not, et savoir quelle branche d'un if / elif / else s'exécute.
Collections : list, tuple, dict, set
Choisir entre liste, tuple, dictionnaire et ensemble, lire une clé de dictionnaire de la bonne façon (crochets, get ou point) et parcourir une collection avec for, in et items().
Fonctions et chaînes : return, f-strings, méthodes de str
Écrire une fonction qui renvoie un résultat, distinguer return de print, utiliser les f-strings et le déballage, et ne plus se faire piéger par les méthodes de str qui renvoient une nouvelle chaîne.
Exceptions : lire un traceback, try / except / else / finally
Lire un traceback dans le bon sens, attraper une exception avec try / except, savoir quand passent else et finally, et ranger les except du plus précis au plus général.
Fichiers : with open, modes, pathlib
Ouvrir un fichier avec with open, choisir le bon mode (r, w, a), le lire ligne par ligne en utf-8, construire un chemin avec pathlib et attraper un fichier absent.
JSON : load, dump et fichier en erreur
Passer d'un fichier JSON à des listes et dictionnaires Python et inversement, choisir entre load/dump et loads/dumps, et arrêter proprement le script avec sys.exit quand le fichier est inutilisable.
CSV : reader, DictReader et lignes invalides
Lire un CSV avec csv.reader ou csv.DictReader, régler newline, l'encodage et le séparateur, numéroter les lignes avec enumerate, sauter une ligne invalide avec continue et valider un champ avec re.search.
Outil en ligne de commande : argparse, logging, codes de sortie
Lire les arguments de la ligne de commande avec argparse, ranger le programme dans main(), écrire des messages de suivi avec logging et renvoyer le bon code de sortie (0, 1 ou 2) au shell.
venv, pip et variables d'environnement
Isoler les paquets d'un projet dans un venv, figer leurs versions dans requirements.txt, lire une variable d'environnement avec os.environ et savoir pourquoi un secret n'a rien à faire dans le code ni dans git.
Rapports datés, os.scandir et shutil
Créer un dossier de rapports, nommer chaque rapport avec sa date pour qu'il se trie tout seul, lister un dossier avec os.scandir, calculer l'âge d'un fichier, puis copier, déplacer, archiver et supprimer avec shutil.
subprocess : lancer une commande depuis Python
Lancer une commande avec subprocess.run et une liste d'arguments, lire son code de retour et sa sortie, transformer un échec en exception avec check=True, borner l'attente avec timeout, et adapter la commande au système avec platform.system et shutil.which.
Bilan du parc : log.log, max(key=) et code de sortie
Journaliser chaque serveur au niveau qui correspond à son état avec log.log, trouver le pire état du parc avec max et key, et en déduire le code de sortie du programme : 0, 1 ou 2.
HTTP et requests.get : interroger /health
Lire un code de statut HTTP, distinguer un serveur sain, en panne ou injoignable, et interroger une adresse avec requests.get : status_code, json(), text, elapsed et raise_for_status().
requests : timeout, exceptions et statut ok / degraded / down
Mettre un timeout à chaque appel, reconnaître Timeout, ConnectionError, HTTPError et leur parent RequestException, ranger les except dans le bon ordre et classer un serveur en ok, degraded ou down.
Session et essais répétés : réessayer sans insister
Réutiliser une connexion et des en-têtes avec requests.Session(), réessayer un appel raté avec une boucle for et time.sleep, doubler la pause à chaque essai, et savoir pourquoi on s'arrête après quelques essais.
API GitLab et webhook : token, pagination, alerte
Appeler une API authentifiée avec un token placé dans un en-tête et lu dans os.environ, récupérer toutes les pages d'une liste, nettoyer un nom avec removeprefix, puis envoyer une alerte utile sur un webhook avec requests.post.
Les équipements du réseau : hub, switch, routeur
Tu sais dire ce que fait chaque équipement, à quelle couche il travaille et quelle adresse il lit, et tu sais compter les domaines de collision et de diffusion.
Types de réseaux et modes de communication
Tu sais classer un réseau par sa taille et son architecture, distinguer topologie physique et logique, et expliquer unicast, multicast, broadcast, mode connecté et non connecté.
Le modèle OSI : les 7 couches
Tu sais réciter les 7 couches dans l'ordre, dire le rôle de chacune, et retrouver à quelle couche travaille un équipement ou un protocole.
Encapsulation, PDU et modèle TCP/IP
Tu sais nommer les données à chaque couche, expliquer l'encapsulation avec les enveloppes, dire quelle adresse va dans quel en-tête et faire correspondre OSI et TCP/IP.
Sécurité : les piliers DIC et les grandes attaques
Tu sais citer les trois piliers DIC, expliquer authentification et non-répudiation, reconnaître les grandes familles d'attaques et dire quel pilier chacune touche.
Sous-réseaux : masque, CIDR et nombre magique
Tu sais lire une adresse IPv4 et son masque, trouver l'adresse réseau, la diffusion et la plage d'hôtes, et découper un /24 en /27 ou en /26 avec la méthode du nombre magique.
Hub, collisions et serveur DHCP
Tu sais expliquer les collisions sur un hub, dire à quoi sert DHCP, réciter les 4 messages DORA, configurer un routeur Cisco en serveur DHCP et diagnostiquer une adresse en 169.254.
VLAN, trunk, routage inter-VLAN et sécurité de port
Tu sais créer un VLAN et y placer un port, monter un trunk 802.1Q, router entre VLAN avec un routeur et des sous-interfaces, situer VTP, et verrouiller un port avec port-security.
HSRP : une passerelle de secours
Tu sais expliquer pourquoi une seule passerelle est un point de panne unique, dire quel routeur devient actif, configurer HSRP sur deux routeurs Cisco et lire « show standby brief ».
OSPF en zone unique et authentification MD5
Tu sais dire quand utiliser le routage dynamique, calculer un masque générique, configurer OSPF en zone 0 sur un routeur Cisco, vérifier les voisins et les routes, puis protéger les échanges par un mot de passe haché en MD5.
ACL : filtrer le trafic sur un routeur
Tu sais lire une ACL ligne par ligne, dire si un paquet passe, choisir entre ACL standard et étendue, l'écrire, l'appliquer sur la bonne interface dans le bon sens et la placer au bon endroit du réseau.
IPv6 : adresses, abréviations et configuration Cisco
Tu sais expliquer pourquoi IPv6 existe, lire et abréger une adresse de 128 bits, reconnaître son type d'après ses premiers chiffres et configurer IPv6 sur un routeur Cisco.
Noyau, espace utilisateur et processus
Tu sais expliquer qui a le droit de toucher au matériel, d'où vient un kernel panic, et tu sais lister, surveiller et arrêter les processus d'un serveur.
/proc, /sys, /dev : les dossiers où le noyau te parle
Tu sais où lire l'état du noyau, des processus et du matériel, changer un réglage avec sysctl et le rendre permanent, et reconnaître un périphérique dans /dev.
Le démarrage : de l'allumage à systemd
Tu sais réciter les cinq étapes du démarrage, dire ce que fait chacune, modifier GRUB et l'initramfs sans rien casser, et trouver quel maillon a lâché quand un serveur ne démarre plus.
systemd : unités et services
Tu sais lire et écrire un fichier .service section par section, choisir le bon Type et le bon Restart, expliquer ce qu'est une cible, et distinguer une dépendance (Wants, Requires) d'un simple ordre de démarrage (After, Before).
systemctl au quotidien
Tu sais démarrer, arrêter, recharger et activer un service, faire la différence entre « maintenant » et « au démarrage », bloquer un service avec mask, et suivre une méthode pour dépanner un service qui refuse de démarrer.
systemd : timers, sockets et drop-in
Tu sais planifier une tâche avec un timer, expliquer l'activation par socket, dire où vivent les fichiers d'unité et lequel l'emporte, modifier une unité proprement avec un drop-in, et passer des variables d'environnement à un service.
CPU : charge moyenne, utilisation et priorités
Tu sais lire les trois nombres de uptime et les comparer au nombre de cœurs, lire la ligne CPU de top, dire si un processus est limité par le calcul ou par le disque, et régler sa priorité ou les cœurs qu'il a le droit d'utiliser.
Mémoire : free, cache, swap et OOM killer
Tu sais lire free -h sans te faire piéger par la colonne free, expliquer pourquoi le cache disque n'est pas de la mémoire perdue, régler vm.swappiness, et retrouver dans les journaux du noyau quel processus l'OOM killer a tué.
Entrées/sorties, limites et cgroups
Tu sais trouver le disque saturé et le processus qui le sature, choisir le bon outil pour chaque question, lire et régler les limites d'un utilisateur ou d'un processus, et plafonner la mémoire ou le CPU d'un service avec systemd.
LVM : des volumes qu'on agrandit sans tout casser
Tu sais expliquer les trois étages PV, VG et LV, créer un volume logique, l'agrandir avec son système de fichiers, ajouter un disque au groupe et dire à quoi sert un instantané.
RAID logiciel avec mdadm
Tu sais choisir un niveau de RAID, créer une grappe avec mdadm, lire son état dans /proc/mdstat et remplacer un disque tombé en panne sans arrêter le serveur.
Systèmes de fichiers et pannes de disque
Tu sais suivre la pile du disque au point de montage, formater et monter un volume, et diagnostiquer les quatre pannes classiques : disque plein, inodes épuisés, lecture seule, fichier supprimé mais encore ouvert.
Ansible : inventaire et premier playbook
Tu sais expliquer ce qu'est Ansible, écrire un inventaire avec des groupes, lire et compléter un playbook qui installe et démarre nginx, et le lancer en vrai ou à blanc.
Cycle en V et agilité : deux façons de mener un projet
Tu sais décrire les phases du cycle en V, citer ses limites, réciter les 4 valeurs du Manifeste agile, expliquer « itératif et incrémental » et dire dans quel cas chaque approche se défend.
Scrum : responsabilités, événements, artefacts
Tu sais citer les 3 responsabilités de l'équipe Scrum, les 5 événements avec leur durée et leur but, et les 3 artefacts avec l'engagement attaché à chacun.
Le Scrum Master n'est pas un chef de projet
Tu sais expliquer pourquoi « le chef de projet devient le Scrum Master » est faux, dire qui reprend chaque responsabilité en Scrum, et argumenter une transition vers l'agilité devant une entreprise en cycle en V.
Le format du TOEIC Listening & Reading
Tu connais les sept parties du TOEIC, leur nombre de questions, le temps disponible et un réflexe de méthode pour chacune.
The Workplace : métiers et statuts
Tu sais nommer en anglais les postes d'une entreprise, tu évites les faux amis et tu reconnais qui parle à partir d'un indice entendu.
Tokens et fenêtre de contexte
Ce qu'un modèle de langage lit vraiment, pourquoi il « oublie » le début d'une longue conversation et ce que ça change quand on écrit un prompt.
Aucune leçon ne correspond.