# Exo 3.3 "Templates dynamiques" - BOICHÉ Gauvain Je déclare avec fait usage de l'IA : # Raison 1 Pour de "l'autocomplétion" avec le plan gratuit de Github Copilot (modèle inconnu) pour générer la base html parce que ça me casse un peu les noix de refaire ça. C'est un genre d'aamorçage qui devrait exister de base dans les IDE avec un algo à l'ancienne ultra-léger... ## Pourquoi cet usage Parce que ça me gonfle de refaire ça pour la Xième fois parce que je ne l'ai pas retenu tellement l'HTML me gonfle. ## Ce que j'en retiens Je dois trouver une extension qui le fait pour moi. # Raison 2 Comprendre pourquoi mes pages Jinja2 ne "marchent pas". ## Pourquoi cet usage Refaisant un document pour chaque page, je n'ai pas su comprendre par les docs accessibles (qui donnaient juste les blocs avec % et variables Python) qu'il fallait les peupler UNIQUEMENT des éléments étendant la "base". Que l'HTML s'oubliait sur ces parties-là. Je prenais les blocs en le mettant dans des balises etc sans succès. ## Ce que j'en ai retenu Les patrons Jinja2 héritent de TOUT, et on ne rajotue que ce qu'il y a besoin. y compris les bases DOCTYPE. # Raison 3 ## Pourquoi cet usage Je cliquais sur "actives" et "details" mais je restait avec le contenu de "index". Je demande une revue de code à MiniMax M3, qui me diagnostique trois possibilités : | Symptom | Likely cause | Remedy | |---------|--------------|--------| |Same content on every page | Browser cache serving the old HTML | Hard-reload: Ctrl + F5 (or Cmd + Shift + R on macOS) | URL changes but body identical | A single route handling all paths | Verify each @app.route is distinct | Template not overridden | Missing {% block content %} in child | Ensure children declare the block | J'essaye, et rien. ## Ce que j'en ai retenu Que je suis un imbécile. Je demande à l'IA de m'aider, et rien n'y a fait. Jusqu'à ce que je vois ma connerie : ``` @app.route('/') def index(): return render_template('index.html', username=USERNAME, equipments=EQUIPMENTS) @app.route('/actives') def actives(): return render_template('index.html', username=USERNAME, equipments=EQUIPMENTS) @app.route('/details') def details(): return render_template('index.html', username=USERNAME, equipments=EQUIPMENTS) ``` Trois fois "index.html". Bon. Résultat, je corrige et ça marche. L'IA ne m'a servi à RIEN ici, sauf ceci : des fois, il faut aller faire un tour, boire de l'eau, revenir et relire.