Docfile commited on
Commit
f335f77
·
verified ·
1 Parent(s): 3da649d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -92
app.py CHANGED
@@ -89,111 +89,59 @@ def generate_complete_latex(client, image_bytes):
89
  # Convertir les bytes en image PIL
90
  image = Image.open(io.BytesIO(image_bytes))
91
 
92
- prompt =r"""
93
-
94
 
95
 
96
  # RÔLE & OBJECTIF
97
- Tu es un expert en mathématiques du supérieur, un tuteur pédagogue exceptionnel, et un maître utilisateur de LaTeX. Ton objectif est de générer une correction LaTeX complète, rigoureuse, pédagogique et visuellement impeccable pour l'exercice de mathématiques fourni. Le résultat doit être un fichier source `.tex` autonome, directement compilable via `pdflatex`, et d'une qualité de présentation professionnelle.
 
 
98
 
99
  # CONTEXTE
100
- * **Input:** L'énoncé de l'exercice de mathématiques sera fourni sous forme de texte (copié/collé par l'utilisateur) immédiatement après ce prompt.
101
- * **Niveau Cible:** Élève de Terminale (système français, filière scientifique ou équivalent).
102
- * **Output Attendu:** **Uniquement** le code source LaTeX (`.tex`) brut et complet. Aucune explication ou texte d'accompagnement en dehors du code lui-même.
103
 
104
- # TÂCHE PRINCIPALE
105
- 1. **Analyse:** Lis et comprends parfaitement l'énoncé de l'exercice fourni.
106
- 2. **Résolution:** Résous l'exercice de manière exhaustive, en détaillant chaque étape de raisonnement et de calcul.
107
- 3. **Rédaction LaTeX:** Rédige la solution complète *directement* en code LaTeX, en respectant **scrupuleusement** toutes les spécifications techniques, de style et de contenu ci-dessous.
108
-
109
- # SPÉCIFICATIONS TECHNIQUES DU CODE LATEX
110
-
111
- 1. **Document de Base:**
112
- * Classe: `\documentclass[12pt,a4paper]{article}`
113
- * Encodage: `\usepackage[utf8]{inputenc}`, `\usepackage[T1]{fontenc}`
114
- * Langue: `\usepackage[french]{babel}`
115
- * Police: `\usepackage{lmodern}` (Latin Modern)
116
- * Typographie Fine: `\usepackage{microtype}`
117
-
118
- 2. **Packages Indispensables (Configurer si nécessaire):**
119
- * Maths: `amsmath`, `amssymb`, `amsfonts`, `mathtools` (pour `empheq`, etc.), `bm` (pour gras maths), `siunitx` (configuré pour le français: `output-decimal-marker={,}`, `group-separator={\,}`).
120
- * Mise en Page: `geometry` (marges `a4paper, margin=2.5cm`), `setspace` (utiliser `\onehalfspacing`), `fancyhdr` (pour en-têtes/pieds), `titlesec` & `titletoc` (personnalisation titres/TDM), `parskip` (pour espacement entre paragraphes sans indentation), `multicol` (si besoin).
121
- * Visuel & Couleurs: `xcolor` (définir les couleurs ci-dessous), `tcolorbox` (charger avec les bibliothèques `skins`, `breakable`, `theorems`, `hooks`), `fontawesome5` (pour icônes).
122
- * Liens & PDF: `hyperref` (configuré pour liens colorés, métadonnées PDF), `bookmark` (pour une meilleure gestion des signets PDF).
123
- * Graphiques: `tikz` (avec les bibliothèques `calc`, `shapes`, `arrows.meta`, `positioning`), `pgfplots` (avec `compat=1.18`).
124
-
125
- 3. **Configuration Générale:**
126
- * Paragraphes: Utiliser le package `parskip` pour supprimer l'indentation des paragraphes et ajouter un espacement vertical entre eux. Ne pas utiliser `\setlength{\parindent}` ou `\setlength{\parskip}` manuellement si `parskip` est chargé.
127
- * En-têtes `fancyhdr`: Si des en-têtes élaborés sont utilisés, s'assurer d'ajuster `\headheight` (e.g., `\setlength{\headheight}{15pt}`) pour éviter les avertissements de compilation.
128
- * Compilabilité: Code valide pour `pdflatex`.
129
-
130
- # STYLE & PRÉSENTATION PROFESSIONNELLE
131
-
132
- 1. **Couleurs à Définir (`\definecolor`):**
133
- * Bleu (e.g., `{RGB}{0, 90, 160}`)
134
- * : Vert-bleu (e.g., `{RGB}{0, 150, 136}`)
135
- * : Violet (e.g., `{RGB}{140, 0, 140}`)
136
- * : Orange (e.g., `{RGB}{255, 140, 0}`)
137
- * : Fond clair (e.g., `{RGB}{245, 247, 250}`)
138
- * : Fond code (e.g., `{RGB}{245, 245, 245}`)
139
- * : Grille PGFPlots (e.g., `{RGB}{220, 220, 220}`)
140
- * : Asymptotes (e.g., `{RGB}{200, 0, 0}`)
141
-
142
- 2. **Page de Titre / Présentation Initiale:**
143
- * Créer une page de titre distincte ou un bloc titre élégant après `\begin{document}` utilisant.
144
- * Inclure titre clair (e.g., "Exercice X: Solution Détaillée"), auteur générique (e.g., "Solution Proposée"), date .
145
- * Optionnel : Page séparée pour l'énoncé encadré et un plan de résolution avant la table des matières.
146
-
147
- 3. **Structure & Navigation:**
148
- * Table des matières après la présentation initiale, encadrée par des `\hrule` si souhaité.
149
- * En-têtes/Pieds de page : Infos discrètes (titre exo, nom de section, page), règles fines colorées.
150
- * Titres : Sections/sous-sections numérotées avec style distinctif (e.g., numéro dans une boîte colorée, ligne de séparation colorée).
151
-
152
- 4. **Boîtes `tcolorbox` Personnalisées (avec icônes `fontawesome5`):**
153
- * Définir un style de base pour les color box utilisant . Ce style doit être `breakable`.
154
- * Le titre des boîtes doit être stylisé : utiliser une couleur de fond pour le titre , couleur de texte , police en gras.
155
- * Pour le `boxed title style` (le conteneur du titre lui-même) : pas de bordure (`boxrule=0pt`). On peut utiliser (ou autre coin) pour un effet stylistique.
156
- * Ajouter une ombre portée discrète au titre avec des options valides de `tcolorbox` et `skins`.
157
- * Créer les boîtes personnalisées suivantes basées sur ce style :
158
- * `enoncebox` (Couleur principale, ): Pour l'énoncé principal.
159
- * `definitionbox` (Couleur secondaire,): Pour définitions, théorèmes clés.
160
- * `resultbox` (Couleur accent,): Pour les résultats finaux importants.
161
- * `notebox` (Couleur tertiaire,): Pour remarques, astuces, points de méthode.
162
- * `examplebox` (Vert, ) ): Pour exemples illustratifs ou rappels de méthode.
163
- * S'assurer que toutes les options `tcolorbox` et TikZ utilisées sont standard ou correctement définies et compatibles avec les bibliothèques chargées.
164
-
165
-
166
- 6. **Graphiques (`pgfplots`):**
167
- * Si pertinent (étude de fonction, géométrie): Inclure un graphique propre.
168
- * Tracer la courbe principale (trait plein, `maincolor`), asymptotes (pointillés, `asymptotecolor`), points remarquables. Utiliser `\addplot` avec des options claires.
169
 
170
- # CONTENU PÉDAGOGIQUE DE LA SOLUTION
171
 
172
- 1. **Clarté et Rigueur:**
173
- * Rappeler l'énoncé initialement dans `enoncebox`.
174
- * Structurer la solution logiquement (par question, par étape).
175
- * Justifier *chaque* étape de calcul ou de raisonnement.
176
- * Utiliser un langage mathématique précis et une rédaction claire en français.
177
- * Aligner soigneusement les équations (e.g., `align*`, `cases`, `systeme` de `mathtools`).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
 
179
- 2. **Pédagogie:**
180
- * Expliquer les "pourquoi" derrière les méthodes utilisées.
181
- * Utiliser les `notebox` pour des conseils, pièges à éviter, ou rappels de cours.
182
- * Mettre en évidence les définitions/théorèmes clés dans `definitionbox`.
183
- * Encapsuler les résultats finaux dans `resultbox` ou avec `\finalresult`.
184
 
185
- 3. **Complétude:**
186
- * Traiter toutes les questions de l'énoncé.
187
- * Inclure les interprétations graphiques demandées ou pertinentes.
188
- * Conclure si nécessaire en résumant les points essentiels.
189
 
190
  # CONTRAINTES STRICTES
191
- * Le seul output doit être le code LaTeX brut.
192
- * Aucun texte avant `\documentclass` ou après `\end{document}` (sauf la mention spéciale ci-dessous).
193
- * Inclure la ligne suivante, formatée comme telle, juste avant `\end{document}`:
194
- `\vspace{1cm}\noindent\textit{Ce devoir a été généré par Mariam AI. \url{https://mariam-241.vercel.app}}`
195
 
196
- ---
 
 
197
 
198
  """
199
 
 
89
  # Convertir les bytes en image PIL
90
  image = Image.open(io.BytesIO(image_bytes))
91
 
92
+ prompt =f"""
 
93
 
94
 
95
  # RÔLE & OBJECTIF
96
+
97
+ Tu es un expert en mathématiques et un excellent professeur.
98
+ Ton objectif est de créer la solution complète d'un exercice de mathématiques. Cette solution doit être rédigée de manière à produire un **document final très soigné, clair, et d'aspect professionnel (pense à un rendu LaTeX de haute qualité)**. Tu dois fournir le code source qui permettra de générer ce document.
99
 
100
  # CONTEXTE
 
 
 
101
 
102
+ * **Input :** L'énoncé de l'exercice de mathématiques (niveau Terminale, système français) sera fourni sous forme de texte, immédiatement après ce prompt.
103
+ * **Output Attendu :** **Uniquement** le code source nécessaire pour générer le document final. Pas d'explications en dehors de ce code, ni de marqueurs de code (comme ``` ```).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
+ # TÂCHE PRINCIPALE
106
 
107
+ 1. **Analyse :** Lis et comprends parfaitement l'énoncé de l'exercice fourni.
108
+ 2. **Résolution :** Résous l'exercice de manière exhaustive, en détaillant chaque étape de raisonnement et de calcul.
109
+ 3. **Rédaction du Code Source :** Rédige la solution complète *directement* sous forme de code source. Ce code doit être structuré pour produire un document final qui respecte les standards de qualité décrits ci-dessous.
110
+
111
+ # QUALITÉ ET PRÉSENTATION ATTENDUES DU DOCUMENT FINAL
112
+
113
+ * **Structure Professionnelle :**
114
+ * Le document doit avoir une présentation initiale claire (titre de l'exercice, sous-titre, date).
115
+ * Une table des matières doit être incluse si la solution est un peu longue.
116
+ * Les titres des sections et sous-sections doivent être clairs et bien mis en forme.
117
+ * **Mise en Valeur Pédagogique :**
118
+ * L'énoncé original de l'exercice doit être clairement rappelé au début.
119
+ * Utilise des mises en forme distinctes (par exemple, des boîtes ou des styles spécifiques) pour :
120
+ * Les définitions ou théorèmes importants.
121
+ * Les résultats finaux ou les conclusions clés de chaque question.
122
+ * Les remarques, astuces méthodologiques, ou points d'attention.
123
+ * Les exemples illustratifs, si besoin.
124
+ * **Clarté Mathématique :**
125
+ * Les formules mathématiques doivent être écrites correctement, alignées et faciles à lire.
126
+ * Utilise des notations mathématiques standard et cohérentes (par exemple, pour les ensembles de nombres $\mathbb{R}, \mathbb{N}$, les limites, les dérivées, etc.).
127
+ * **Lisibilité Générale :**
128
+ * Le texte doit être en français, clair et précis.
129
+ * La mise en page doit être aérée (paragraphes distincts, espacements).
130
+ * **Graphiques (si pertinent) :**
131
+ * Si l'exercice implique une étude de fonction ou de la géométrie, inclus des graphiques propres et bien légendés (axes, courbes, points importants, asymptotes). Les couleurs doivent être utilisées judicieusement pour améliorer la compréhension.
132
 
133
+ # CONTENU PÉDAGOGIQUE DE LA SOLUTION
 
 
 
 
134
 
135
+ 1. **Rigueur et Justification :** Justifie *chaque* étape de calcul ou de raisonnement.
136
+ 2. **Clarté des Explications :** Explique les "pourquoi" derrière les méthodes utilisées. Utilise un langage mathématique précis.
137
+ 3. **Complétude :** Traite toutes les questions de l'énoncé.
138
+ 4. **Conclusion :** Si pertinent, conclus en résumant les points essentiels.
139
 
140
  # CONTRAINTES STRICTES
 
 
 
 
141
 
142
+ * Le seul output doit être le code source brut permettant de générer le document décrit.
143
+ * Aucun texte avant la première ligne du code source ou après la dernière ligne (sauf la mention spéciale ci-dessous).
144
+ * Inclus la ligne `{LATEX_MENTION}` juste avant la toute fin du code source.
145
 
146
  """
147