Bonjour,
Je mets à disposition une formation complète en français sur le langage C, orientée Linux et DevOps :
Maîtriser C sur Ubuntu : De la Syntaxe au Système
https://github.com/NDXDeveloper/formation-c-ubuntu
Licence : CC BY 4.0 (libre d'utilisation, modification et redistribution)
Contenu
La formation comprend 35 chapitres (plus de 470 fichiers Markdown) organisés en 9 modules progressifs, avec environ 860 exemples de code complets et testés. Elle couvre :
Fondamentaux (débutant à intermédiaire) :
- Écosystème C sous Linux, configuration de l'environnement (GCC, CMake, DevContainers)
- Chaîne de compilation, types, opérateurs, fonctions
- Pointeurs, tableaux, chaînes, allocation dynamique
- Structures, unions, enums, listes chaînées, arbres
- Organisation du code et compilation modulaire
Outillage et qualité (avancé) :
- Build systems : CMake (priorité), GNU Make
- Bibliothèques statiques et dynamiques, dlopen
- Débogage : GDB, Valgrind (Memcheck, Helgrind, Cachegrind), sanitizers (ASan, UBSan, TSan, LSan)
- Analyse statique : cppcheck, clang-tidy
- Tests unitaires : Unity, Check, cmocka, CUnit, Criterion
- Intégration continue : GitHub Actions (templates complets), gcov/lcov
Programmation système (expert) :
- I/O bas niveau, fichiers, epoll, io_uring
- Processus, signaux, fork/exec
- Threads POSIX, synchronisation, atomics C11
- Mémoire partagée, IPC (pipes, files de messages, sémaphores)
- Sockets TCP/UDP, serveurs réseau
- Introduction à eBPF (27 sections : tracepoints, kprobes, uprobes, XDP, LSM)
Techniques avancées :
- Pointeurs de fonctions, callbacks, dispatch tables
- Préprocesseur avancé, macros X-macros
- Gestion mémoire avancée (pools, arenas, cleanup automatique)
- Gestion d'erreurs robuste (errno, setjmp/longjmp, assertions)
- Sécurité : code défensif, seccomp, hardening (PIE, RELRO, stack canary)
- Optimisation : profiling, cache awareness, SIMD (SSE/AVX), LTO
- Interopérabilité : FFI avec Python (ctypes), Go (cgo), Rust, C++
DevOps et déploiement :
- Cross-compilation (ARM, RISC-V)
- Packaging : .deb, .rpm, Docker multi-stage
- Documentation : Doxygen
- Études de cas : outil CLI, parser de logs, agent de monitoring, serveur web
Standards couverts : C11, C17, C23 (avec GCC 13)
Compilation de référence : gcc -Wall -Wextra -Werror -pedantic -std=c17
Comment l'utiliser
La formation se lit directement sur GitHub (Markdown rendu). Chaque chapitre contient un dossier exemples/ avec les programmes complets et un fichier COMPILER.md indiquant les flags de compilation pour chaque exemple.
Les retours, corrections et suggestions sont les bienvenus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3git clone https://github.com/NDXDeveloper/formation-c-ubuntu.git cd formation-c-ubuntu




Répondre avec citation
Partager