|
from flask import Flask, render_template, request, jsonify |
|
import google.generativeai as genai |
|
import os |
|
from PIL import Image |
|
import tempfile |
|
|
|
app = Flask(__name__) |
|
|
|
|
|
token = os.environ.get("TOKEN") |
|
genai.configure(api_key=token) |
|
|
|
generation_config = { |
|
"temperature": 1, |
|
"max_output_tokens": 8192, |
|
} |
|
|
|
safety_settings = [ |
|
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"}, |
|
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"}, |
|
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"}, |
|
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"}, |
|
] |
|
|
|
prompt_tableau = """ |
|
Méthodologie de la lecture méthodique |
|
|
|
I. Visualisation, Identification du texte |
|
La visualisation (taille du texte, mise en page, marge, paragraphes...), précise les caractéristiques du texte. La source (page, numéro, paragraphe...) l'identification permet de savoir : |
|
a) De quel type de texte il s'agit : oeuvre ou un genre littéraire (roman, poésie...) |
|
b) En définissant le texte par rapport à son énonciation (opposition discours/récit) par rapport à son objectif intellectuel (description/narration ; argumentation/explication). |
|
|
|
Compréhension du texte |
|
Il s'agit de répondre à un certain nombre de questions qui permettent de mieux cerner le texte. |
|
a. Quel est le thème abordé? Que raconte-t-il concrètement? A qui s'adresse-t-il? À quel moment ou à quel lieu agit-il ? |
|
b. De quel type de texte s'agit-il ? |
|
c. Quels sont les personnages ou le point de vue ? |
|
d. Quelle est la focalisation ou le point de vue ? |
|
e. Quels sont les temps verbaux dominants ? |
|
f. Combien de personnages avons-nous ? |
|
|
|
Remarque : |
|
Il n'est pas obligatoire de répondre à toutes les questions de la compréhension ; seules celles qui s'appliquent au texte peuvent intéresser et peu importe l'ordre dans lequel on répond à ces questions. |
|
|
|
Tableau de la lecture méthodique |
|
|
|
Le tableau doit comporter 3 colonnes a savoir : Outils d'analyse, repérage, interprétation. |
|
|
|
Exemple d'outil d'analyse : (1. L'énonciation |
|
2 Les outils grammaticaux(Adjectifs qualificatifs, adverbes, types de phrases, modes et temps des verbes, etc..) |
|
|
|
Les outils lexicaux(* Les champs lexicaux, Connotation et dénotation, etc..) |
|
|
|
La tonalité |
|
|
|
Les registres de langue |
|
|
|
Les figures de style |
|
|
|
Le discours rapporté |
|
7- ** La focalisation du Point de vue **) |
|
|
|
Les axes de lecture et les sous-axes |
|
Il s'agit de repérer un plan, un aspect du texte à partir des différentes interprétations, des champs lexicaux particuliers ou les arguments. |
|
|
|
Conclusion |
|
La conclusion de la lecture méthodique fait la synthèse de l'étude qui a été donnée menée et propose une ouverture sur l'œuvre dans laquelle le passage a été extrait. |
|
|
|
LECTURE METHODIQUE |
|
Elle est définie comme une analyse approfondie et interprétative d'un texte |
|
C'est une constitution d'un texte, à le présenter et à le structurer. Quatre étapes méthodiques : |
|
première étape et de la mise à plat de l'observation des formes, de la structure du texte, des figures |
|
de style et de la nature dont les éléments entrent en interférence et en dissonance. |
|
|
|
Quels outils utiliser la lecture méthodique |
|
On utilisera des outils d'analyse linguistique et littéraires : les outils linguistiques, figures de style, vérification processus grammaticaux, énonciation, tonalité, formes de discours, analyse des termes (4) catégories d'outils dégageant : les outils d'analyse de la langue, les outils d'analyse lexicale, les outils d'analyse de l'énoncé et les outils d'analyse culturels. |
|
a) Les outils d'analyse de la langue |
|
A. Le vocabulaire |
|
Il ne perçoit sous des champs lexicaux, les procédés grammaticaux et les procédés rhétoriques. |
|
|
|
Les registres de niveaux de langue |
|
|
|
Les termes subjectifs |
|
|
|
Les reprises et les reprises |
|
b) Les pronoms et les déterminants |
|
|
|
Les modes, les voix et les temps verbaux |
|
|
|
La ponctuation |
|
|
|
Les liaisons logiques et les procédés de reprise |
|
|
|
c) Les figures de style restent un outil précieux pour les images qu'elles créent et la richesse de la langue. |
|
|
|
Tous ces outils d'analyse des textes ont une fonction. Selon la fonction, on classe les textes en types : |
|
informatif, argumentatif, descriptif ou narratif. |
|
➤ Le texte informatif : il a pour but de transmettre des connaissances. On le reconnait à travers objectif et le présent de l'indicatif. |
|
➤ Le texte argumentatif : son but est de persuader et de convaincre. On l'identifie grâce à la présence des thèses soutenues ou rejetées, des arguments et des exemples. La langue ici est subjective. |
|
➤ Le texte narratif : il raconte des événements réel ou fictif. Ils sont présents dans les romans, les contes, les fables et les faits divers. Un texte narratif se reconnait à certains marques et critères : |
|
|
|
organisationnels |
|
|
|
progression entre un état initial et un état final |
|
|
|
des critères lexicaux : présence d'indices temporels, grand nombre de l'actions |
|
|
|
des critères grammaticaux : alternance entre l'imparfait et le passé simple ; parfois entre le présent de narration. |
|
➤ Le texte descriptif : il dépeint les caractéristiques d'un personnage, d'un animal, d'un lieu, d'un objet. On le repère dans les romans, contes, fables. |
|
Une description s'organise de haut en bas ; c'est la plongée ou de bas en haut ; c'est la contre plongée, de gauche à droite ou réciproquement, du plan rapproché au plan éloigné. |
|
|
|
I. Éléments d'Analyse Littéraire |
|
|
|
Le Genre : |
|
Poésie, théâtre, roman, essai, lettre, etc. (étude des caractéristiques de chaque genre). |
|
|
|
L'Énonciation : |
|
Le narrateur et la focalisation : externe, interne, zéro. |
|
Étude des pronoms et de leurs valeurs. |
|
|
|
Le Temps et l'Espace, Progression du Récit : |
|
Repérage du cadre spatio-temporel. |
|
Pause, sommaire, scène, ellipse. |
|
|
|
Les Types de Textes : |
|
Descriptif, narratif, argumentatif, etc. |
|
|
|
Les Registres : |
|
Comique, tragique, pathétique, lyrique, laudatif, etc. |
|
|
|
La Structure du Passage : |
|
Effet de contraste, mise en valeur. |
|
Progression argumentative. |
|
|
|
La Valeur des Temps Verbaux : |
|
Notamment : présent de l'indicatif, les temps du récit. |
|
|
|
Le Lexique, les Champs Lexicaux : |
|
Évaluation du registre de langue (familier, courant, soutenu). |
|
Repérage des champs lexicaux. |
|
Caractérisation du lexique en général. |
|
Appréciation (mélioratif, péjoratif, etc.). |
|
|
|
La Modalisation / Expression de la Subjectivité : |
|
Outre le lexique : les modalisateurs (degrés de certitude, appréciation). |
|
|
|
Construction et Rythme des Phrases : |
|
Effets de répétition, d'accumulation, de gradation, d'anaphore. |
|
Étude de la ponctuation. |
|
|
|
Les Figures de Style : |
|
Figures d'opposition, d'identité (ou analogie, ou image), d'amplification (atténuation ou exagération), etc. |
|
|
|
II. Rappel : Analyse d'un Fait de Langue (3 Étapes) |
|
|
|
Observation [Quoi ?] |
|
Citation d'un exemple, relevé. |
|
|
|
Explication [Comment ?] |
|
Analyse du fait de langue qui démontre son intérêt et sa pertinence. |
|
|
|
Interprétation [Pourquoi ?] |
|
Effet recherché sur le lecteur : mise en lumière d'un aspect fondamental du texte. |
|
|
|
L'analyse devra respecter la structure suivante : |
|
|
|
1-Présente deux axes de lecture distincts, qui permettront de dégager les idées principales du texte. |
|
|
|
2-Chacun des deux axes de lecture devra être subdivisé en deux sous-axes qui préciseront les idées principales. |
|
|
|
3-Chaque sous-axe devra être analysé à l'aide de deux outils d'analyse précis choisis dans le domaine de l'analyse littéraire (par exemple : champ lexical, figure de style, connecteur logique, temps verbaux, tonalité, etc.). Les outils devront être cités explicitement. |
|
|
|
4-Présente les résultats de chaque analyse sous forme de tableau avec les colonnes "Outils d'analyse", "Repérage" et "Interprétation". Il y aura donc deux tableaux par axe. |
|
|
|
5- Ne fais pas de conclusion |
|
|
|
Réponds en français |
|
|
|
""" |
|
|
|
|
|
prompt_redaction = """ |
|
III - LE COMMENTAIRE COMPOSÉ |
|
|
|
PRÉSENTATION DE L'EXERCICE |
|
Le commentaire composé, sujet de type 2, est un exercice écrit présenté au baccalauréat. C'est un exercice qui se fait à la base d'un texte. Procéder au commentaire composé d'un texte, c'est rendre compte de sa lecture. Lire un texte, c'est l'analyser, l'expliquer, l'interpréter, le décoder afin de le rendre compréhensible et accessible à tous. L'explication qui sera faite du texte découle des impressions premières dégagées après la lecture de ce dernier. Par ailleurs, ces impressions ou hypothèses de lecture seront justifiées, confirmées ou infirmées grâce à l'exploitation du texte et la convocation d'outils ou instruments d'analyse compris dans le texte. En outre, procéder au commentaire composé d'un texte, c'est aussi respecter un certain nombre de conventions. Le commentaire composé commence par une introduction dont l'objectif est de situer le texte, de le présenter et d'annoncer ses centres d'intérêt. Il propose par la suite un développement qui permet de répondre progressivement aux hypothèses de lecture. Il se termine par une conclusion qui permet d'établir un bilan, le cas échéant une opinion personnelle, et d'effectuer une ouverture à travers un rapprochement littéraire ou thématique avec d'autres œuvres. |
|
|
|
LA RÉDACTION DE L'INTRODUCTION |
|
La rédaction d'un commentaire composé doit comporter trois parties rédigées en un seul paragraphe. Les différentes étapes de l'introduction sont : |
|
|
|
La situation du texte ou la mise en contexte. Dans cette partie, différentes approches sont possibles. La première consiste à s'inspirer de la vie littéraire de l'auteur si le texte a un quelconque lien avec cette dernière. La deuxième, quant à elle, tient compte de la tendance littéraire à laquelle appartient l'auteur du texte (mouvement littéraire). La troisième et dernière consiste à prendre en compte la thématique littéraire du texte étudié. En outre, situer le texte implique aussi que nous identifiions le genre littéraire auquel appartient le texte. De plus, tous les éléments ou renseignements offerts par le paratexte doivent être indiqués, à savoir la source (nom de l'auteur, le titre de l'œuvre d'où est extrait le texte, la ville de publication, la maison d'édition, l'année de publication, la pagination), le chapeau et, le cas échéant, le titre voire la position de l'extrait dans l'œuvre. La présentation du texte. Ici, il faut préciser le type du texte, le ton littéraire du texte, l'idée générale du texte et les mouvements du texte. L'annonce du plan. Dans cette dernière partie de l'introduction, il est recommandé de formuler clairement et précisément les différents axes de lecture ou centres d'intérêt qui constitueront les parties du développement. |
|
|
|
LA RÉDACTION DU COMMENTAIRE COMPOSÉ |
|
Chaque paragraphe du commentaire composé s'appesantit sur la logique d'un axe de lecture. Il comporte un sous-axe développé à l'aide des instruments d'analyse identifiables à travers les références textuelles et leurs interprétations. Cependant, développer ce sous-axe ne consiste pas à juxtaposer les instruments d'analyse les uns après les autres. Il s'agit plutôt d'énoncer un instrument d'analyse et la référence textuelle faisant foi et de l'accompagner de son interprétation. Aussi, les autres outils d'analyse qui seront évoqués obéiront à la même logique que le précédent. Par ailleurs, après avoir énuméré les outils d'analyse permettant de justifier la présence du sous-axe retenu, le paragraphe du commentaire composé se termine par une conclusion partielle. |
|
|
|
NB : Les expressions qui servent à relier les instruments d'analyse et leurs interprétations peuvent être : témoigner de ; attester ; suggérer ; sous-entendre, mettre en relief/lumière/exergue ; souligner ; relever ; prouver ; ressortir ; donner l'impression que ; etc. |
|
|
|
Schématisation du développement d'un commentaire composé : |
|
|
|
La phrase chapeau dans laquelle on énumère l'axe 1 : |
|
|
|
Sous-axe 1 : outils d'analyse 1 + référence textuelle + interprétation + connecteur logique d'addition (C.L.A) + outil d'analyse 2 + référence textuelle + interprétation + conclusion partielle. La phrase de transition est le pont entre les deux parties (les deux axes de lecture). |
|
|
|
La phrase chapeau dans laquelle on énumère l'axe 2 : |
|
|
|
Sous-axe 2 : outils d'analyse 1 + référence textuelle + interprétation + connecteur logique d'addition (C.L.A) + outil d'analyse 2 + référence textuelle + interprétation + conclusion partielle. |
|
|
|
IV - LA CONCLUSION DU COMMENTAIRE COMPOSÉ |
|
|
|
Elle comporte deux ou trois parties regroupées en un seul paragraphe. Ces parties sont : |
|
|
|
Le bilan des analyses faites à partir des grandes idées développées dans le corps du devoir. Il s'agit ici de faire une synthèse des éléments d'interprétation mis en évidence dans chaque partie du développement. Cependant, il ne s'agit pas de répéter et développer les grandes idées de chaque partie mais de les résumer. |
|
|
|
L'opinion personnelle fait référence à un intérêt personnel dégagé à partir de la lecture du texte. |
|
|
|
L'élargissement/ouverture peut se faire sous deux approches : la première approche consiste à comparer ou rapprocher le texte étudié à une autre œuvre abordant le même thème. Cela peut être du même auteur ou d'un auteur différent. La deuxième approche consiste à montrer la nouveauté, l'originalité, la distinction, la singularité du texte étudié en rapprochement avec le texte convoqué en tenant compte du thème, ceci pour mettre en relief la manière d'écrire ou le style d'écriture de l'auteur convoqué. Cette dernière approche permet de mettre en évidence les différences stylistiques utilisées par les deux auteurs dans la mesure où ils abordent le même thème. |
|
|
|
Voici un exercice a trous présentant la rédaction.. référence textuelle= repérage. Et ça doit absolument être reporté. |
|
|
|
EXERCICE À TROUS |
|
|
|
Le thème de ... (thème du texte) a souvent fait l'objet de nombreuses préoccupations dans le monde littéraire (mais pas que). C’est dans ce cadre que s'inscrit l'extrait ... (titre du texte) qui fait l'objet de notre étude, de l'écrivain... (nom de l'auteur), tiré de son œuvre ... (préciser le genre littéraire de l'œuvre) ... (maison d'édition), en ... (date de publication) à la (aux) page (s) …. Dans ce texte (type du texte) à ton ... (tonalité du texte/facultative), structure, nous verrons en premier lieu,...(axe 1) et en second lieu, ...(axe 2). |
|
|
|
Dans son extrait (poème), l’auteur met en relief ... (axe 1) à travers ... (sous-axe 1) et ... (sous-axe 2). |
|
|
|
S'agissant de ... (sous-axe 1), l’écrivain utilise ... (outil d'analyse 1 + référence textuelle) pour montrer ... (interprétation). Aussi (de plus), par l'usage de... (outil d'analyse 2 + référence textuelle), l'écrivain ... (interprétation). Mieux encore, ... (outil d'analyse 3 + référence textuelle) nous donne également la possibilité d’appréhender ... (sous-axe 2). |
|
De plus, l'homme de lettres emploie ... (outil d'analyse 1 + référence textuelle) pour ... (interprétation). Il se sert aussi de ...(outil d'analyse 2 + référence textuelle) afin de ... (interprétation). Pour continuer sa (description, représentation), le ...(nationalité de l'auteur) se manque pas de faire recours à ... (outil d'analyse 3 référence textuelle) Ici, il s'agit pour l'auteur autour de ... (sous-axe 1) et ... (sous-axe 2). |
|
|
|
Après avoir démontré ... (axe 1), voyons à présent ... (axe 2). |
|
|
|
En second lieu, le poète (l’écrivain ou l’homme de lettres) met en exergue ... (axe 2) en s’appuyant d’une part, sur... (sous-axe 1) et d’autre part, sur... (sous-axe 2). En ce qui concerne ... (sous-axe 1), l'homme de lettres met d'abord en évidence l'aspect (le caractère) ... (interprétation) comme en témoigne l'emploi (l'usage de) ... (outil d’analyse 1 + référence textuelle). Ensuite, ... (outil d'analyse 2 + référence textuelle) dévoile que... (interprétation) Enfin, ... (outil d'analyse 3 + référence textuelle) suggère que… (interprétation) . ... (axe 2) se révèle grâce à …. |
|
En parlant de ... (sous-axe 2), l'auteur met l'accent en premier sur… (interprétation), comme nous pouvons le voir avec la récurrence de (du/des) ... (rappel du sous-axe 2), le poète (l'auteur) souligne ... (interprétation) toujours dans le même sens de ... (rappel du sous-axe 2) . Il use de ... (outil d’analyse 2 + référence textuelle). Dès lors, on peut déduire que ...(interprétation) utilise ... (outil d’analyse 3 + référence textuelle). |
|
Ainsi, ... (axe 2) est lié (e) à ... (sous-axe 1) et à ... (sous-axe 2). |
|
|
|
Somme toute, ... (titre du texte) organise son sens autour de … (axe 1) et de ... (axe 2). De ces deux centres d’intérêt découlent respectivement, d’une part, … (sous-axe 1 de l'axe 1) et ... (sous-axe 2 de l'axe 1) et, d’autre part, … (sous-axe 1 de l'axe 2) et … (sous-axe 2 de l'axe 2). À travers ce texte, ...(nom de l'auteur) nous ... (opinion personnelle). Une telle optique est perceptible dans la logique de... (nom de l'auteur nous permettant de faire un rapprochement thématique), dans son œuvre ...(titre de l’œuvre), dans lequel il aborde… (bref résumé de l'œuvre en question qui peut être facultatif). |
|
|
|
|
|
""" |
|
|
|
model = genai.GenerativeModel( |
|
model_name="gemini-2.0-flash-exp", |
|
generation_config=generation_config, |
|
safety_settings=safety_settings |
|
) |
|
|
|
def generate_table(image): |
|
"""Génère le tableau d'analyse à partir de l'image""" |
|
response = model.generate_content([prompt_tableau, image]) |
|
|
|
return response.text |
|
|
|
def generate_dissertation(tableau): |
|
"""Génère la dissertation basée sur le tableau""" |
|
prompt = f""" |
|
|
|
{prompt_redaction}.Écris maintenant un rédaction pour ça en suivant l'exercice a trous ; {tableau}""" |
|
response = model.generate_content(prompt) |
|
return response.text |
|
|
|
@app.route('/') |
|
def index(): |
|
return render_template('index.html') |
|
|
|
@app.route('/analyze', methods=['POST']) |
|
def analyze(): |
|
if 'image' not in request.files: |
|
return jsonify({'error': 'No image uploaded'}), 400 |
|
|
|
|
|
image_file = request.files['image'] |
|
|
|
|
|
with tempfile.NamedTemporaryFile(delete=False) as temp_file: |
|
image_file.save(temp_file.name) |
|
image = Image.open(temp_file.name) |
|
|
|
|
|
try: |
|
|
|
tableau = generate_table(image) |
|
|
|
|
|
dissertation = generate_dissertation(tableau) |
|
|
|
return jsonify({ |
|
'tableau': tableau, |
|
'dissertation': dissertation |
|
}) |
|
except Exception as e: |
|
return jsonify({'error': "Erreur."}), 500 |
|
finally: |
|
|
|
os.unlink(temp_file.name) |