Zettelkasten pour les développeurs : une méthode pratique qui fonctionne

Construire un graphe de connaissances pour les développeurs.

Sommaire

Les développeurs ne souffrent généralement pas d’un manque d’informations. Ils souffrent de leur excès.

Il y a des documentation d’API, des pull requests, des incidents en production, des discussions sur la conception, des comptes rendus de réunions, des diagrammes d’architecture, des commentaires de code, des fils de discussion Slack, des articles de recherche, des expériences, des signets et des idées à moitié finies disséminés dans cinq outils différents. La difficulté n’est pas de sauvegarder l’information. La difficulté est de la transformer en réflexion réutilisable.

C’est là que le Zettelkasten devient utile.

infographie zettelkasten

Un Zettelkasten est souvent décrit comme un système de prise de notes, mais cela en minimise l’importance. Bien utilisé, c’est un système de gestion des connaissances personnelles pour développer des idées au fil du temps. Pour les développeurs, il peut devenir un pont pratique entre le code, l’architecture, le débogage, l’apprentissage et l’écriture.

L’aspect partisan de cette approche est le suivant : la plupart des développeurs ne devraient pas utiliser le Zettelkasten comme un passe-temps productiviste romantique. Ne construisez pas un musée de notes beau à voir. Construisez un système fonctionnel qui vous aide à résoudre des problèmes, expliquer des systèmes et prendre de meilleures décisions d’ingénierie.

Qu’est-ce que le Zettelkasten ?

Zettelkasten signifie “boîte à fiches”. La méthode est associée au sociologue Niklas Luhmann, qui a utilisé une grande collection de notes liées pour développer des idées et écrire abondamment.

La leçon importante n’est pas qu’il utilisait des cartes papier. La leçon importante est que ses notes n’étaient pas des fichiers isolés. Chaque note avait une idée claire, une place dans le système et des liens vers d’autres notes. Avec le temps, le système est devenu plus précieux car les connexions s’accumulaient.

Pour les développeurs, la version moderne est simple :

  1. Écrivez une idée utile par note.
  2. Liez-la aux notes connexes.
  3. Utilisez ces liens pour faire croître les explications, les décisions, les modèles et les articles.

C’est tout. Le reste relève des détails d’implémentation.

Pourquoi les développeurs peinent avec la surcharge cognitive

Le développement logiciel crée des connaissances à la fois détaillées et éphémères.

Vous apprenez pourquoi un bug d’invalidation de cache s’est produit. Vous découvrez un cas limite étrange dans un framework. Vous comparez deux stratégies de files d’attente. Vous déboguez une panne en production. Vous comprenez pourquoi un service legacy se comporte bizarrement. Vous lisez un excellent article sur le traçage distribué.

Ensuite, deux mois plus tard, vous vous souvenez vaguement avoir un jour connu la réponse.

La pile de connaissances habituelle des développeurs aggrave cette situation :

  • Les signets stockent les sources, pas la compréhension.
  • Les dossiers imposent une catégorisation prématurée.
  • Les wikis deviennent obsolètes quand personne ne les possède.
  • Les listes TODO mélangent tâches et idées.
  • Les commentaires de code expliquent des détails locaux, pas des concepts plus larges.
  • Les messages de chat disparaissent dans l’historique.

Le Zettelkasten aide car il traite la connaissance comme un réseau, pas comme un entrepôt. Si cette vision vous rappelle celle de la construction d’un second cerveau, ce n’est pas une coïncidence — les deux méthodes attaquent le même fossé entre la capture et la réutilisation, mais la discipline du Zettelkasten en matière de notes atomiques et de liens explicites donne aux développeurs une prise plus granulaire sur les idées techniques.

Principes fondamentaux du Zettelkasten

Notes atomiques

Une note atomique contient une seule idée.

Pas un sujet. Pas un résumé d’article. Pas une page géante intitulée “PostgreSQL”. Une seule idée.

Par exemple, ceux-ci sont trop larges :

Notes PostgreSQL
Kubernetes
Mise en cache
Conception de système

Ces exemples sont plus proches de l’atomicité :

Les index partiels réduisent la surcharge d'écriture lorsque les requêtes ciblent un petit sous-ensemble
Les sondes de disponibilité Kubernetes protègent le routage du trafic, pas le démarrage des conteneurs
La mise en cache write-through améliore la cohérence mais augmente la latence d'écriture
Les clés d'idempotence transforment les tentatives en opérations sûres

Les notes atomiques sont puissantes car elles sont plus faciles à lier. Une page énorme ne peut être liée que comme un sujet vague. Une note ciblée peut être connectée à un concept exact, une décision, un bug ou un système.

Une bonne note de développeur devrait généralement répondre à l’une de ces questions :

  • Quelle est l’idée ?
  • Quand est-ce important ?
  • Quel compromis cela expose-t-il ?
  • Où l’ai-je vu dans du code réel ?
  • À quel autre concept cela se connecte-t-il ?

Liens

Les liens sont le cœur du système.

L’objectif n’est pas de créer un graphique esthétique. L’objectif est de rendre les idées réutilisables.

Lorsque vous écrivez une note sur les clés d’idempotence, liez-la aux notes sur les tentatives, les systèmes distribués, le traitement des paiements, les files d’attente de messages, la conception d’API et la prévention des incidents. Lorsque vous écrivez une note sur les migrations de base de données, liez-la à la sécurité du déploiement, à la stratégie de retour arrière, à la compatibilité ascendante et aux fonctionnalités basées sur des drapeaux (feature flags).

Un lien devrait généralement signifier l’une de ces choses :

  • “Cela explique le même concept sous un autre angle.”
  • “Ceci est un exemple pratique de l’idée.”
  • “Ceci est un compromis ou un contrepoint.”
  • “Ce concept dépend de celui-là.”
  • “Cette note appartient à un argument plus large.”

Évitez les liens paresseux. Lier chaque note à toutes les autres crée du bruit. Les meilleurs liens sont intentionnels.

Émergence

L’émergence est la partie du Zettelkasten qui semble mystique, mais elle est pratique.

Vous n’avez pas besoin de concevoir la structure parfaite dès le départ. Vous ajoutez des notes utiles, les connectez honnêtement et laissez les grappes apparaître avec le temps.

Après quelques mois, vous remarquerez peut-être que de nombreuses notes se connectent autour de sujets comme :

  • Fiabilité de l’API
  • Observabilité
  • Expérience développeur
  • Architecture orientée événements
  • Performance des bases de données
  • Dette technique
  • Documentation
  • Révisions de sécurité

Ces grappes deviennent des articles futurs, des documents internes, des principes de conception, des conférences, du matériel d’intégration ou de meilleures décisions d’ingénierie.

C’est pourquoi le Zettelkasten diffère d’une hiérarchie de dossiers. Les dossiers vous demandent de décider où la connaissance appartient avant de la comprendre pleinement. Les liens permettent à la connaissance d’appartenir à plusieurs contextes.

Une adaptation du Zettelkasten pour les développeurs

Les conseils classiques du Zettelkasten proviennent souvent de l’écriture académique — la littérature sur la gestion des connaissances personnelles couvre bien cette tradition. Les développeurs ont besoin d’une version légèrement différente.

Un Zettelkasten de développeur devrait connecter trois choses :

  1. Concepts
  2. Code
  3. Systèmes

Concepts

Les notes de concept expliquent des idées réutilisables.

Exemples :

La contre-pression empêche les producteurs rapides de submerger les consommateurs lents
Le verrouillage optimiste détecte les écritures conflictuelles sans bloquer les lecteurs
Les disjoncteurs protègent les dépendances des appels échouants répétés

Ces notes doivent être écrites avec vos propres mots. Copier la documentation ne suffit pas. La valeur vient de vous forcer à expliquer le concept clairement.

Une note de concept utile peut inclure :

  • Une courte explication
  • Un exemple concret
  • Un compromis
  • Un lien vers un modèle connexe
  • Un lien vers un système réel où vous l’avez utilisé

Code

Les notes de code capturent les connaissances pratiques d’implémentation.

Ce ne sont pas des déversements de snippets aléatoires. Un snippet n’est utile que s’il explique une décision ou un modèle.

Par exemple :

## Gestion des requêtes idempotentes avec une contrainte de base de données

L'implémentation la plus sûre est souvent une contrainte d'unicité sur la clé d'idempotence.
L'application peut renouveler ses tentatives en toute sécurité car les requêtes dupliquées résolvent vers le même
résultat stocké au lieu de créer un second effet secondaire.

Connexes :
- [[Les tentatives nécessitent des opérations idempotentes]]
- [[Les contraintes de base de données sont un contrôle de la concurrence]]
- [[Les API de paiement doivent traiter l'échec réseau comme un résultat inconnu]]

De bonnes notes de code expliquent pourquoi le code fonctionne, quand l’utiliser et ce qui peut mal tourner.

Systèmes

Les notes de système connectent les idées abstraites à votre architecture réelle.

Par exemple :

Le service de facturation utilise des clés d'idempotence car les appels au fournisseur de paiement peuvent
réussir même lorsque notre client HTTP atteint son délai d'attente.

Cette note peut être liée à :

Les clés d'idempotence transforment les tentatives en opérations sûres
Les délais d'attente ne prouvent pas l'échec
Les API de paiement doivent modéliser les résultats inconnus
Le modèle Outbox sépare les écritures de base de données des effets secondaires externes

C’est là que le Zettelkasten devient précieux pour le travail d’ingénierie senior. Il vous aide à construire une mémoire de la raison pour laquelle les systèmes ont la forme qu’ils ont.

Un flux de travail pratique

Étape 1 : Capturer des notes éphémères

Une note éphémère est une capture brute. Elle n’a pas besoin d’être polie.

Exemples :

Regarder pourquoi la sonde de disponibilité a échoué pendant le déploiement.
Peut-être que les tentatives ont empiré le bug de facture dupliquée.
Bonne citation de la revue d'incident : le délai d'attente n'est pas un échec.
Recherche : Index partiel Postgres pour les lignes actives uniquement.

Utilisez ce qui est le plus rapide : note quotidienne Obsidian, journal Logseq, fichier texte, notes mobiles ou tampon de brouillon.

La règle est simple : capturer rapidement, traiter plus tard.

Étape 2 : Traiter les notes en notes permanentes

Le traitement est là où la valeur apparaît.

Transformez les notes brutes en notes claires et réutilisables. Réécrivez avec vos propres mots. Donnez à chaque note un titre qui énonce l’idée.

Mauvais titre :

Tentatives

Meilleur titre :

Les tentatives sont sûres uniquement lorsque l'opération est idempotente

Mauvaise note :

Besoin d'idempotence pour les tentatives.

Meilleure note :

Les tentatives peuvent transformer un problème réseau temporaire en effets secondaires dupliqués.
Une tentative est sûre uniquement lorsque l'opération peut s'exécuter plusieurs fois et produire
toujours le même résultat métier. Pour les API, cela nécessite souvent une
clé d'idempotence, une contrainte d'unicité ou un résultat de requête stocké.

Étape 3 : Ajouter des liens tandis que le contexte est frais

Après avoir écrit la note, demandez-vous :

  • Qu’est-ce que cela explique ?
  • De quoi cela dépend-il ?
  • Où l’ai-je vu dans le code ?
  • Quelle est la vue opposée ?
  • Quel système bénéficierait de cela ?

Ajoutez uniquement les liens qui aideront votre futur vous à réfléchir.

Étape 4 : Créer des notes d’index ou des cartes de contenu

Une fois qu’une grappe grandit, créez une note d’index.

Par exemple :

# Fiabilité de l'API

## Idées fondamentales

- [[Les tentatives sont sûres uniquement lorsque l'opération est idempotente]]
- [[Les délais d'attente ne prouvent pas l'échec]]
- [[Les disjoncteurs réduisent la pression sur les dépendances en échec]]
- [[Les limites de taux protègent les ressources partagées]]

## Modèles d'implémentation

- [[Les clés d'idempotence transforment les tentatives en opérations sûres]]
- [[Le modèle Outbox sépare la persistance de la livraison]]
- [[Les files d'attente de lettres mortes préservent les messages échoués pour inspection]]

## Exemples de systèmes

- [[Conception de la facturation des tentatives de paiement]]
- [[Gestion des échecs de livraison des webhooks]]

Cela vous donne une navigation sans forcer tout dans des dossiers.

Étape 5 : Utiliser les notes pour produire un output

Un Zettelkasten devrait produire quelque chose.

Pour les développeurs, l’output peut être :

  • Enregistrements de décisions d’architecture
  • Documents de conception
  • Articles de blog
  • Guides de débogage
  • Documents d’intégration
  • Explications de pull request
  • Présentations internes
  • Plans de refactoring
  • Insights de revue d’incident

Si vos notes n’influencent jamais votre travail, le système est trop décoratif.

Types de notes recommandés pour les développeurs

Notes éphémères

Notes temporaires pour une capture rapide.

Utilisez-les pour :

  • Idées pendant le codage
  • Observations de débogage
  • Fragments de réunion
  • Questions
  • Signets à traiter plus tard

Supprimez-les ou convertissez-les rapidement. Ne laissez pas devenir un marécage.

Notes de littérature

Notes sur les sources externes.

Pour les développeurs, une source peut être :

  • Documentation
  • Article de blog
  • RFC
  • Code source
  • Conférence
  • Issue GitHub
  • Postmortem
  • Chapitre de livre

Gardez les notes de source séparées de vos propres notes permanentes. Une note de source dit : “Cette source a dit ceci.” Une note permanente dit : “Je comprends cette idée ainsi.”

Notes permanentes

Ce sont le cœur du Zettelkasten.

Une note permanente devrait être :

  • Atomique
  • Écrite avec vos propres mots
  • Liée aux notes connexes
  • Utile sans avoir besoin de la source originale
  • Suffisamment stable pour être révisée plus tard

Notes de projet

Les notes de projet sont autorisées, mais ne les confondez pas avec les notes permanentes.

Une note de projet pourrait être :

Migrer le travailleur de facturation vers la file d'attente v2

Elle peut être liée à des notes permanentes comme :

La contre-pression empêche les consommateurs de file d'attente de s'effondrer
Le modèle Outbox sépare la persistance de la livraison
Les feature flags réduisent les risques de déploiement

Les projets se terminent. Les concepts restent.

Exemples d’outils

Obsidian

Obsidian fonctionne bien pour le Zettelkasten des développeurs car il utilise des fichiers Markdown locaux et prend en charge les liens internes.

Une structure Obsidian simple :

notes/
  fleeting/
  sources/
  permanent/
  maps/
  projects/

Exemple de note :

# Les délais d'attente ne prouvent pas l'échec

Un délai d'attente signifie que le client a cessé d'attendre. Cela ne prouve pas que le serveur a échoué.
L'opération peut avoir réussi, échoué ou être toujours en cours.

Cela est important pour les API de paiement, les files d'attente de tâches et tout effet secondaire externe.

Connexes :
- [[Les tentatives sont sûres uniquement lorsque l'opération est idempotente]]
- [[Les clés d'idempotence transforment les tentatives en opérations sûres]]
- [[Les effets secondaires externes nécessitent une réconciliation]]

Obsidian est un bon choix si vous aimez la propriété des fichiers, le texte brut et les flux de travail semblables à un éditeur.

Logseq

Logseq est utile si vous préférez les outlines, les journaux quotidiens et les références au niveau des blocs.

Son modèle de blocs fonctionne bien pour capturer de petites unités de pensée. Vous pouvez écrire des notes brutes dans le journal, puis promouvoir les blocs utiles en notes permanentes.

Exemple de flux de travail style Logseq :

- Délai d'attente pendant la demande de paiement ne prouve pas l'échec du paiement.
  - Cela devrait devenir une note permanente sur les résultats inconnus.
  - Connexes : [[Idempotence]], [[Tentatives]], [[API de paiement]]

Logseq est un bon choix si votre pensée commence par des outlines et que vous aimez les références de blocs. Pour une comparaison côte à côte des deux outils en termes de style de flux de travail, options de synchronisation et écosystèmes de plugins, Obsidian vs Logseq cartographie clairement les compromis.

Markdown pur et Git

Vous n’avez pas besoin d’une application spéciale.

Un dépôt Git de fichiers Markdown peut suffire :

knowledge/
  permanent/
  sources/
  maps/

Utilisez des liens Markdown normaux :

[Les tentatives sont sûres uniquement lorsque les opérations sont idempotentes](../permanent/retries-safe-only-with-idempotency.md)

Cette approche est ennuyeuse, durable et conviviale pour les développeurs. C’est un compliment.

Nommer les notes

Privilégiez les titres qui font des affirmations.

Titres faibles :

Mise en cache
Files d'attente
OAuth
Index PostgreSQL

Titres forts :

L'invalidation de cache est un problème de coordination
Les files d'attente masquent la latence mais ne suppriment pas le travail
Les jetons d'accès OAuth devraient être à courte durée de vie
Les index partiels sont utiles lorsque les requêtes ciblent un sous-ensemble

Un titre basé sur une affirmation rend la note plus facile à comprendre et plus facile à lier.

Que mettre dans un Zettelkasten de développeur

Bons candidats :

  • Principes d’architecture
  • Leçons de débogage
  • Insights d’incidents de production
  • Règles de conception d’API
  • Modèles de base de données
  • Hypothèses de sécurité
  • Compromis de performance
  • Cas limites de framework
  • Heuristiques de refactoring
  • Stratégies de test
  • Leçons de déploiement
  • Modèles de revue de code

Mauvais candidats :

  • Transcripts de réunion bruts
  • Signets non traités
  • Pages de documentation copiées massives
  • Snippets aléatoires sans explication
  • Listes de tâches
  • Secrets
  • Identifiants
  • Tout ce qui n’appartient qu’à la documentation officielle de l’entreprise

Un Zettelkasten personnel peut référencer le travail, mais il ne devrait pas devenir une copie d’ombre non sécurisée de systèmes privés.

Erreurs courantes

Erreur 1 : Sur-structurer trop tôt

Les développeurs aiment la structure. C’est parfois un problème.

Ne passez pas la première semaine à concevoir des dossiers, des tags, des modèles, des conventions de nommage, des tableaux de bord et de l’automatisation. Vous ne savez pas encore quelle structure vos notes ont besoin.

Commencez avec un petit nombre de types de notes :

ephemere
sources
permanent
cartes
projets

Laissez à la complexité de gagner sa place.

Erreur 2 : Traiter cela comme des dossiers

Un Zettelkasten n’est pas un meilleur arbre de dossiers.

Si chaque note appartient à exactement un dossier et n’a pas de liens significatifs, vous avez construit un classeur. Cela peut encore être utile, mais ce n’est pas du Zettelkasten.

La valeur vient des connexions :

Tentatives API -> idempotence -> contraintes de base de données -> sécurité des paiements -> prévention des incidents

Cette chaîne est plus utile qu’un dossier appelé “Backend”.

Erreur 3 : Sauvegarder au lieu de réfléchir

Copier n’est pas apprendre.

Un paragraphe sauvegardé de la documentation peut aider plus tard, mais une explication réécrite aide maintenant. L’acte de reformuler une idée avec vos propres mots est là où la compréhension s’améliore.

Une bonne règle :

Ne créez pas de note permanente tant que vous ne pouvez pas expliquer l'idée sans copier.

Erreur 4 : Lier tout

Trop de liens sont aussi mauvais que trop peu.

Ne liez pas des mots juste parce qu’ils existent. Liez des idées parce que la relation est importante.

Un lien utile devrait aider votre futur vous à répondre :

Pourquoi est-ce connecté ?

Erreur 5 : Confondre tags et structure

Les tags sont utiles pour le statut et le regroupement large :

#todo
#source
#securite
#brouillon

Mais les tags ne devraient pas porter tout le système. Si vous vous fiez uniquement aux tags, vous perdez le sens plus riche des liens directs.

Un lien dit :

Cette idée est liée à celle-ci d'une manière spécifique.

Un tag dit généralement :

Cela appartient à un large compartiment.

Les deux sont utiles. Ils ne sont pas identiques.

Erreur 6 : Ne jamais produire d’output

Un Zettelkasten qui ne produit jamais d’output devient une archive privée.

L’output n’a pas à signifier une écriture publique. Cela peut être un document de conception, une revue d’incident, un pull request meilleur ou une explication claire à un collègue.

Le système devrait rendre votre pensée plus facile à réutiliser.

Un modèle minimal

Utilisez un petit modèle. Résistez à l’envie de créer un formulaire avec quinze champs.

# Titre sous forme d'affirmation

## Idée

Expliquez l'idée avec vos propres mots.

## Pourquoi c'est important

Décrivez l'impact pratique.

## Exemple

Montrez un exemple de code, système ou débogage.

## Compromis

Mentionnez les limites, risques ou contrepoints.

## Liens

- [[Note connexe]]
- [[Autre note connexe]]

Pour de nombreuses notes, même cela est excessif. Un titre, un paragraphe et trois liens peuvent suffire.

Exemple : Du bug aux notes Zettelkasten

Imaginez que vous avez corrigé un bug où les utilisateurs étaient facturés deux fois après un délai d’attente.

Une note faible serait :

Bug de paiement - les tentatives ont causé une charge dupliquée.

Un ensemble de notes plus fort pourrait être :

Les délais d'attente ne prouvent pas l'échec
Les tentatives sont sûres uniquement lorsque l'opération est idempotente
Les clés d'idempotence transforment les tentatives en opérations sûres
Les API de paiement doivent modéliser les résultats inconnus
Les contraintes de base de données sont un contrôle de la concurrence

Maintenant, le bug est devenu une connaissance d’ingénierie réutilisable.

Plus tard, ces notes peuvent supporter :

  • Un postmortem
  • Un document de conception pour les tentatives de paiement
  • Un article de blog sur l’idempotence
  • Une checklist pour les intégrations d’API externes
  • Un commentaire de revue de code
  • Une implémentation plus sûre

C’est la valeur pratique du Zettelkasten.

Une routine d’entretien hebdomadaire

Vous n’avez pas besoin d’un processus de revue compliqué.

Une fois par semaine :

  1. Traitez les notes brutes.
  2. Supprimez les notes qui n’ont plus d’importance.
  3. Convertissez les idées utiles en notes permanentes.
  4. Ajoutez les liens manquants.
  5. Promouvez les grappes en notes de carte.
  6. Choisissez une note et transformez-la en output.

Gardez cela léger. Le système devrait soutenir le développement, pas entrer en concurrence avec lui.

Règles pratiques

Utilisez ces règles pour garder le système sain :

  • Une idée par note.
  • Écrivez les titres sous forme d’affirmations.
  • Privilégiez les liens aux dossiers.
  • Gardez les notes de source séparées de vos propres idées.
  • Connectez les notes au code réel et aux systèmes réels.
  • Créez des notes de carte uniquement lorsqu’une grappe existe.
  • Supprimez les notes de faible valeur.
  • N’automatisez pas avant de comprendre votre flux de travail.
  • Utilisez le système pour produire quelque chose.

Quand le Zettelkasten n’en vaut pas la peine

Le Zettelkasten n’est pas la réponse à tous les problèmes.

Cela peut être excessif si :

  • Vous avez seulement besoin d’un gestionnaire de tâches.
  • Vous revisitez rarement les idées techniques.
  • Vous n’écrivez, n’enseignez, ne concevez ou ne documentez pas.
  • Vos notes sont principalement des détails de projet à courte durée de vie.
  • Vous l’utilisez pour éviter de faire le travail réel.

C’est le plus utile lorsque votre travail dépend d’une compréhension en croissance composée.

Cela inclut l’ingénierie senior, l’architecture, le leadership technique, le débogage de systèmes complexes, l’écriture, le conseil, la recherche et l’apprentissage profond sur de nombreuses années.

Pensées finales

Pour les développeurs, le Zettelkasten n’est pas une question de collecte de notes. C’est une question de construction d’un environnement de pensée.

La méthode fonctionne mieux lorsqu’elle reste pratique : notes atomiques, liens significatifs, exemples réels et output régulier. Connectez les concepts au code. Connectez le code aux systèmes. Connectez les systèmes aux décisions.

Le Zettelkasten gère la couche d’idées — mais la plupart des ingénieurs bénéficient de l’associer à deux pratiques complémentaires. La méthode PARA ajoute la couche organisationnelle : Projets, Domaines, Ressources et Archives gardent votre contexte de travail actif séparé du réseau de concepts, afin que vous puissiez trouver ce dont vous avez besoin quand vous êtes au milieu d’une tâche. Les notes evergreen affûtent le côté écriture : la discipline de rendre chaque note atomique, autonome et écrite avec vos propres mots est ce qui transforme le Zettelkasten en compréhension composée plutôt qu’en archive croissante.

Ne tentez pas de construire le second cerveau parfait. Construisez un utile.

Un bon Zettelkasten de développeur devrait vous aider à répondre à de meilleures questions :

Où ai-je vu ce problème avant ?
Quel concept explique ce bug ?
Quel compromis faisons-nous ?
Quel modèle s'applique ici ?
Que devrais-je noter pour ne pas réapprendre cela ?

C’est suffisant.

S'abonner

Recevez de nouveaux articles sur les systèmes, l'infrastructure et l'ingénierie IA.