- Introduction
1. Préliminaires
- 1.1. Base 10
- 1.2. Base 2
- 1.3. Base 16
- 1.4. Bit et octet
- 1.5. Portes logiques
- Système
- 2. Choix du système
- 2.1. Ubuntu
- 2.2. Arch Linux
- 2.3. Manjaro
- 2.4. Fedora
- 2.5. NixOS
- Shell
- 3. Shell
- 3.1. Utilisation
- 3.1.1. Se déplacer
- 3.1.2. RTFM : Read The Fucking Manual
- 3.1.3. Lire et écrire dans des fichiers
- 3.1.4. Permissions
- 3.1.5. Tips and tricks
- 3.2. Editeurs de texte
- 3.2.1. VSCode
- 3.2.2. Vim
- 3.3. Run Command
- 3.4. Window Manager
- 3.4.1. Awesome
- 3.5. Programmation Shell
- 3.5.1. Flux systèmes
- 3.5.2. Job control
- 3.5.3. Scripts
- 3.5.4. Variables
- 3.5.5. Mathématiques
- 3.5.6. Variables d'environnement
- 3.5.6.1. PATH
- 3.5.7. Quotting
- 3.5.8. Tests et conditions
- 3.5.9. Boucles
- Git
- 4. Git
- 4.1. Commandes de bases
- 4.2. Cas pratique avec GitHub
- Langage C
- 5. Langage C
- 5.1. Abécédaire
- 5.1.1. Compilation de test
- 5.1.2. La fonction main et l'environnement de développement
- 5.1.3. Types prédéfinis
- 5.1.4. Fonctions
- 5.1.5. Mathématiques
- 5.1.6. Structures de contrôles
- 5.1.7. Tableaux
- 5.1.8. Chaîne de caractères
- 5.1.9. Pointeurs
- 5.1.10. Boucles
- 5.1.11. Exercices
- 5.1.12. Corrections
- 5.1.13. Structures de données
- 5.2. Notions avancées
- 5.2.1. Flags de compilation
- 5.2.2. Plusieurs fichiers
- 5.2.3. Makefile
- 5.2.4. Récursivité
- 5.2.5. Pointeurs avancés
- 5.2.6. Mémoire
- 5.2.7. Listes chainées
- 5.2.8. GDB
- TODO: Assembleur
- 6. Assembleur
- Auteurs