# 🎮 Songo — Jeu de Semailles Africain (Awalé)
> **Projet de Programmation Web — Université de Yaoundé I (UY1)**
>
> Un jeu d'Awalé complet avec mode **Local** (2 joueurs sur le même écran) et mode **Distant** (2 joueurs via Internet avec synchronisation AJAX/MySQL).
---
## 📋 Table des matières
1. Aperçu
2. Règles du Jeu (UY1)
3. Structure du Projet
4. Prérequis
5. Installation (XAMPP)
6. Lancement
7. Mode Local vs Mode Distant
8. API Backend
9. Sécurité
10. Angles Morts Gérés
11. Crédits
---
## 🎯 Aperçu
**Songo** est une implémentation complète du jeu traditionnel africain **Awalé** (aussi appelé Wari, Oware, ou Songo selon les régions). Le projet respecte les règles officielles de l'Université de Yaoundé I et propose :
- 🎨 **Design immersif** : plateau en 3D CSS, graines empilées aléatoirement (cauris), animations fluides
- 🏠 **Mode Local** : 2 joueurs sur le même ordinateur, logique 100% côté client
- 🌐 **Mode Distant** : 2 joueurs sur des appareils différents, synchronisation en temps réel via AJAX + MySQL
- 🛡️ **Anti-triche** : vérification côté serveur de chaque coup
- 📱 **Responsive** : jouable sur desktop, tablette et mobile
---
## 📜 Règles du Jeu (UY1)
| Règle | Description |
|-------|-------------|
| **Semis** | Prenez toutes les graines d'un trou et semez-les une par une dans les trous suivants (sens anti-horaire). |
| **Capture** | Si la dernière graine tombe chez l'adversaire et que ce trou contient alors **2, 3 ou 4** graines, vous les capturez. |
| **Capture en chaîne** | Après une capture, regardez le trou précédent : s'il est aussi chez l'adversaire et fait 2, 3 ou 4, capturez-le aussi (et ainsi de suite). |
| **Solidarité (Anti-Affamage)** | Vous ne pouvez pas jouer un coup qui laisserait l'adversaire sans aucune graine et sans lui en apporter. |
| **But** | Capturer **25 graines ou plus** pour gagner. |
| **Match nul** | Si plus aucune capture n'est possible et qu'il reste peu de graines, la partie est nulle. |
---
## 📁 Structure du Pr …