Passer au contenu principal
Menu
Infrastructure

SYSTÈME DE FICHIERS C

Développement d'un outil CLI performant en C pour la manipulation de fichiers binaires.

Dépôt bientôt disponible
CLinuxMakeBash
Phase 1

Contexte

Après années JavaScript/Python/PHP, je ressentais besoin de comprendre ce qui se passe 'sous le capot'. Projet C pur : gestion mémoire manuelle, pointeurs, bits. Retour aux fondamentaux.

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Théorie : The C Programming Language (Kernighan & Ritchie)

  2. 2

    Progression : lecture fichiers texte → binaires → structures custom sur disque

  3. 3

    Valgrind à chaque étape pour détecter fuites mémoire

  4. 4

    Makefiles manuels (pas IDE magic)

  5. 5

    Tests Bash automatisés : comparison output attendu vs réel

Phase 3

Défis Techniques

Segfaults silencieux (corruptions mémoire latentes)

Crashes non immédiats difficiles à tracer. Solution : AddressSanitizer (ASan) + GDB pour debugging profond.

Endianness et portabilité (x86 vs ARM)

Outil fonctionnait localement mais échouait sur autre arch. Solution : fonctions conversion (htonl, ntohl).

Performance I/O (lecture char par char 100x plus lente)

Solution : buffer lecture 4096 octets aligné taille pages mémoire.

Phase 4

Résultats

  • CLI fonctionnel : lecture/écriture/transformation fichiers multiples GB

  • Zéro fuite mémoire (Valgrind 1000+ exécutions)

  • Compréhension gestion mémoire, pointeurs, cycle de vie données

  • Capacité : lire code bas niveau (kernel, librairies système)

Explore More

All Projects