
Chef est un outil de gestion de configuration qui décrit l'état voulu de vos serveurs dans du code Ruby, puis le fait converger de façon idempotente. Cette formation l'aborde par sa distribution 100 % libre CINC, sans aucune licence propriétaire ni compte à créer, avec des labs reproductibles qui tournent en quelques secondes dans des conteneurs. Public visé : sysadmins et DevOps curieux de Chef, débutants acceptés, à l'aise avec la ligne de commande Linux et les conteneurs.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer un poste de travail Chef libre avec CINC Workstation.
- Écrire un premier cookbook et le converger dans un conteneur jetable avec Test Kitchen.
- Comprendre les briques de base : ressources, recettes, attributs, idempotence.
- Structurer, tester et linter un cookbook pour le rendre maintenable.
- Déployer une configuration sur une vraie VM.
Qu'est-ce que Chef, et pourquoi CINC
Section intitulée « Qu'est-ce que Chef, et pourquoi CINC »Chef décrit la configuration comme un état désiré : « ce paquet installé, ce service démarré, ce fichier présent avec ce contenu ». À chaque exécution, Chef compare l'état réel à l'état voulu et n'applique que les écarts. C'est le principe d'idempotence : rejouer le même code deux fois ne change rien la seconde fois.
Contrairement à Ansible qui est sans agent, Chef est agent-based :
un client cinc-client s'exécute sur chaque nœud pour appliquer la
configuration. Cette formation évite d'installer quoi que ce soit sur les cibles
grâce à Test Kitchen et son driver dokken (Docker) : l'agent est monté
depuis une image, tout se pilote depuis votre poste, et un cycle complet
tourne en secondes.
Le point qui change tout pour apprendre sereinement : CINC. C'est un
rebuild libre et gratuit de Chef, bit pour bit, sans les restrictions de
licence de l'édition commerciale. Vous obtenez le même outil, le même langage,
le même écosystème, mais 100 % open source. Toute la formation s'appuie sur
CINC Workstation et l'image cincproject/cinc.
Le programme en 2 volets
Section intitulée « Le programme en 2 volets »La formation compte 12 leçons réparties en deux volets, du plus simple au
plus structuré. Le volet 1 (Fondamentaux) vous fait installer l'outillage,
écrire un premier cookbook et comprendre ressources, recettes, attributs,
templates et idempotence, jusqu'à un déploiement sur une vraie VM avec
knife-zero. Le volet 2 (Cookbooks structurés) apprend à organiser un
cookbook propre : ressources personnalisées, notifications, ordre d'exécution et
Cookstyle pour linter le code.
Le mieux est de suivre les leçons dans l'ordre, chacune s'appuyant sur la précédente. Le programme détaillé, avec suivi de progression, se trouve sur la page dédiée.
Chef ou Ansible : lequel apprendre
Section intitulée « Chef ou Ansible : lequel apprendre »Les deux résolvent le même problème, avec des philosophies opposées. Ansible est agentless et pilote les machines par SSH avec du YAML : idéal pour l'orchestration et la prise en main rapide. Chef est agent-based et décrit la configuration en Ruby : plus verbeux au départ, mais très puissant pour gérer un parc important avec une logique riche, des ressources personnalisées et des tests systématiques.
Apprendre Chef reste pertinent en 2026 : de nombreuses organisations exploitent un socle Chef existant, et la logique état désiré + idempotence + tests est transférable partout. Si vous découvrez la gestion de configuration, vous pouvez aussi comparer avec la formation Ansible pour choisir en connaissance de cause.
À retenir
Section intitulée « À retenir »- Chef décrit un état désiré en Ruby et le fait converger de façon idempotente.
- CINC est le rebuild 100 % libre de Chef : même outil, sans licence propriétaire.
- Chef est agent-based, mais Test Kitchen + dokken évitent toute installation sur les cibles et rendent les labs reproductibles en secondes.
- Le parcours va du premier cookbook au déploiement sur une vraie VM, puis à des cookbooks structurés et testés.
- Pas besoin de maîtriser Ruby pour commencer : on apprend le sens du code avant le langage.