Compétences
Toutes les compétences
La liste complète, rangée par domaine puis par bloc. Cherchez, filtrez par métier, formation, certification ou état, et ouvrez une fiche : elle dit ce qu'il faut savoir avant, qui la demande, et le chemin qu'il vous reste.
Parcourir la listeRetour à l’accueil des compétences
- 434 compétences suit les filtres de la liste
- 24 domaines de la base à la sécurité
- 7 métiers proposés en filtre de la liste
- 53 formations qui les enseignent
- 7 certifications qu’elles préparent
Comment lire ce catalogue Une compétence, son état pour vous, ses prérequis : ce que chaque ligne vous dit.
Compétence, état, prérequis
Le catalogue ne liste pas des cours mais des savoir-faire, rangés par domaine puis par bloc. Chaque ligne donne le volume de travail et les moyens de validation ; la fiche donne le reste.
Une compétence
Pas un cours
Une compétence décrit ce que vous saurez faire, et plusieurs formations peuvent y mener. Sa fiche dit lesquelles et, quand il y a le choix d'un outil, vos préférences décident de la voie suivie dans votre parcours.
Un état
Calculé pour vous
Acquise quand ses quiz sont réussis ou son lab de preuve réussi, en cours quand vous avez commencé, prête quand ses prérequis sont en place, verrouillée tant qu'une base manque. Le calcul se fait dans votre navigateur, à partir de ce que vous avez lu et réussi (quiz, labs).
Des prérequis
Et un chemin
Chaque compétence sait ce qu'il faut savoir avant. Sa fiche trace le chemin, de la base la plus en amont jusqu'à elle, avec le temps qu'il vous reste. L'ajouter à vos objectifs la fait entrer dans votre parcours, prérequis compris, sans rien retirer de ce que vous visez déjà.
Catalogue
Toutes les compétences
Une ligne par compétence : son volume de travail, ses moyens de validation et, dès que vous avez commencé, votre état. Repliez un domaine, ou filtrez : les sections sans résultat disparaissent.
Linux
40
Utiliser un terminal 1
Travailler sur un système Linux 6
- Diagnostiquer le réseau et lire les journaux
- Gérer utilisateurs, droits et processus
- Installer et maintenir des logiciels
- Installer un système Linux et identifier sa distribution
- Se repérer dans l'arborescence et manipuler fichiers et texte en ligne de commande
- Utiliser Bash efficacement : variables, expansions et premier script
Exploiter un serveur Linux 2
Administrer un serveur Linux 8
- Automatiser en shell et planifier des tâches
- Configurer et diagnostiquer le réseau d'un serveur
- Dépanner un serveur Linux
- Gérer des volumes logiques, le RAID logiciel et le chiffrement de disque
- Maintenir les logiciels d'un serveur et surveiller ses ressources
- Monter un stockage réseau : NFS, SMB et iSCSI
- Préparer un stockage local : disques, partitions, systèmes de fichiers et montage
- Surveiller processus et performances
Sécuriser un système Linux 3
Traiter du texte et des fichiers en ligne de commande 5
- Composer un pipeline qui extrait, trie, compte, compare et suit un flux de texte
- Éditer un fichier de configuration dans Vim : modes, motions, substitution
- Sauvegarder et restaurer une arborescence avec tar
- Télécharger un fichier et vérifier son intégrité et son authenticité
- Transformer des fichiers et des flux avec sed, awk et les expressions régulières
Personnaliser son environnement de travail 2
Gérer des paquets et des environnements reproductibles avec Nix 2
Isoler et limiter des processus avec le noyau 1
Tracer et durcir le noyau avec eBPF 2
Durcir un serveur Linux selon un référentiel 8
- Confiner un service : contrôle d'accès obligatoire (SELinux ou AppArmor), puis sandboxing systemd
- Durcir l'accès et les privilèges d'un serveur : SSH, PAM, sudo, permissions et planification
- Durcir le démarrage, les montages et la session locale : GRUB, nodev, nosuid, noexec, bannières, dconf
- Durcir le noyau en place : paramètres sysctl persistants et modules interdits
- Durcir un serveur NixOS par déclaration : mesures versionnées, test avant bascule, contrôle à l'exécution et retour à une génération saine
- Mesurer l'écart d'un serveur à un référentiel de durcissement et prioriser les mesures (ANSSI-BP-028, CIS)
- Recompiler un noyau durci KSPP et prouver ses options au démarrage
- Tracer qui a fait quoi sur un serveur Linux avec auditd : règles persistantes, ausearch et aureport
Réseau
16
Comprendre et observer un réseau IP 5
Exploiter et diagnostiquer les services réseau 5
Diagnostiquer les protocoles applicatifs 2
Segmenter, filtrer et chiffrer 4
Architecture
6
Lire et analyser une architecture de services 6
- Analyser le point d'entrée d'une architecture : proxys, répartition et bordure
- Classer les données d'une architecture et dire quoi sauvegarder ou répliquer
- Juger l'exploitation d'une architecture : reprise, accès d'administration, détection et impact
- Lire un schéma d'architecture : rôle, flux, état et dépendances de chaque brique
- Repérer les dépendances transverses et les frontières de confiance d'une architecture
- Suivre les échanges asynchrones d'une architecture et prédire leurs pannes
Exploitation
7
Tenir un parc en conditions opérationnelles 6
Comprendre le métier 1
Observabilité
7
Observer un service et sa plateforme 7
- Acheminer la télémétrie par un pipeline de collecte
- Centraliser les journaux d'un service et les interroger
- Collecter les métriques d'un service et en contrôler la qualité
- Construire un tableau de bord qui répond à une question d'exploitation
- Définir une alerte actionnable et la router sans bruit
- Instrumenter un service pour qu'il émette une télémétrie utile
- Interroger les métriques d'un service pour répondre à une question d'exploitation
Git
9
Collaborer avec Git 4
Réparer et enquêter dans l'historique 2
Héberger et assembler des dépôts Git 3
Scripting
17
Automatiser par le code 2
Industrialiser un projet Python ou Go 4
- Auditer la qualité et la sécurité du code et des dépendances d'un projet
- Gérer les versions de Python, les dépendances et les outils installés (pyenv, pipx, Poetry)
- Organiser son code en modules et publier un paquet sur PyPI
- Tester en isolation et sur plusieurs versions de Python (unittest, mock, tox)
Maîtriser le langage Python 5
- Concevoir des classes Python : encapsulation, héritage, abc et mixins
- Écrire du Python idiomatique : décorateurs, générateurs, context managers et itertools
- Manipuler listes, tuples, ensembles et découpes en Python
- Modéliser et typer des données en Python avec dataclasses, Enum et annotations
- Traiter et générer du texte en Python : chaînes, regex, dates et templates Jinja
Construire des applications et automatiser en Python 4
Écrire les bases d'un programme Go 2
Conteneurs
11
Construire et exploiter des conteneurs 5
Conteneuriser sans démon ni root avec Podman 3
Comprendre ce qui isole un conteneur 3
Kubernetes
50
Livrer une application sur Kubernetes 8
- Cloisonner les flux entre Pods par NetworkPolicy
- Configurer l'accès de kubectl à ses clusters : kubeconfig, contextes et namespace par défaut
- Configurer une application par ConfigMap et Secret
- Décliner des manifestes par environnement avec Kustomize
- Déployer et observer une application sur Kubernetes
- Exposer une application par Service, Ingress ou Gateway
- Mettre à jour une application et revenir en arrière
- Modifier des ressources Kubernetes de façon déclarative, sans dériver de Git
Concevoir des workloads Kubernetes 8
- Composer un Pod multi-conteneurs : init, sidecar, volumes partagés
- Déployer une application avec état (StatefulSet)
- Exécuter des tâches ponctuelles et planifiées (Job, CronJob)
- Exécuter un agent sur chaque nœud (DaemonSet)
- Fiabiliser un workload : sondes de santé et ressources
- Fournir un stockage persistant à une application
- Garantir la disponibilité d'une application pendant les perturbations
- Mettre à l'échelle automatiquement une application
Observer et dépanner un cluster 5
Comprendre, installer et maintenir un cluster 10
- Contrôler le placement des Pods
- Détecter et migrer les API dépréciées avant une montée de version
- Expliquer l'architecture d'un cluster Kubernetes
- Installer un cluster Kubernetes
- Maintenir et gérer les nœuds sans interrompre le service
- Mettre à jour un cluster kubeadm d'une version mineure
- Plafonner les ressources d'un namespace
- Rendre hautement disponible le plan de contrôle d'un cluster kubeadm
- Sauvegarder et restaurer l'état d'un cluster
- Utiliser des ressources personnalisées et des opérateurs
Sécuriser un cluster Kubernetes 9
- Autoriser l'accès à l'API Kubernetes par RBAC
- Chiffrer et authentifier le trafic entre Pods
- Confiner un conteneur face au noyau de l'hôte (seccomp, AppArmor)
- Donner à un workload une identité minimale (ServiceAccount)
- Durcir le contexte d'exécution d'un Pod (securityContext)
- Durcir les composants d'un cluster à partir du CIS Benchmark
- Faire refuser par le cluster ce qui enfreint une règle de sécurité
- Isoler un Pod dans un runtime bac à sable (RuntimeClass)
- Reconstituer qui a agi sur l'API grâce au journal d'audit Kubernetes
Déployer des applications avec Helm 2
Concevoir et distribuer des charts Helm 3
Rendre une application cloud native sur Kubernetes 5
- Adapter le nombre de nœuds d'un cluster aux Pods en attente et le réduire sans couper le service
- Auditer une application facteur par facteur (12-factor) sur Kubernetes et corriger ses écarts
- Évaluer un projet CNCF avant de l'adopter : maturité, gouvernance et santé du projet
- Imposer délais, reprises et autorisations par identité entre services avec un maillage
- Servir une application en scale-to-zero avec Knative et mesurer son démarrage à froid
CI/CD
15
Comprendre et construire une chaîne de livraison, quel que soit l'outil 4
Construire et exploiter la CI 5
Sécuriser la chaîne de livraison 5
- Auditer un workflow de CI et en modéliser la menace
- Durcir et isoler les runners d'une CI
- Produire le SBOM d'un artefact et qualifier ses vulnérabilités avec un VEX
- Sécuriser la définition d'un pipeline : permissions, secrets, épinglage et déclencheurs
- Signer un artefact, attester sa provenance et la vérifier avant déploiement
Fiabiliser un pipeline GitLab CI 1
GitOps
3
Provisionnement
28
Provisionner en code avec Terraform 12
- Concevoir, structurer et tester un module Terraform réutilisable
- Consommer et versionner des modules Terraform de façon reproductible
- Déclarer des ressources et des data sources Terraform avec des providers épinglés
- Exécuter Terraform sans interaction dans une chaîne, avec garde-fous
- Générer des ressources Terraform de façon contrôlée avec expressions, fonctions, count et for_each
- Initialiser, exécuter et diagnostiquer un projet Terraform, de init à destroy
- Inspecter et réparer un state Terraform, déplacer ou retirer des ressources sans les recréer
- Maîtriser l'ordre, le remplacement et les garde-fous des ressources Terraform
- Manipuler des données sensibles dans Terraform sans les exposer dans les sorties ni le state
- Organiser plusieurs environnements et un dépôt Terraform sans couplage dangereux
- Paramétrer un projet Terraform et exposer ses résultats sans dupliquer les valeurs
- Partager un state Terraform distant, verrouillé et récupérable
Construire des images machine avec Packer 3
Provisionner et gouverner dans le cloud avec Terraform 3
Raisonner et tenir une infrastructure en code, quel que soit l'outil 7
- Choisir la famille d'outils IaC adaptée au problème : ressources, configuration, images, langage
- Choisir une approche IaC et tracer la décision : provisionner ou configurer, modifier ou remplacer, push ou pull
- Faire évoluer une infrastructure existante en code : import, dérive, remplacement et destruction
- Livrer une infrastructure en code sous contrôle : plan approuvé, politiques, identité du moteur et coût
- Prévoir ce qu'un outil IaC va créer, modifier ou détruire : déclaratif, idempotence, état et plan
- Structurer une infrastructure en code à l'échelle : stacks, modules versionnés, environnements et dette
- Tenir un dépôt IaC sain : structure par couche, revue du plan, pyramide de contrôles et secrets hors du code
Provisionner et industrialiser avec Pulumi 2
Tester du code cloud sur un émulateur 1
Gestion de configuration
48
Configurer un parc avec Ansible 9
- Contrôler l'exécution d'un playbook : parallélisme, asynchrone, délégation et inclusion
- Décrire un parc dans un inventaire statique Ansible : groupes, variables et patterns
- Dépanner et exploiter Ansible en production : verbosité, débogueur, idempotence et ansible-pull
- Écrire un playbook Ansible lisible et idempotent
- Installer Ansible et régler son poste de contrôle
- Paramétrer un playbook Ansible : variables, facts, précédence et filtres Jinja2
- Préparer ses nœuds gérés et lancer des commandes ad hoc
- Protéger les secrets d'un projet Ansible : Ansible Vault et coffres externes
- Structurer Ansible en rôles et collections
Écrire des playbooks robustes 5
- Conditionner et répéter des tâches Ansible avec when et loop
- Contrôler les préconditions et synchroniser l'exécution d'un playbook
- Exécuter une commande brute par Ansible de façon idempotente et correctement rapportée
- Générer un fichier de configuration par Ansible avec un template Jinja2
- Gérer l'échec d'une tâche Ansible : rattraper, ignorer ou arrêter le play
Administrer un système par Ansible 9
- Connecter Ansible à un parc Windows
- Déposer, récupérer et archiver des fichiers par Ansible de façon idempotente
- Durcir un hôte par Ansible : pare-feu, SELinux et paramètres noyau
- Gérer comptes, groupes, clés SSH et droits sudo par Ansible
- Installer des paquets et déclarer des dépôts par Ansible sur plusieurs distributions
- Modifier un fichier de configuration existant par Ansible sans le réécrire
- Partitionner, formater et monter du stockage par Ansible, LVM compris
- Piloter services, tâches planifiées, nom d'hôte et redémarrages d'un hôte par Ansible
- Télécharger un artefact vérifié et dialoguer avec une API HTTP depuis un playbook
Industrialiser des rôles Ansible 4
Outiller et étendre Ansible 4
Configurer un parc avec Chef 8
- Écrire un cookbook Chef et le converger de façon idempotente, en conteneur puis sur une VM
- Exploiter un parc avec un serveur CINC : enrôlement, recherche, policy groups, mode pull
- Mesurer et corriger la conformité d'un serveur avec InSpec et Chef
- Protéger les secrets d'un parc Chef : data bags chiffrés et chef-vault
- Rendre un cookbook configurable et portable : attributs, templates, Ohai
- Structurer un cookbook maintenable : recettes, ressources personnalisées, notifications, lint
- Tester un cookbook avant et après convergence : ChefSpec, InSpec, Test Kitchen, CI
- Verrouiller les cookbooks avec les Policyfiles et les livrer sans serveur
Piloter la conformité d'un parc avec Rudder 2
Configurer un parc avec Salt 5
- Coordonner un parc Salt : orchestration multi-nœuds, Salt SSH et Reactor
- Décrire l'état voulu d'un serveur en states Salt idempotents
- Industrialiser Salt : secrets GPG, states depuis Git, master durci, enrôlement automatique
- Piloter un parc à distance avec Salt : master, minions, clés et ciblage
- Rendre les states génériques avec grains, pillars, Jinja et fichiers gérés
Construire l'inventaire d'un parc Ansible 2
Sécurité
24
Écrire, vérifier et livrer des politiques Rego 4
- Appliquer des politiques Rego aux fichiers de configuration dans une chaîne CI
- Écrire une politique Rego juste en syntaxe OPA 1.x, et prévoir ce qu'elle rend
- Empaqueter, signer et distribuer des politiques Rego à des instances OPA
- Vérifier une politique Rego : tests, couverture, lint et contrôle en CI
Sécuriser la chaîne de livraison 2
Tenir les secrets d'un système, de l'inventaire à la fuite 6
- Délivrer un secret à durée de vie bornée, le renouveler et le révoquer en urgence
- Détecter un secret exposé, mesurer la portée de la fuite et la traiter
- Opérer un coffre en production : l'initialiser, le sceller, le sauvegarder et le surveiller
- Recenser les secrets d'un système, les classer par criticité et tenir leur registre
- Scoper l'accès à un coffre au strict nécessaire et expliquer un refus
- Stocker un secret dans un coffre et le lire sans jamais l'écrire en clair
Penser la sécurité à chaque étape 6
Approfondir la sécurité de bout en bout 3
Comprendre les menaces et raisonner la défense 3
DevSecOps
4
Identité et accès
8
Centraliser l'identité et les accès 8
- Brancher le serveur d'API Kubernetes et Vault sur un fournisseur d'identité OIDC, convertir les groupes du jeton en droits limités et diagnostiquer un refus
- Brancher une application en OpenID Connect sur un fournisseur d'identité, valider ses jetons et dépanner une intégration OIDC ou SAML
- Exiger un second facteur par groupe dans Keycloak, avec enrôlement forcé et récupération, et poser une politique de mot de passe conforme à NIST SP 800-63B-4
- Exploiter Keycloak en production : proxy TLS, sauvegarde restaurée, montée de version, accès de secours et realm décrit en Terraform
- Fédérer dans Keycloak un annuaire LDAP ou Active Directory et un fournisseur d'identité partenaire
- Gérer le cycle de vie des comptes dans Keycloak par SCIM et Workflows, traiter un départ et conduire une revue des accès
- Mettre en service Keycloak sur PostgreSQL et administrer un realm : utilisateurs, groupes, rôles et journaux d'événements
- Protéger une API par jeton OAuth 2 : audience, scopes, accès machine et choix du flow d'un client sans navigateur
Virtualisation
20
Comprendre la virtualisation et choisir un type d'hyperviseur 1
Mettre en service un hyperviseur et ses instances (KVM, Proxmox VE ou Incus) 4
- Connecter des instances au réseau et exposer leurs services : NAT, bridge, VLAN et dépannage
- Créer des instances prêtes à l'emploi : stockage, création, premier démarrage configuré et agent invité
- Décrire et déployer des instances en Terraform avec le provider de l'hyperviseur
- Mettre en service un hyperviseur et vérifier qu'il fonctionne
Virtualiser avec KVM et libvirt 4
- Adapter une VM KVM au matériel de l'hôte : CPU, virtio, cache disque et passthrough VFIO
- Confiner une VM KVM avec libvirt : sVirt, Secure Boot, vTPM et filtrage nwfilter
- Exploiter des VM KVM au quotidien avec virsh, l'agent invité et l'accès distant
- Sauvegarder, cloner et migrer à chaud une VM KVM avec libvirt
Exploiter un hôte Incus 5
- Automatiser Incus avec Ansible : connection plugin, provisioning et images personnalisées
- Diagnostiquer une VM Incus bloquée au démarrage
- Exploiter des instances Incus : images OCI, stockage, profils, projets et GPU
- Migrer vers Incus : VM VMware, installation LXD, machine physique ou virtuelle
- Sécuriser un serveur Incus et son administration à distance
Exploiter une plateforme Proxmox VE 3
Bâtir un cloud privé avec Incus 3
- Administrer des nœuds Incus OS par l'API : installation par seed, mises à jour A/B, Tailscale, sauvegarde, supervision et flotte
- Isoler des tenants sur Incus : VPC OVN, load balancer, ACL, quotas, credentials scopés et déploiement 3-tiers en Terraform
- Monter et faire vivre un cluster Incus : jonction, quorum et rôles, workers, stockage partagé CephFS
Cloud
45
Bâtir une infrastructure cloud, Scaleway ou Outscale 4
Industrialiser le cloud en code : Terraform, Packer, Ansible 3
Faire tourner un Kubernetes managé dans le cloud 1
Gouverner et sécuriser un compte Scaleway 3
Opérer les services managés Scaleway 4
- Exploiter une base PostgreSQL managée Scaleway en réseau privé, la sauvegarder et la restaurer
- Exposer un service Scaleway : Public Gateway, bastion et Load Balancer
- Livrer une application sur Kapsule : registre privé, Ingress ou Load Balancer, volumes persistants
- Observer ses ressources Scaleway avec Cockpit et retrouver un incident passé
Fiabiliser, auditer et étendre Outscale : haute disponibilité, Well-Architected, Talos 5
- Choisir sa région, son API et son niveau de qualification Outscale
- Évaluer une architecture Outscale pilier par pilier avec la grille Well-Architected
- Intégrer un cluster Kubernetes Talos auto-géré à Outscale : OMI, CCM, CSI et fGPU
- Rendre un service hautement disponible entre sous-régions Outscale : LBU et DNS, ou HAProxy et EIP flottante
- Structurer identités, permissions et comptes Outscale avec EIM
Concevoir un environnement cloud sans dépendre du fournisseur 7
- Choisir l'interconnexion et le motif réseau d'un environnement hybride : VPN, lien dédié, BGP, DMZ et hub-spoke
- Choisir la famille et la classe de stockage d'un workload selon accès, performance mesurée, durabilité et coût
- Choisir le modèle de calcul d'un workload et le dimensionner à partir de mesures
- Choisir le modèle de service et de déploiement d'un workload et répartir les responsabilités
- Choisir un service de données, managé ou auto-géré, et le raccorder en privé, réplication et bascule comprises
- Concevoir le réseau privé d'un environnement cloud : adressage, réseau régional attaché dans plusieurs zones, routage et filtrage par défaut
- Estimer le coût mensuel d'une architecture cloud à partir de grilles tarifaires datées
Donner des accès cloud minimaux, aux humains comme aux workloads 2
Exposer un workload cloud et le faire tenir aux pannes 3
- Exposer une application privée par répartiteur, sonde de santé, DNS, TLS et bordure
- Placer un workload en zones et régions pour tenir une cible de disponibilité, de RTO et de RPO, et le prouver
- Rendre un workload élastique : sans état local, extensible par ajout d'instances, tolérant la perte de l'une d'elles
Reconstruire et exploiter un environnement cloud 2
Encadrer l'usage du cloud : garde-fous, coûts et souveraineté 4
- Concevoir l'organisation d'un environnement cloud multi-équipes : frontières en comptes, hiérarchie et zone d'atterrissage
- Évaluer un fournisseur cloud sur juridiction, dépendances, détention des clés et réversibilité, et chiffrer sa sortie
- Organiser un environnement cloud multi-équipes : comptes séparés, garde-fous en code et étiquetage
- Réduire la facture d'une architecture cloud sans dégrader la résilience demandée
Planifier la migration d'un parc applicatif vers le cloud 1
Défendre une architecture cloud en revue 1
Décider d'une architecture cloud cible 1
Recommander les évolutions d'une architecture cloud 1
Concevoir le modèle d'identité et d'accès d'un environnement cloud 1
Tester du code cloud sur un émulateur 2
Développement
8
Approfondir un langage : concurrence, performance, métaprogrammation 4
- Agir sur les classes et les attributs en Python : métaclasses, descriptors et patterns pythoniques
- Durcir une suite de tests Python : Hypothesis, fixtures pytest, couverture et mutation
- Exécuter des traitements concurrents et choisir le bon modèle
- Profiler et optimiser un programme Python, jusqu'à l'extension native
S'initier au métier de développeur en Python : lire, tester, relire, livrer 4
Formats de données
17
Écrire, contrôler et interroger des formats de configuration et de données 11
- Consommer une API REST depuis un script shell de façon fiable
- Écrire et relire un document YAML correct et sans ambiguïté
- Formater, valider et linter des fichiers HCL, en CI comme en local
- Interroger et modifier des fichiers HCL par script, de façon vérifiable
- Interroger et modifier un document YAML de façon reproductible
- Interroger une sortie structurée avec JMESPath (AWS CLI, Azure CLI, Ansible)
- Interroger une sortie structurée avec JSONPath, notamment dans kubectl
- Lire et écrire du HCL juste, en séparant le langage de ce que Terraform et Packer y ajoutent
- Produire un JSON correctement typé et échappé depuis un script
- Valider un document YAML par lint, schéma et contrôles automatiques
- Valider un JSON strictement et contre un JSON Schema
Interroger, modifier et faire évoluer une base relationnelle en SQL 5
- Automatiser des opérations SQL de façon fiable et sûre
- Diagnostiquer une requête SQL lente avec les index et EXPLAIN
- Faire évoluer un schéma relationnel sans mettre le service en risque
- Lire un schéma et interroger des données relationnelles avec SQL
- Modifier des données de façon sûre, en transaction et en concurrence
Traiter du texte et des fichiers en ligne de commande 1
IA appliquée
25
Travailler avec un agent de code 3
Cadrer et sécuriser un agent de code 2
Étendre et industrialiser un agent de code 4
- Automatiser et outiller Claude Code avec des hooks, des skills et des plugins
- Brancher un serveur MCP à Claude Code et déléguer à des subagents isolés
- Exécuter Claude Code sans session interactive, en CI, avec le modèle et le coût adaptés
- Livrer un projet complet piloté par Claude Code, tranche verticale par tranche verticale
Comprendre, servir et intégrer des modèles de langage 5
- Appeler un LLM depuis Python : complétion, streaming, conversation, sorties structurées et images
- Écrire des prompts fiables : rôles, few-shot, Chain-of-Thought et ReAct
- Exécuter et servir un LLM open source, du poste au GPU
- Expliquer le fonctionnement, l'inférence et la quantification d'un LLM
- Exploiter une passerelle LLM : routage, repli, cache, clés et budgets
Construire un RAG 3
Construire et industrialiser des serveurs MCP 2
Construire des agents IA 3
Assembler, observer et sécuriser une stack IA souveraine 3
Documentation
10
Documenter un service ou un projet 10
- Choisir le type de document et son lecteur avant d'écrire
- Construire et publier une documentation contrôlée en CI
- Construire une présentation technique en Markdown ou en HTML, versionnée et exportée
- Documenter du code : commentaires qui disent pourquoi, docstrings, référence générée
- Doter un dépôt de son README, de son CHANGELOG et de ses ADR
- Faire vivre une documentation : propriétaire, revue, fraîcheur
- Modéliser une architecture au-delà du contexte : composants, vues dynamiques et de déploiement, modèle unique en code
- Rédiger un document technique en AsciiDoc : structure, attributs, blocs et conversion
- Rédiger une page technique claire, accessible et vérifiable
- Représenter un système en diagrammes as code lisibles sans l'image
Machine learning
10
Cadrer, outiller, entraîner et reproduire des modèles de machine learning 10
- Cadrer un problème de machine learning : choisir la famille d'apprentissage et situer le travail dans le cycle de vie du projet
- Enregistrer un modèle, le versionner et le désigner par alias avec sa lignée (MLflow)
- Entraîner un petit réseau de neurones sur CPU avec PyTorch et lire sa frontière de décision
- Entraîner une régression linéaire et l'évaluer sur un jeu de test (scikit-learn, R², RMSE)
- Préparer un poste de data science reproductible : environnement conda épinglé et notebook Jupyter qui s'exécute de bout en bout
- Regrouper des données sans étiquettes avec k-means et choisir le nombre de groupes (coude, silhouette)
- Rendre un entraînement reproductible et le décrire en pipeline paramétré rejoué à l'identique (uv, DVC)
- Tester données et modèle avant promotion : schéma, bornes, seuil et non-régression face au champion (pytest)
- Tracer chaque entraînement sur un serveur de suivi et retrouver le run qui a produit un modèle (MLflow)
- Versionner un jeu de données hors de Git et en retrouver une version exacte (DVC)
forge
6
Administrer une forge Git auto-hébergée 6
- Entretenir Forgejo et monter de version : tâches planifiées, doctor et quotas, montée répétée sur une copie avec critères de validation et retour arrière par la sauvegarde
- Gouverner les accès à Forgejo : organisations, équipes et droits, connexion par un fournisseur OIDC avec second facteur imposé, et assistance aux comptes en ligne de commande
- Mettre en service Forgejo sur PostgreSQL derrière un proxy TLS, accessible en HTTPS et en SSH, puis régler courrier, LFS et inscriptions
- Sauvegarder Forgejo, copier la sauvegarde chiffrée hors de la machine, la restaurer sur une pile vierge et rédiger le runbook de reprise
- Sécuriser une instance Forgejo : webhooks fermés au réseau interne, force brute bannie par fail2ban, compte administrateur de secours, jetons à portée limitée et commits signés
- Superviser Forgejo par ses journaux et ses métriques Prometheus, déclencher une alerte et diagnostiquer une panne de la base
Aucune compétence ne correspond à ces critères.