diff --git a/docs/Analyse.md b/docs/Analyse.md
new file mode 100644
index 0000000000000000000000000000000000000000..18311ae41c9cbe653342bbbb25b571f62206c388
--- /dev/null
+++ b/docs/Analyse.md
@@ -0,0 +1,100 @@
+# Analyse Technique - Implémentation de Puissance 4 en C
+
+## 1. Introduction
+
+Ce document détaille l'analyse technique pour l'implémentation d'un [puissance 4](https://fr.wikipedia.org/wiki/Puissance_4) en C, en respectant les contraintes et spécifications du cahier des charges [Cahier des charges](./CDC.pdf).
+
+## 2. Spécifications du Jeu
+
+### 2.1 Modes de Jeu
+
+Le jeu devra supporter trois modes distincts :
+
+- **Mode deux joueurs** : Deux joueurs humains s'affrontent.
+- **Mode un joueur (IA aléatoire)** : L'ordinateur joue des coups aléatoires.
+- **Mode un joueur (IA intelligente)** : L'ordinateur tente de gagner ou d'empêcher la défaite.
+
+### 2.2 Interface Utilisateur
+
+L'affichage du jeu se fera en mode texte avec un rendu ASCII Art.
+
+Exemple :
+
+```text
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+1 2 3 4 5 6 7
+```
+
+## 3. Conception Technique
+
+### 3.1 Structures de Données
+
+- **Plateau de jeu** : Utilisation d'un tableau 2D `char board[MAX_ROWS][MAX_COLS]`.
+- **Enum pour les éléments du plateau** :
+
+  ```c
+   enum {
+      EMPTY, CROSS, CIRCLE
+  } cell;
+  ```
+
+- **Struct pour le jeu** :
+
+  ```c
+  typedef struct {
+      int rows;
+      int cols;
+      cell board[MAX_ROWS][MAX_COLS];
+  } game_board;
+  ```
+
+### 3.2 Modules
+
+Le projet va être organisé en plusieurs fichiers :
+
+- `main.c` : Point d'entrée du programme.
+- `game.c/.h` : Gestion du jeu (initialisation, mise à jour, conditions de victoire).
+- `display.h/display.c` : Affichage en ASCII Art.
+- `ai.h/ai.c` : IA aléatoire et intelligente.
+- `tests.h/tests.c` : Tests unitaires et de validation.
+
+### 3.3 Algorithme Principal
+
+1. Initialisation du jeu et du plateau.
+2. Affichage initial du plateau.
+3. Boucle principale :
+   - Demander au joueur/IA de jouer.
+   - Mettre à jour le plateau.
+   - Vérifier les conditions de victoire.
+   - Afficher le plateau mis à jour.
+4. Fin du jeu : affichage du résultat.
+
+## 4. Questions Techniques
+
+### 4.1 Gestion des Entrées Utilisateur
+
+## 5. En plus
+
+### 5.1 Utilisation de (CI/CD)
+
+Pour automatiser les tests, une pipeline CI/CD pourrait être mise en place avec :
+
+- **GitLab CI** : Compilation automatique et exécution des tests unitaires à chaque push de commit.
+- **Tests automatisés** : Exécution de `make tests` pour valider chaque modification.
+- **Analyse statique** : Utilisation d'outils comme `clang-tidy` ou `cppcheck` pour vérifier la qualité du code (à voir).
+
+### 5.2 Sauvegarde des Résultats
+
+Afin de permettre le suivi des parties et des scores, une fonctionnalité de sauvegarde des résultats peut être ajoutée :
+
+- **Format de stockage** : Fichier texte (`results.txt`).
+- **Informations enregistrées** :
+  - Mode de jeu (1 joueur / 2 joueurs / IA)
+  - Nombre de coups joués
+  - Vainqueur
+  - Date et heure de la partie
+- **Lecture et affichage des scores** : Possibilité de consulter l'historique des parties gagnées/perdues.