Build-your-own-x

build-your-own-x est une compilation open source (domaine public) de tutoriels pas-à-pas qui vous apprennent à recréer vos technologies favorites à partir de zéro. C’est une ressource éducative incontournable pour apprendre en pratiquant.

Ce qu’est Build your own X

  1. Une immense bibliothèque de guides : Elle répertorie des centaines de tutoriels pour construire vos propres versions de technologies variées : bases de données, moteurs 3D, systèmes d’exploitation, blockchain, IA, frameworks web, etc.
  2. Une philosophie d’apprentissage : Le projet s’inspire de la citation de Richard Feynman : « What I cannot create, I do not understand » (Ce que je ne peux pas créer, je ne le comprends pas). L’idée est que l’on maîtrise vraiment un sujet lorsqu’on est capable de le réimplémenter.
  3. Une ressource communautaire : Le dépôt GitHub compte plus de 523 000 étoiles et est alimenté par les contributions de la communauté (plus de 130 contributeurs). Les tutoriels sont triés par catégorie et par langage de programmation.

Ce que vous y trouverez

Le dépôt est organisé en catégories, chacune contenant des liens vers des tutoriels (souvent des articles, des séries de blogs ou des vidéos) pour un langage spécifique.

CatégorieExemples de tutoriels inclus
3D RendererCréer un moteur de ray tracing en C++ ou un logiciel de rendu 3D en Python
Blockchain / CryptocurrencyConstruire une blockchain en Go, Python ou JavaScript
DatabaseRéécrire Redis en C++ ou un système de base de données simple en Go
Emulator / Virtual MachineDévelopper un émulateur Game Boy en C++ ou une machine virtuelle en C
Front-end Framework / LibraryReproduire React, Redux ou Angular en JavaScript
GameProgrammer un jeu comme Snake, Tetris ou un moteur de jeu complet
GitRecréer les fonctionnalités de base de Git en Python ou Ruby
Neural NetworkConstruire un réseau de neurones de A à Z en Python (sans librairies)
Operating SystemÉcrire un noyau ou un bootloader en C/Assembleur
Programming LanguageConcevoir son propre compilateur ou interpréteur (ex: un Lisp)
Text EditorCréer un éditeur de texte en C ou Rust
Web ServerImplémenter un serveur HTTP en Python, Node.js ou Ruby
Et bien d’autresShell, moteur de recherche, client BitTorrent, visualisation de données…

Pourquoi et comment l’utiliser ?

  • Pour apprendre en profondeur : C’est une excellente ressource pour aller au-delà de l’utilisation des outils et comprendre leur fonctionnement interne.
  • Pour découvrir de nouveaux langages : Chaque tutoriel est associé à un langage, ce qui permet d’apprendre en pratiquant sur un projet concret.
  • Pour trouver l’inspiration : Vous pouvez explorer les projets pour trouver des idées de side projects ou de sujets d’étude.
  • Libre et accessible : La ressource est entièrement gratuite et maintenue par une communauté.

github.com/codecrafters-io/build-your-own-x

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.