TP1re année12 livrablesQuiz corrigé
L'IA voit-elle vraiment ?
Tu photographies une fleur en briques, une IA la « regarde » et dresse l'inventaire des pièces. Ton vrai job : vérifier si elle dit vrai — et apprendre à parler le JSON, la langue que les machines s'échangent.
Par Josselyn C., prof de BTS SIO. Publié le , mis à jour le .
- Objectif
- découvrir une IA de vision, le format JSON, et l'esprit critique face à une réponse d'IA
- On manipule
- claude.ai dans le navigateur (gratuit) · une fleur en briques · un téléphone pour photographier
- Pré-requis
- aucun. On part de « c'est quoi une IA qui voit ? »
- Pour qui
- SLAM et SISR, 1re année
- Durée
- environ 3 h
Compétences : C1.6 Organiser son développement professionnel
Règle d'or de l'atelier : une IA ne « sait » pas, elle devine. C'est à toi de vérifier.
Le défi : inventorier le stock de la boutique
Imagine la boutique « Pétale & Brique » : elle vend des bouquets qu'on monte soi-même, en briques de plastique. Chaque jour, des clients rapportent des boîtes à moitié vidées, des pièces en vrac. Avant de refaire les stocks, il faut compter les pièces : combien de pétales roses ? combien de tiges vertes ?
Les compter une par une à la main, c'est long et pénible. La question du jour :
Le chemin qu'on va suivre
Ce que tu vas produire aujourd'hui
| Livrable | Ce que c'est |
|---|---|
| L'inventaire JSON | la liste des pièces de ta fleur, au format JSON, vérifiée et corrigée par toi |
| La fiche « erreurs de l'IA » | 2 ou 3 endroits où l'IA s'est trompée, avec la raison |
| Tes flags | les petits défis (A à E) que tu rends tout au long |
| Ta mini-appli publiée | ton inventaire transformé en vraie page web, en ligne (bonus Claude Artifacts) |
Les notions qu'on découvre
| Notion | À quoi ça sert |
|---|---|
| IA de vision | une IA qui « lit » une image, pas seulement du texte |
| Prompt | la consigne que tu donnes à l'IA |
| JSON | un format pour ranger des données proprement, lisible par un humain et par une machine |
| Clé / valeur | la brique de base du JSON : un nom ("couleur") et sa valeur ("rose") |
| Hallucination | quand une IA invente une réponse fausse… avec aplomb |
| Esprit critique | ne jamais prendre une réponse d'IA pour argent comptant |
1. C'est quoi une IA de vision ?
Tu as sûrement déjà « parlé » à une IA en tapant du texte. Une IA de vision, c'est la même idée, mais tu peux aussi lui montrer une image. Elle « regarde » la photo et te répond à propos de ce qu'elle y voit : des objets, des couleurs, du texte, des formes.
Ce qu'elle sait faire (et ce qu'elle rate)
| Plutôt douée pour… | Souvent en difficulté sur… |
|---|---|
| reconnaître qu'il y a des pétales, des tiges | compter précisément quand il y en a beaucoup |
| nommer les couleurs principales | distinguer deux couleurs proches (rose clair / saumon) |
| décrire la scène en gros | voir les pièces cachées derrière les autres |
Ouvre l'outil
2. La bonne photo
Avant même l'IA, tout se joue sur la photo. Une IA de vision ne peut compter que ce qu'elle voit distinctement. Pièces entassées, floues, mal éclairées : elle devine, et elle se trompe. On va le prouver.
Étape 1 — Monte (ou prends) ta fleur
Prends une fleur montée du kit (ou un petit tas d'une quinzaine de pièces si tu préfères). Ce sera ta fleur pour tout l'atelier.
Étape 2 — Prends DEUX photos exprès différentes
| Photo A — « la mauvaise » | Photo B — « la bonne » |
|---|---|
| pièces en tas, les unes sur les autres | pièces étalées, qui ne se chevauchent pas |
| fond chargé (ta trousse, un classeur…) | fond uni (une feuille blanche, la table) |
| sombre ou contre-jour | bien éclairée, de face |
| de loin, flou | de près, nette |
Flag D1
Investigation
Envoie d'abord la photo A (la mauvaise) à l'IA avec le prompt : « Combien de pièces vois-tu sur cette photo ? ». Compte ensuite les pièces toi-même, à la main.
Rends : le chiffre de l'IA, ton chiffre réel, et 2 raisons pour lesquelles la photo A l'a gênée (utilise le tableau ci-dessus).
3. Ton premier inventaire (en français)
On garde maintenant la photo B (la bonne). On va demander à l'IA un vrai inventaire. Dépose la photo B dans claude.ai, puis écris ce prompt :
Voici une photo de pièces de fleur en briques.
Fais l'inventaire : pour chaque type de pièce,
donne la couleur et le nombre.
L'IA répond quelque chose comme ça (chez toi, les chiffres seront différents) :
Sur la photo, je vois :
- 12 pétales jaunes
- 1 centre marron
- 3 tiges vertes
- 2 feuilles vertes
Au total, environ 18 pièces.
Le hic : cette réponse, une machine ne sait pas la relire
La réponse ci-dessus est parfaite pour toi, un humain. Mais souviens-toi de la boutique : on veut que le logiciel de stock ajoute automatiquement « +12 pétales jaunes » à sa base. Or un logiciel ne sait pas lire une phrase comme « je vois 12 pétales jaunes et aussi, au total, environ… ». Il lui faut quelque chose de rangé, régulier, prévisible.
C'est exactement le rôle du JSON. Chapitre suivant.
4. Pourquoi la phrase ne suffit pas
Prends la réponse de l'IA et imagine que tu es un programme. On te demande : « combien de tiges vertes ? ». Dans la phrase « je vois 12 pétales jaunes, 1 centre marron, 3 tiges vertes… », tu devrais : trouver le mot « tiges », reculer pour trouver le nombre juste avant, vérifier que « vertes » est bien collé… et prier pour que la phrase d'après soit tournée pareil. Trop fragile.
Du texte libre aux cases
5. C'est quoi le JSON ?
JSON (prononce « djé-sonn ») veut dire JavaScript Object Notation. Oublie le nom : retiens que c'est une façon simple et universelle de ranger des données, que presque tous les logiciels du monde savent lire. On va l'apprendre depuis zéro, morceau par morceau.
Brique n°1 — la paire « clé : valeur »
Tout part d'un couple : un nom (la clé) et son contenu (la valeur), séparés par deux-points.
"couleur": "rose"
Brique n°2 — les types de valeur
Une valeur peut être du texte ou un nombre — et ça change l'écriture :
"couleur": "jaune" <-- texte : AVEC guillemets
"quantite": 12 <-- nombre : SANS guillemets
Brique n°3 — l'objet { }
On regroupe plusieurs paires qui décrivent une même chose entre accolades { }, séparées par des virgules. Ça, c'est un objet : ici, une pièce.
{
"type": "petale",
"couleur": "jaune",
"quantite": 12
}
Brique n°4 — le tableau [ ]
Une fleur, c'est plusieurs pièces. Pour faire une liste d'objets, on les met entre crochets [ ], séparés par des virgules. Ça, c'est un tableau (en anglais array).
[
{ "type": "petale", "couleur": "jaune", "quantite": 12 },
{ "type": "tige", "couleur": "vert", "quantite": 3 }
]
Brique n°5 — emboîter (le document complet)
Dernière marche : une valeur peut elle-même être un tableau. On obtient alors un document qui décrit toute la fleur d'un coup — un nom, la liste des pièces, et le total. C'est exactement ce que l'IA va te renvoyer.
{
"fleur": "tournesol",
"pieces": [
{ "type": "petale", "couleur": "jaune", "quantite": 12 },
{ "type": "tige", "couleur": "vert", "quantite": 3 }
],
"total": 15
}
Flag B1
Production (à la main, sans IA)
Prends une seule pièce de ta fleur. Écris toi-même, à la main sur ta feuille, l'objet JSON qui la décrit, avec les 3 clés type, couleur, quantite.
Rends : ton objet JSON. Vérifie tes guillemets, tes deux-points, et l'absence de virgule après la dernière paire.
Chapitre 5 bis — Entraîne ton œil : répare le JSON
Avant de faire travailler l'IA, muscle ton œil de relecteur. Voici trois JSON cassés. Chacun contient un des pièges du chapitre 5. À toi de les réparer — sur ta feuille, puis tu vérifieras avec le corrigé en bas.
Cassé n°1
{ "type": "feuille", "couleur": "vert", "quantite": 2, }
Cassé n°2
{ "type": "petale", couleur: "rose", "quantite": 5 }
Cassé n°3
Exercice Réussi À revoir
[
{ "type": "tige", "couleur": "vert", "quantite": 3 },
{ "type": "centre", "couleur": "marron", "quantite": 1
]
Flag C0
Debug
Rends : les trois JSON réparés, et pour chacun, en 3 mots, quel piège c'était.
Voir le corrigéMasquer le corrigé de l'exercice
n°1 — virgule en trop. On retire la virgule avant } : … "quantite": 2 }.
n°2 — guillemets oubliés sur la clé couleur : il faut "couleur": "rose".
n°3 — crochet du tableau pas refermé (et accolade du 2ᵉ objet manquante) : il faut fermer l'objet } et le tableau ] :
[
{ "type": "tige", "couleur": "vert", "quantite": 3 },
{ "type": "centre", "couleur": "marron", "quantite": 1 }
]
Tu avais trouvé ?
6. Faire rendre du JSON à l'IA
Maintenant, le bon réflexe de développeur : au lieu de demander « fais l'inventaire » (réponse en phrases), on impose le format de sortie. On donne à l'IA un modèle (on dit un schéma) et on exige qu'elle le remplisse.
Reprends ta photo B dans claude.ai et écris ce prompt :
Fais l'inventaire des pièces sur cette photo.
Réponds UNIQUEMENT en JSON, sous la forme d'un
tableau d'objets avec les clés "type", "couleur"
et "quantite". Pas de texte avant ni après.
Tu obtiens quelque chose comme :
[
{ "type": "petale", "couleur": "jaune", "quantite": 12 },
{ "type": "centre", "couleur": "marron", "quantite": 1 },
{ "type": "tige", "couleur": "vert", "quantite": 3 },
{ "type": "feuille","couleur": "vert", "quantite": 2 }
]
Flag A1
Checkpoint
Demande maintenant à l'IA d'ajouter une clé "total" à la fin, égale à la somme de toutes les quantités.
Rends : le JSON complet avec son "total", et vérifie toi-même l'addition (additionne les quantite). L'IA a-t-elle bien calculé ?
7. Vérifier : compte à la main !
Voici le cœur de l'atelier, et la compétence la plus importante de ta future vie de dev : ne jamais faire confiance à une sortie d'IA sans la vérifier. On va comparer le JSON de l'IA à la réalité.
La méthode « ligne par ligne »
Prends le JSON de l'IA et, pour chaque ligne, compte les vraies pièces sur la table. Note dans un petit tableau :
| Type | Couleur | IA dit | Je compte | Verdict |
|---|---|---|---|---|
| pétale | jaune | 12 | 11 | ❌ l'IA en a vu 1 de trop |
| centre | marron | 1 | 1 | ✔ ok |
| tige | vert | 3 | 3 | ✔ ok |
| feuille | vert | 2 | 3 | ❌ l'IA en a raté 1 (cachée) |
Flag C1
Debug (trouve l'erreur, corrige le JSON)
Remplis ce tableau pour ta fleur. Trouve au moins une ligne fausse. Puis corrige le JSON à la main pour qu'il colle à la réalité (change la bonne quantite).
Rends : ton tableau de comparaison + le JSON corrigé, avec la ou les lignes modifiées entourées.
8. Pourquoi l'IA se trompe
Maintenant que tu l'as vue se tromper, comprenons pourquoi. Ce n'est pas un bug : c'est la nature même d'une IA de vision. Elle ne « compte » pas comme toi — elle reconnaît des motifs et estime la réponse la plus probable.
Les 4 pièges classiques
| Piège | Ce qui se passe | Comment l'éviter |
|---|---|---|
| Pièces cachées | une pièce derrière une autre n'existe pas pour l'IA | étaler les pièces, ne pas les empiler |
| Couleurs proches | rose clair vu comme blanc, vert foncé comme noir | bon éclairage, lui préciser les couleurs attendues |
| Beaucoup d'objets identiques | au-delà de ~10, elle estime au lieu de compter | photographier par petits paquets |
| Reflets / ombres | un reflet brillant compté comme une pièce | lumière douce, pas de flash direct |
9. Corriger et affiner (reprendre la main)
Tu as deux façons de corriger une réponse d'IA. Un bon dev connaît les deux.
Façon 1 — tu corriges toi-même (le plus sûr)
Tu as fait ta matrice de vérité au chapitre 7 : tu modifies directement la quantite fausse dans le JSON. Fiable, immédiat.
Façon 2 — tu renvoies l'IA au travail (le plus rapide)
Tu lui signales précisément l'erreur :
Il y a 11 pétales jaunes, pas 12, et 3 feuilles
vertes, pas 2. Corrige le JSON et renvoie-le.
Flag E1
Extension (va plus loin avec le prompt)
Demande à l'IA d'enrichir ton JSON corrigé : ajoute à chaque pièce une clé "categorie" qui vaut "structure" (tige, centre) ou "decor" (pétale, feuille), selon toi.
Rends : le JSON enrichi. Observe : l'IA a-t-elle bien classé ? Reprends-la si besoin. (C'est toi qui décides du classement — elle propose, tu tranches.)
10. Le bouquet de la classe (activité commune)
Une fleur seule, c'est bien. Mais la boutique vend des bouquets. On va combiner plusieurs inventaires — et découvrir pourquoi le JSON est si pratique quand les données viennent de plusieurs sources.
Étape 1 — échange avec ton voisin
Récupère le JSON corrigé de ton voisin (le sien, de sa fleur). Vous avez maintenant deux tableaux JSON, de même forme.
Étape 2 — fusionne en un bouquet
Donne les deux à l'IA avec ce prompt :
Voici deux inventaires JSON de deux fleurs.
Fusionne-les en un seul tableau "bouquet".
Si une même pièce (même type ET même couleur)
apparaît dans les deux, additionne les quantites.
Renvoie uniquement le JSON.
[
{ "type": "petale", "couleur": "jaune", "quantite": 19 },
{ "type": "petale", "couleur": "rose", "quantite": 8 },
{ "type": "tige", "couleur": "vert", "quantite": 6 },
{ "type": "feuille","couleur": "vert", "quantite": 5 }
]
Flag B2
Production
Rends : le JSON « bouquet » fusionné + une addition que tu as vérifiée à la main (écris le calcul).
Étape 3 (défi bonus) — « qu'est-ce qu'il manque ? »
La boutique veut un bouquet « modèle » de : 24 pétales, 8 tiges, 6 feuilles. Compare avec ton bouquet fusionné.
Flag E2
Extension (les pièces manquantes)
Demande à l'IA : « Voici mon bouquet JSON et le bouquet modèle. Dis-moi, en JSON, ce qu'il me MANQUE pour atteindre le modèle. » Puis vérifie un manque à la main.
Rends : le JSON des manques + ta vérification. (C'est exactement ce que fera l'appli des 2ᵉ années !)
11. Le JSON, pour de vrai
Tu viens de jouer avec des fleurs, mais le JSON que tu as appris est partout, pour de vrai. À chaque fois que deux programmes s'échangent des données, c'est presque toujours en JSON.
| Quand tu… | …du JSON voyage en coulisses |
|---|---|
| ouvres une appli météo | le serveur renvoie { "ville": "Paris", "temp": 14 } |
| consultes tes notes en ligne | une liste d'objets { "matiere": ..., "note": ... } |
| utilises une carte / un trajet | des coordonnées en JSON entre l'appli et le serveur |
| joues en ligne | l'état de la partie s'échange en JSON |
Flag D2
Investigation (hors playbook)
Trouve une appli ou un site que tu utilises et qui, d'après toi, échange sûrement du JSON. Explique en 2 phrases quelles données y circulent (ex. : « Spotify → { "titre": ..., "artiste": ..., "duree": ... } »).
Rends : ton exemple + les clés JSON que tu imagines.
12. Bonus waoh : ton inventaire devient une appli
Tu as un JSON propre et vérifié. On va le transformer en vraie appli web, sans écrire une ligne de code — juste en parlant à Claude. On monte en 3 paliers, de plus en plus bluffants. Tu peux t'arrêter à n'importe quel palier : tu auras déjà quelque chose de cool et publiable.
| Palier | Ce que tu obtiens | Niveau |
|---|---|---|
| 1 · Tableau de bord | cartes colorées + compteur du total + graphique en barres | facile (valeur sûre) |
| 2 · Interactif | filtres par couleur, recherche, camembert des couleurs | moyen |
| 3 · La 3D | une fleur en 3D construite depuis tes chiffres, que tu fais tourner | le vrai waoh |
Palier 1 — Le tableau de bord
Ouvre claude.ai et copie ce prompt (colle TON JSON à la fin) :
Crée une page web (HTML + CSS + JS dans un seul fichier)
que je puisse prévisualiser : un tableau de bord de mon
inventaire de pièces. Affiche :
- une carte par pièce (le type, une pastille de sa couleur,
la quantité),
- un grand compteur avec le TOTAL de pièces, tout en haut,
- un graphique en barres des quantités par pièce.
Fais un rendu soigné et moderne.
Voici le JSON :
[ colle ici ton inventaire corrigé du chapitre 7 ]
→ une page apparaît à droite : ton appli. Repère Aperçu (le rendu), Code (ce que Claude a écrit) et Publier.
Ajuste-la (dis-le, ça change)
| Tu demandes… | …et l'appli change |
|---|---|
| « mets un fond sombre et un titre “Mon inventaire” » | le style change d'un coup |
| « trie les cartes par quantité décroissante » | les plus nombreuses d'abord |
| « ajoute une petite animation quand les cartes apparaissent » | ça devient vivant |
Flag A2
Checkpoint
Rends : une capture de ton tableau de bord + le total affiché par l'appli. Vérifie qu'il colle au total que tu as calculé au chapitre 6.
Palier 2 — Rends-la vivante
Un tableau de bord qui réagit, c'est tout de suite plus pro. Sur la même appli, enchaîne :
Ajoute à cette appli :
- des boutons pour filtrer les pièces par couleur
(un bouton par couleur + un bouton "Tout"),
- une barre de recherche pour trouver une pièce par son type,
- un graphique en camembert de la répartition des couleurs.
Flag B3
Production
Ajoute une fonctionnalité de ton choix et teste-la : ex. « affiche en rouge les pièces dont la quantité est inférieure à 3 », ou « ajoute un bouton qui trie par couleur ».
Rends : la fonctionnalité ajoutée (1 phrase) + une capture qui la montre en action.
Palier 3 — La 3D (le vrai waoh)
Maintenant, la question que tout le monde se pose : est-ce que l'IA peut refaire MA fleur en 3D à partir de la photo ?
Sur une nouvelle page, demande :
Crée une page web avec une scène en 3D (Three.js) que je
peux prévisualiser. À partir de mon inventaire JSON,
construis une fleur en 3D :
- autant de pétales que la quantité de "petale", disposés
en cercle et de la couleur indiquée,
- une tige verte au centre,
- autant de feuilles que la quantité de "feuille".
Je dois pouvoir la faire tourner à la souris. Fond clair.
Voici le JSON :
[ colle ton inventaire ]
→ une fleur en 3D apparaît, que tu fais pivoter à la souris. Change un chiffre dans ton JSON, redonne-le : la fleur change !
Flag E3
Extension (le waoh final)
Publie ton appli (tableau de bord et/ou 3D) → récupère le lien. Puis ajoute une dernière idée à toi : faire tourner la fleur toute seule, changer ses couleurs au clic, afficher le total à côté de la 3D…
Rends : le lien publié + une capture + une phrase sur ce que tu as ajouté.
On vérifie : mini-quiz
Réponds sans regarder, puis contrôle avec le corrigé juste après.
- Dans
"couleur": "rose", qui est la clé, qui est la valeur ? - Pourquoi écrit-on
12sans guillemets mais"jaune"avec ? - Ce JSON est cassé — pourquoi ?
{ "type": "tige", "quantite": 3, } - Vrai ou faux : « une IA de vision compte toujours juste, c'est une machine ». Justifie.
- Quelle est la différence entre un objet
{ }et un tableau[ ]? - Cite une raison pour laquelle l'IA peut rater une pièce sur ta photo.
Corrigé (vérifie-toi)
Glossaire
| Mot | Définition |
|---|---|
| IA de vision | une IA capable d'analyser une image (pas seulement du texte) |
| Prompt | la consigne écrite que tu donnes à l'IA |
| JSON | un format standard pour ranger des données, lisible par un humain et par une machine |
| Clé | le nom d'une information dans un objet (ex. "couleur") |
| Valeur | le contenu associé à une clé (ex. "rose" ou 12) |
Objet { } | un regroupement de paires clé:valeur décrivant une chose |
Tableau / array [ ] | une liste ordonnée d'éléments (souvent des objets) |
| Schéma | le modèle imposé : quelles clés doivent apparaître |
| Hallucination | réponse inventée par l'IA, présentée comme sûre alors qu'elle est fausse |
| Artifact | une vraie page web vivante que Claude construit à droite du chat, que tu modifies en dialoguant et publies en un lien |
| Esprit critique | le réflexe de vérifier une réponse d'IA au lieu de la croire |
Tu es bloqué ? La checklist
| Symptôme | Essaie ça |
|---|---|
| Je ne peux pas déposer la photo | cherche le trombone 📎 ou le « + » dans la zone de saisie ; sinon glisse l'image dedans |
| L'IA répond en phrases, pas en JSON | ajoute « Réponds uniquement en JSON, rien d'autre » |
| Mon JSON écrit à la main « ne marche pas » | revérifie les 3 pièges : virgule finale, guillemets, accolades/crochets refermés |
| Je n'ai pas de téléphone | demande la photo d'exemple au prof, ou fais équipe |
| L'IA a tout bon, je ne peux pas montrer d'erreur | entasse des pièces, reprends une photo plus dure ; elle se trompera |
| Je ne suis pas sûr d'un mot | → glossaire ci-dessus |
Récapitulatif — ce que tu sais faire maintenant
| Notion | Ce que tu sais faire |
|---|---|
| IA de vision | envoyer une photo à une IA et lui demander un inventaire |
| Prompt précis | imposer le contenu ET la forme de la réponse |
| JSON — lire | reconnaître clés, valeurs, objets { }, tableaux [ ] |
| JSON — écrire | écrire un objet valide à la main, sans les 3 pièges classiques |
| Vérifier | comparer une sortie d'IA à la réalité et repérer l'écart |
| Corriger | reprendre le JSON toi-même ou renvoyer l'IA au travail, précisément |
| Claude Artifacts | transformer un JSON en mini-appli web et la publier, sans écrire de code |
| Esprit critique | comprendre pourquoi une IA se trompe — et ne jamais la croire sur parole |