@TODO : Améliorer le README.MD (le texte y compris)

🏦 Simulateur de Transactions Bancaires Concurrentes

Ce programme en C simule des transactions bancaires aléatoires entre comptes dans un environnement multi-processus. Il est conçu pour illustrer les défis de la concurrence sans synchronisation explicite.

Fonctionnalités

  • 📖 Lecture et écriture de comptes : Les comptes sont stockés dans un fichier avec un format fixe (nom et solde).
  • 🔄 Transactions aléatoires : Effectue des transferts d'argent aléatoires entre comptes.
  • 🤹 Simulation multi-processus : Plusieurs processus enfants effectuent des transactions simultanément.
  • 📊 Calcul des soldes : Affiche le solde total avant et après les transactions.

⚠️ Limitations et Bugs Potentiels

🚨 Ce programme n'utilise pas de mécanismes de verrouillage pour gérer la concurrence.

  1. 💥 Problème de concurrence :

    • Plusieurs processus peuvent lire et écrire dans le fichier en même temps, entraînant des incohérences dans les soldes (race condition).
    • Par exemple, deux processus modifiant simultanément un compte peuvent écraser leurs changements.
  2. 📉 Corruption des données :

    • Une interruption (crash ou arrêt forcé) pendant une transaction peut laisser des données partiellement écrites.
  3. Absence de validations robustes :

    • Aucune vérification supplémentaire pour s'assurer que les montants transférés sont cohérents en cas de concurrence.