Aller au contenu
Technologie · Seconde

Idées d’apprentissage actif

Retouche d'image avec Python

Travailler avec des images rend la programmation concrète et motivante pour les élèves. Quand ils voient immédiatement le résultat de leurs lignes de code, la logique algorithmique prend tout son sens et les erreurs deviennent des opportunités de compréhension.

Programmes OfficielsMEN: Lycee - Photographie numériqueMEN: Lycee - Langages et programmation
15–45 minBinômes → Classe entière4 activités

Activité 01

Atelier Guidé : Mes premiers pas avec Pillow

Les élèves suivent un notebook guidé pour charger une image, afficher ses dimensions, extraire la couleur d'un pixel donné et modifier un carré de pixels. Chaque étape est accompagnée d'une question de compréhension à discuter avec son voisin.

Comment écrire un script Python pour modifier automatiquement la luminosité et le contraste d'une image ?

Conseil de facilitationPendant l'Atelier Guidé, insistez sur l'importance de sauvegarder une copie du fichier original avant toute manipulation pour éviter les pertes de données accidentelles.

À observerDemandez aux élèves d'écrire un court script Python qui charge une image, puis affiche les valeurs RVB des 5 premiers pixels. Posez la question : 'Comment interprétez-vous ces valeurs pour décrire la couleur de ces pixels ?'

AppliquerAnalyserÉvaluerCréerCompétences relationnellesPrise de décisionAutogestion
Générer une leçon complète

Activité 02

Défi Progressif : Du gris au sépia en trois niveaux

Les élèves réalisent trois transformations de difficulté croissante : niveaux de gris (niveau 1), ajustement de luminosité (niveau 2), filtre sépia (niveau 3). Chaque niveau débloqué donne accès à un indice pour le suivant. Les binômes avancent à leur rythme.

Quels principes mathématiques sous-tendent les opérations de modification pixel par pixel d'une image ?

Conseil de facilitationPour le Défi Progressif, fournissez un exemple visuel de chaque niveau de transformation sépia pour que les élèves visualisent l'objectif final avant de coder.

À observerSur une fiche, demandez aux élèves de décrire en une phrase comment ils modifieraient le script pour rendre une image plus sombre. Ensuite, demandez-leur de nommer une transformation qu'ils aimeraient appliquer à une image et pourquoi.

AppliquerAnalyserÉvaluerCréerCompétences relationnellesPrise de décisionAutogestion
Générer une leçon complète

Activité 03

Mini-Projet : Créer un filtre Instagram maison

Par groupes de trois, les élèves conçoivent un filtre original combinant au moins deux transformations (couleur, contraste, saturation). Ils documentent leur code avec des commentaires et présentent le résultat en comparant l'avant et l'après.

Comment concevoir un filtre d'image original en combinant des transformations élémentaires ?

Conseil de facilitationLors du Mini-Projet, encouragez les élèves à tester leurs filtres sur plusieurs images pour vérifier leur robustesse et leur polyvalence.

À observerLes élèves travaillent en binômes sur un filtre personnalisé. Après avoir terminé, ils échangent leurs scripts et leurs images résultantes. Chaque binôme doit écrire une courte critique constructive sur le filtre de l'autre : 'Ce que j'ai aimé, c'est... et une suggestion pour l'améliorer serait...'

AppliquerAnalyserÉvaluerCréerCompétences relationnellesPrise de décisionAutogestion
Générer une leçon complète

Activité 04

Galerie marchande15 min · Classe entière

Galerie marchande: Exposition des filtres créés

Chaque groupe affiche son image originale, son image transformée et son code commenté. Les visiteurs doivent deviner la logique du filtre avant de lire le code, puis noter une question technique ou un compliment sur un post-it.

Comment écrire un script Python pour modifier automatiquement la luminosité et le contraste d'une image ?

Conseil de facilitationPendant la Gallery Walk, imposez un temps de silence lors de la visite pour que chacun puisse observer attentivement les créations des autres sans distraction.

À observerDemandez aux élèves d'écrire un court script Python qui charge une image, puis affiche les valeurs RVB des 5 premiers pixels. Posez la question : 'Comment interprétez-vous ces valeurs pour décrire la couleur de ces pixels ?'

ComprendreAppliquerAnalyserCréerCompétences relationnellesConscience sociale
Générer une leçon complète

Modèles

Modèles qui complètent ces activités de Technologie

Utilisez, modifiez, imprimez ou partagez.

Quelques notes pour enseigner cette unité

Commencez par des manipulations simples pour ancrer la compréhension des objets Image et des pixels. Évitez de présenter trop de concepts d'un coup, car la manipulation d'images peut rapidement devenir abstraite si les bases ne sont pas solides. Privilégiez des retours visuels constants : afficher l'image avant/après chaque transformation aide à construire la confiance et la compréhension. Utilisez des métaphores visuelles pour expliquer les concepts techniques, comme comparer un pixel à une case d'un quadrillage coloré.

À la fin de ces activités, les élèves savent manipuler une image en Python, appliquer des transformations de base, et comprendre les mécanismes sous-jacents. Ils peuvent expliquer comment une modification de code se traduit en changement visuel et justifier leurs choix techniques.


Attention à ces idées reçues

  • During l'Atelier Guidé, certains élèves pensent que Python modifie directement le fichier image sur le disque dès qu'on change un pixel.

    Faites sauvegarder le fichier original sous un nouveau nom avant toute manipulation. Demandez aux élèves de modifier l'image sans sauvegarder, puis d'afficher le résultat. Ensuite, comparez avec le fichier original pour montrer que les modifications ne persistent pas sans un appel explicite à save().

  • During le Défi Progressif, des élèves croient qu'augmenter la luminosité consiste simplement à ajouter une valeur à chaque composante RVB sans limite.

    Demandez aux élèves de tester leur script sans plafonner les valeurs RVB à 255. Observez ensemble les artefacts visuels (pixels saturés en blanc). Puis, introduisez la fonction min() pour limiter les valeurs et discutez de l'importance de cette contrainte technique.

  • During le Mini-Projet, certains élèves pensent que les bibliothèques Python font tout le travail et qu'il n'y a rien à comprendre en profondeur.

    Demandez aux élèves de recoder un filtre simple (comme une inversion de couleurs) sans utiliser Pillow, en manipulant directement les valeurs RVB d'un petit tableau. Cela les obligera à comprendre le parcours des pixels et les calculs sous-jacents.


Méthodes utilisées dans ce dossier