diff --git a/GPT_PROJET/codeur_gpt.html b/GPT_PROJET/codeur_gpt.html
new file mode 100644
index 0000000000000000000000000000000000000000..6aa2ed1b0f628e3fa50997f3c7b3fc0183022acc
--- /dev/null
+++ b/GPT_PROJET/codeur_gpt.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+    <title>GPT Fonctionnel Programmeur</title>
+</head>
+<body>
+    <h1>Description de la fonction à créer</h1>
+    <form action="">
+        Quelle fonction voulez-vous que je crée ?
+         <br>
+         <textarea rows = "5" cols = "60" name = "description">
+A function to solve a quadratic equation
+         </textarea><br>
+         Avec combien de tests ? 
+         <input type="number" id="test_quantity" name="test_quantity" value="5" min="1" max="5">
+         <input type="submit" value="Vas-y !" />
+    </form>
+    <div>
+        <h2>Programme en langage Python</h2>
+        <form action="">
+        <textarea name="program" id="program" cols="70" rows="20">
+def quadratic_equation(a, b, c):
+  """
+  Solves a quadratic equation of the form ax^2 + bx + c = 0
+  Parameters
+  ----------
+  a : float
+      Coefficient of x^2
+  b : float
+      Coefficient of x
+  c : float
+      Constant term
+  Returns
+  -------
+  x1 : float
+      First solution
+  x2 : float
+      Second solution
+  """
+  # Compute the discriminant
+  discriminant = (b**2) - (4*a*c)
+
+  # Compute the two solutions
+  x1 = (-b + discriminant**0.5) / (2*a)
+  x2 = (-b - discriminant**0.5) / (2*a)
+
+  return x1, x2
+    
+        </textarea><br>
+        <input type="submit" value="Compile et teste !" />
+    </form>
+        </div>
+    </div>
+    <div>
+        <h2>Voici cinq tests unitaires</h2>
+        <form action="">
+        <textarea name="tests" id="tests" cols="70" rows="20">
+import unittest
+
+class TestQuadraticEquation(unittest.TestCase):
+    def test_quadratic_equation_1(self):
+        self.assertEqual(quadratic_equation(1, 0, -4), (2+0j, -2+0j))
+
+    def test_quadratic_equation_2(self):
+        self.assertEqual(quadratic_equation(2, -3, 1), (1+0j, 0.5+0j))
+
+    def test_quadratic_equation_3(self):
+        self.assertEqual(quadratic_equation(1, -2, -3), (3+0j, -1+0j))
+
+    def test_quadratic_equation_4(self):
+        self.assertEqual(quadratic_equation(1, -4, 4), (2+0j, 2+0j))
+
+    def test_quadratic_equation_5(self):
+        self.assertEqual(quadratic_equation(2, -7, 3), (3+0j, 0.5+0j))
+
+if __name__ == '__main__':
+    unittest.main()
+        </textarea><br>
+        <input type="submit" value="Teste à nouveau !" />
+    </form>
+    </div>
+</body>
+</html>
diff --git a/GPT_PROJET/mini_projet.md b/GPT_PROJET/mini_projet.md
new file mode 100644
index 0000000000000000000000000000000000000000..15c925721de00fd2d8c6a83e0ebde3ed0aa227d1
--- /dev/null
+++ b/GPT_PROJET/mini_projet.md
@@ -0,0 +1,59 @@
+# PROJET : GPT Programmeur
+
+## But du projet
+Réaliser une application Web, qui permet de demander à *ChatGPT* de créer une fonction avec des tests unitaires dans un langage de programmation donné.
+
+## Dates limites 
+- point d'étape : **mardi 14 février** matin
+- dépôt final : **dimanche 19 février** minuit
+
+## Moyens
+Langage de développement : au choix
+Framework Web : au choix
+Dépôt GIT : https://gitlab.univ-lorraine.fr 
+
+## Langages cibles
+**Groupe 1** : Python / Prolog
+
+**Groupe 2** : Java / Eiffel
+
+**Groupe 3** : PHP / Haskell
+
+## Description de la page WEB
+
+Un exemple de formulaire Web est fourni dans le ficheir `codeur_gpt.html`
+
+Le formulaire doit contenir les élements suivants :
+- une zone de description de la fonction, par exemple :
+    - « Résoudre une équation du second degré. » 
+    - « Trier une liste de mots » 
+    - « Tester si un mot est un palindrome. »
+    - « Calculer le nombre d'occurences de chaque mot dans un texte. »
+- une zone de saisie du nombre de tests unitaires
+- un bouton pour lancer la création du programme
+- un popup menu pour choisir le langage de programmation entre les deux définis pour le groupe
+- une zone éditable d’affichage du programme
+- une zone éditable avec la liste des tests
+- un bouton pour relancer le passage des tests après modification du programme ou des tests
+
+Votre logiciel de création de fonction devra pouvoir être testé sans accès à ChatGPT, ni Internet. Vous utiliserez donc un *mock* (https://en.wikipedia.org/wiki/Mock_object) avec des réponses prédéfinies pour simuler le comportement de l'accès à *ChatGPT*. 
+
+On mettra en place des scénarios de tests fonctionnels avec le framework *Selenium*.
+
+La fonction créée devra passer et valider les tests générés par *ChatGPT*. Comme dans le programme *Mira* (voir ci-dessous), il peut être nécessaire de demander à *ChatGPT* de refaire le programme pour qu'il passe les tests. On limitera le nombre d'itérations à 10, et on mettra un message d'erreur si la fonction ne peut pas être validée.
+
+
+## Itérations de développement
+1. Un seul langage de programmation cible, pas de validations des tests, pas de modification du programme et des tests,  pas d'itérations de *refactoring* auprès de ChatGPT.
+2. Ajout de la validation des tests sans *refactoring*, vous mettrez un message pour indiquer si certains tests ne passent pas.
+3. Ajout de la modification du programme et des tests par l'utilisateur.
+4. Ajout des itérations de *refactoring* auprès de *ChatGPT*.
+5. Ajout du second langage de programmation.
+
+## Références
+Ces sources devraient être utiles :
+- *Mira*, un programme en Rust qui crée des programems Rust via GPT-3 : https://gitlab.com/corpsmoderne/mira
+- API de ChatGPT : 
+    - https://platform.openai.com/docs/guides/code
+    - https://beta.openai.com/docs/api-reference
+    - https://openai.com/api/