3. Prérequis
Prérequis indispensables (le cours ne les réenseigne pas, sauf les rappels ciblés du chapitre 6) :
- Linux en ligne de commande : navigation, permissions, édition de fichiers, notions de systemd ;
- réseau TCP/IP : adresses, ports, DNS, notions de routage et de pare-feu ;
- HTTP : méthodes, en-têtes, codes de réponse, notion d'API REST ;
- TLS : rôle d'un certificat, d'une autorité de certification, principe de la négociation (le détail utile est repris aux chapitres 6, 17 et 28) ;
- cryptographie générale : savoir distinguer chiffrement symétrique, chiffrement asymétrique et hachage (repris et précisés au chapitre 6) ;
- lecture du format JSON.
Prérequis recommandés, nécessaires seulement pour certains chapitres :
- Docker ou Podman (travaux pratiques multi-nœuds, TP 10 à 12, et chapitre 38) ;
- notions de Kubernetes (chapitre 38, étude de cas 3) ;
- un langage parmi Python, Go, Java, Node.js (chapitre 40) ;
- notions d'un cloud public AWS, Azure ou GCP (chapitres 19 et 22) ;
- Git et principes de la CI/CD (chapitre 39).
Aucune connaissance préalable de Vault n'est requise.
Environnement de travaux pratiques : au minimum une machine Linux (physique ou virtuelle, 4 Go de RAM) pour les TP 1 à 8 ; pour les TP 9 à 15, une machine capable d'exécuter cinq à six conteneurs (environ 8 Go de RAM au total ; l'ensemble du parcours est fourni en version conteneurisée) ou trois machines virtuelles ; un compte cloud d'essai est optionnel (TP 9, pour lequel une variante hors cloud est prévue). Le détail est donné en partie XV.