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.