diff --git a/.gitignore b/.gitignore
index 7ad127b45e67cb5b0348aa68f5082cb7018afaf3..c75be66a96499ec2d4a12ca4dda14829540705cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,4 +17,6 @@ vendor/
 config/config.ini
 config/db.ini
 
-composer.lock
\ No newline at end of file
+composer.lock
+
+.env
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 9654d2f7e4bfc0280c26ac9b4dbf5d3a9a15223a..7bf10e83481eea9c6ea12dfdf2058be41a4c3411 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,9 @@
     "require": {
         "slim/slim": "2.*",
         "twig/twig": "~1.0",
-        "illuminate/database": "4.2.9"
+        "illuminate/database": "^4.2",
+        "illuminate/events": "^4.2",
+        "illuminate/container": "^4.2"
     },
     "autoload":{
         "psr-0":{
diff --git a/docker-compose.yml b/docker-compose.yml
index bfb5d4edf11f42228d8614b8248167af9083c1f4..cb95ac096d81f0dd9f1a491b1c6461e5218655ad 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,10 +1,35 @@
-version: '3.8'
 services:
-  php: 
+  php:
     build: './docker/php'
-    user: ${UID:-1000}:${GID:-1000}
     ports:
       - ${PHP_PORT:-8080}:80
     volumes:
       - ./:/var/www/html
-    command: php -S 0.0.0.0:80 -t .
\ No newline at end of file
+    command: php -S 0.0.0.0:80 -t .
+    depends_on:
+      - mysql
+
+  mysql:
+    image: mysql:8.0
+    ports:
+      - '3307:3306'
+    environment:
+      MYSQL_ROOT_PASSWORD: root
+      MYSQL_DATABASE: root
+      MYSQL_USER: rootsCAP
+      MYSQL_PASSWORD: root
+    volumes:
+      - ./docker/mysql/data:/var/lib/mysql
+      - ./docker/mysql/my.cnf:/etc/mysql/my.cnf
+
+  adminer:
+    image: adminer:latest
+    ports:
+      - ${ADMINER_PORT:-8081}:8080
+    environment:
+      ADMINER_DEFAULT_SERVER: mysql
+      ADMINER_DEFAULT_USER: rootsCAP
+      ADMINER_DEFAULT_PASSWORD: root
+      ADMINER_DEFAULT_DB: root
+    depends_on:
+      - mysql
\ No newline at end of file
diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile
index f5a8e9f23585f116bd5ec7f4975ca9f0838de11b..41087ad8782c3e31c72caa151d4de68a7f769cd6 100644
--- a/docker/php/Dockerfile
+++ b/docker/php/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.4
+FROM php:8.4
 
 RUN apt update 
 RUN apt install git zip unzip libxml2-dev -y
diff --git a/notes.md b/notes.md
new file mode 100644
index 0000000000000000000000000000000000000000..96d7044086de92b1dba65ecb1a727f74a451501d
--- /dev/null
+++ b/notes.md
@@ -0,0 +1,234 @@
+# Projet Racoin - Notes d'analyse et de maintenance
+
+## Fiche d'identification du projet
+
+**Nom du projet :** Racoin  
+**URL du dépôt :** https://gitlab.univ-lorraine.fr/sauder2/racoin  
+**Date de début d'analyse :** 03/03/2025  
+**Analysé par :** [Clément JEANDIDIER]
+
+## Première étape - L'analyse
+
+### Langages utilisés
+- **PHP 7.4** - Langage principal du backend
+- **JavaScript** - Utilisé pour les interactions côté client
+- **SCSS** - Préprocesseur CSS pour les styles
+- **SQL** - Pour les interactions avec la base de données MySQL
+
+### Frameworks principaux
+- **Twig 1.0** - Moteur de templates pour générer les vues HTML
+- **Illuminate/Database** - Composant ORM de Laravel pour la gestion de base de données
+- **jQuery 1.11.1** - Bibliothèque JavaScript pour simplifier les manipulations du DOM
+- **Structure MVC personnalisée** - Architecture de code suivant le pattern Model-View-Controller
+
+### But général de l'application
+C'est une application de petites annonces entre particuliers inspirée de Leboncoin. Elle permet :
+- La publication d'annonces par des utilisateurs
+- La recherche d'annonces par catégorie, région, département
+- La gestion des photos pour les annonces
+- La navigation par filtres (catégories, sous-catégories, localisation)
+- La consultation détaillée des annonces
+
+### Première estimation pour faire fonctionner l'application
+- **Environnement serveur** :
+    - Serveur web (Apache ou Nginx)
+    - PHP 7.4 avec extension pdo_mysql
+    - MySQL 5.7
+    - Composer pour gérer les dépendances
+
+- **Configuration nécessaire** :
+    - Mise à jour du docker-compose.yml
+    - Création du fichier config/config.ini pour la connexion à la base de données
+    - Importation des scripts SQL (bdd.sql, insert.sql, apikey.sql)
+
+- **Dépendances PHP requises** :
+    - illuminate/database
+    - illuminate/events
+    - illuminate/container
+    - twig/twig
+
+## Deuxième étape - La prise en main
+
+### Mise en fonctionnement de l'application
+
+J'ai réussi à faire fonctionner l'application en suivant ces étapes :
+
+1. **Création d'une configuration Docker** :
+    - docker-compose.yml avec services PHP, MySQL et Adminer
+    - Dockerfile pour PHP 7.4 avec les extensions nécessaires
+
+2. **Configuration de la base de données** :
+    - Création du fichier config/config.ini pour la connexion
+
+
+3. **Installation des dépendances** :
+   ```bash
+   composer require "illuminate/database"
+   composer require "illuminate/events"
+   composer require "illuminate/container"
+   ```
+
+4. **Résolution des problèmes de configuration** :
+    - Correction des chemins d'accès aux fichiers
+    - Ajustement des paramètres de connexion à la base de données
+
+### Mode d'emploi pour faire fonctionner l'application
+
+#### Prérequis
+- Docker et docker-compose installés sur votre machine
+
+#### Étapes d'installation
+
+1. **Cloner le dépôt** :
+   ```bash
+   git clone https://gitlab.univ-lorraine.fr/sauder2/racoin.git
+   cd racoin
+   ```
+
+2. **Créer le fichier docker-compose.yml** :
+   ```yaml
+   services:
+     php: 
+       build: './docker/php'
+       ports:
+         - ${PHP_PORT:-8080}:80
+       volumes:
+         - ./:/var/www/html
+       command: php -S 0.0.0.0:80 -t .
+       depends_on:
+         - mysql
+
+     mysql:
+       image: mysql:5.7
+       ports:
+         - '3306:3306'
+       environment:
+         MYSQL_ROOT_PASSWORD: root
+         MYSQL_DATABASE: root
+         MYSQL_USER: rootsCAP
+         MYSQL_PASSWORD: root
+       volumes:
+         - ./docker/mysql/data:/var/lib/mysql
+
+     adminer:
+       image: adminer:latest
+       ports:
+         - ${ADMINER_PORT:-8081}:8080
+       environment:
+         ADMINER_DEFAULT_SERVER: mysql
+         ADMINER_DEFAULT_USER: rootsCAP
+         ADMINER_DEFAULT_PASSWORD: root
+         ADMINER_DEFAULT_DB: root
+       depends_on:
+         - mysql
+   ```
+
+3. **Créer le Dockerfile pour PHP** :
+   ```dockerfile
+   # Fichier à placer dans docker/php/Dockerfile
+   FROM php:7.4
+
+   RUN apt update 
+   RUN apt install git zip unzip libxml2-dev -y
+
+   RUN docker-php-ext-install pdo_mysql 
+
+   COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
+   ENV COMPOSER_ALLOW_SUPERUSER=1
+
+   WORKDIR /var/www/html
+   ```
+
+4. **Créer le fichier de configuration de la base de données** :
+
+#####   driver="mysql"
+#####   host="mysql"
+#####   database="root"
+#####   username="root"
+#####   password="root"
+#####   charset="utf8"
+   
+
+5. **Lancer les conteneurs Docker** :
+   ```bash
+   docker-compose up -d
+   ```
+
+6. **Installer les dépendances PHP** :
+   ```bash
+   docker-compose exec php composer require "illuminate/database"
+   docker-compose exec php composer require "illuminate/events"
+   docker-compose exec php composer require "illuminate/container"
+   ```
+
+
+8. **Accès à l'application** :
+    - Site web : http://localhost:8080
+    - Adminer (gestion de base de données) : http://localhost:8081
+        - Système : MySQL
+        - Serveur : mysql
+        - Utilisateur : root
+        - Mot de passe : root
+        - Base de données : root
+
+9. **Injection des données** :
+    - Importer les fichiers SQL dans Adminer (bdd.sql, insert.sql, apikey.sql) dans la section
+"Requête SQL".
+
+### Dépendances non maintenues
+
+1. **PHP 7.4**
+    - Support terminé depuis novembre 2022
+    - Risques de sécurité potentiels
+    - Alternative : PHP 8.4 (dernière version stable)
+
+2. **jQuery 1.11.1**
+    - Version très ancienne (actuelle : 3.7.x)
+    - Vulnérabilités de sécurité connues
+    - Alternative : jQuery 3.7.x ou JavaScript moderne (ES6+)
+
+3. **Twig 1.0** 
+    - Version obsolète
+    - Alternative : Twig 3.x
+
+4**Illuminate/Database (version à confirmer)**
+    - Si une version ancienne est utilisée, elle pourrait présenter des risques de sécurité
+    - Alternative : Mettre à jour vers la dernière version compatible
+
+## Troisième étape - La maintenance
+
+### Mises à jour recommandées
+
+1. **Mise à jour de PHP 7.4 vers PHP 8.4**
+    - Modifier le Dockerfile pour utiliser `FROM php:8.4`
+    - Tester la compatibilité du code existant
+    - Mettre à jour les éventuelles fonctionnalités dépréciées
+
+2. **Mise à jour des dépendances Composer**
+    - Mettre à jour le fichier composer.json pour spécifier des versions plus récentes
+    - Exécuter `composer update` pour installer les nouvelles versions
+
+3**Mise à jour de jQuery**
+    - Remplacer jquery-1.11.1.min.js par la version 3.7.x
+    - Tester la compatibilité avec le code JavaScript existant
+
+### TODO list des améliorations
+| Amélioration                        | Temps estimé (1-10) | Impact estimé (1-10) | Description |
+|-------------------------------------|---------------------|----------------------|-------------|
+| Mise à jour PHP 7.4 → 8.4           | 1                   | 9                    | Amélioration de la sécurité, des performances et de la maintenabilité |
+| Mise à jour jQuery                  | 1                   | 4                    | Correction de vulnérabilités de sécurité et amélioration des performances |
+| Implémentation de tests automatisés | 7                   | 9                    | Assurance de la stabilité lors des futures mises à jour |
+| Refactoring MVC                     | 9                   | 8                    | Amélioration de la structure du code et de la maintenabilité |
+| Modernisation du frontend           | 7                   | 7                    | Amélioration de l'expérience utilisateur et de la compatibilité mobile |
+| Amélioration de la sécurité         | 7                   | 10                   | Protection contre les injections SQL, XSS et CSRF |
+| Documentation technique             | 4                   | 6                    | Facilitation de la maintenance future et de l'onboarding |
+| Optimisation des requêtes SQL       | 6                   | 8                    | Amélioration des performances et réduction de la charge serveur |
+| Gestion des erreurs & logging       | 3                   | 7                    | Meilleure détection et résolution des problèmes |
+
+## Quatrième étape - Améliorations réalisées
+
+
+##### Configuration Docker: Création d'un environnement Docker complet avec PHP, MySQL et Adminer 
+##### Correction de connexion à la base de données: Création du fichier config.ini avec les paramètres appropriés 
+##### Installation des dépendances: Configuration de Composer et installation des bibliothèques requises 
+##### Documentation: Création d'un guide complet d'installation et de déploiement