1Apprendre les langues est affaire de compétence. Il s'agit d'apprendre l'altérité : la culture de l'autre, pour pouvoir communiquer avec lui, le comprendre et s'exprimer. Depuis la nuit des temps, l'oral puis l'écrit ont servi de support pour ces échanges. Dans l'univers scolaire, le livre pour étudier et le cahier pour écrire sont au service de cet apprentissage des langues. Depuis quelques décennies, les enregistrements audio ont largement permis aux élèves d'écouter la langue cible exprimée par des natifs. Le développement des médias (Internet, web radio, etc.) offre un large spectre de possibilités pour écouter la langue parlée de façon authentique "comme si on y était" au moment même. Des systèmes d'audio- ou de visio-conférence permettent d'envisager des communications distantes synchrones entre individus ou même entre classes. Il s'agit ici, essentiellement, de s'appuyer sur les compétences des enseignants volontaires pour déployer une technologie au service de projets pédagogiques pertinents dans le domaine de l'apprentissage des langues et de la découverte culturelle de l'autre (à distance). Ce faisant, ils ouvrent pour les apprenants, la voie à de nouvelles formes de communication et d'apprentissage. Mais les compétences nécessaires aux citoyens évoluent très vite et les élèves d'aujourd'hui acquièrent des compétences que les enseignants n'ont sans doute pas encore eu l'occasion d'étudier. Parmi elles, celle qui nous intéresse en particulier ici est la programmation. Dès l'école primaire, les élèves apprennent à manipuler des environnements de programmation simplifiés tel que Scratch (MIT Media Lab, 2010).
2Partant d'un cadre de référence pour les compétences du 21ème siècle, nous montrons, dans la deuxième partie, la contribution de la pensée informatique dans ces compétences. La troisième partie explore la littérature scientifique faisant état de l'usage de robots et de la programmation pour l'apprentissage des langues. La quatrième partie présente l'environnement Scratch et suggère, à travers quelques exemples, de s'appuyer sur celui-ci pour proposer aux élèves des défis innovants et motivants en leur demandant de produire eux-mêmes des supports interactifs (histoires interactives, quizz, jeux, etc.) pour manipuler les éléments de la langue cible. En guise de conclusion, nous rapportons quelques éléments probants de la motivation des élèves observés dans le cadre d'une séquence d'enseignement de la pensée informatique à l'école primaire, et traçons quelques perspectives.
3Avec le développement des technologies, les transactions et les communications sont de plus en plus rapides. Ainsi, les écosystèmes interagissent entre eux et se modifient pour donner un monde de plus en plus complexe qui évolue de plus en plus vite. De nouvelles compétences sont nécessaires pour accompagner ces évolutions. Basée sur une revue de la littérature sur les référentiels de compétences du 21ème siècle, Kereluik et ses collègues proposent une synthèse à partir de 15 modèles (Kereluik et al., 2013).
Figure 1 – Les compétences du 21ème siècle (Kereluik et al., 2013, p. 130).
4Le cadre des compétences du 21ème siècle proposé par Kereluik et al. (2013) et présenté dans la figure 1, distingue trois grands pôles précisant ce qu'il faut connaître (1) pour savoir, (2) pour agir et (3) pour évaluer. Dans le premier, sont décrits les savoirs fondamentaux à connaître : la littératie numérique, les contenus disciplinaires et les savoirs transdisciplinaires. On trouve, dans le second, les méta-compétences permettant d'agir sur le monde : créativité et innovation, résolution de problèmes et pensée critique, communication et collaboration. Le troisième, quant à lui, se réfère aux compétences humanistes permettant d'évaluer : les compétences professionnelles, l'éthique, la conscience des émotions et les compétences culturelles.
5Dans leur cadre de référence des compétences du 21ème siècle, Kereluik et ses collègues ménagent une place importante à la littératie numérique, à la créativité, à la résolution de problèmes, aux émotions et aux compétences culturelles. Combinées, ces compétences ont amené les systèmes d'éducation de nombreux pays à introduire la pensée informatique et en particulier la programmation dès l'école maternelle (par exemple : manipulation de motifs récurrents désignés par des algorithmes). En France, la programmation fait officiellement son entrée, en 2015, dans les programmes scolaires mis en œuvre dès la rentrée de septembre 2016. Ainsi, à l'école primaire, les élèves doivent apprendre à "déplacer un personnage sur une grille ; coder et décoder un déplacement pour le reproduire ; concevoir des algorithmes simples ; programmer le déplacement d'un robot ou d'un personnage sur un écran" (Ministère de l'éducation nationale, de l'enseignement supérieur et de la recherche. BO spécial n° 11, 2015).
6Au-delà de l'aspect technique de la programmation, c'est plutôt la pensée informatique, introduite dans Wing (2006), qui est visée. Janet C. Wing la définit comme "un ensemble de compétences nécessaires à tout citoyen, et pas seulement aux informaticiens". Cet ensemble comprend, en particulier : la capacité d'abstraction, de généralisation et de spécialisation d'un problème, la résolution de problèmes, la conception d'algorithmes, la capacité à reconnaître des schémas récurrents permettant de considérer des boucles pour répéter des tâches en vue de les automatiser. Plus globalement, il s'agit de considérer les machines programmables comme des alliés pour résoudre des problèmes complexes. Ainsi, la pensée critique et la créativité constituent des méta-compétences qui peuvent aider à la résolution de problèmes. Il ne s'agit donc plus seulement de consommer des applications en tant qu'utilisateur, mais d'imaginer des algorithmes et des programmes (simples) pour créer ses propres outils et supports interactifs. Cette capacité à programmer peut aujourd'hui s'acquérir dans un environnement simplifié tel que Scratch (MIT Media Lab, 2010).
La capacité à programmer constitue une part importante de l'apprentissage dans la société actuelle. Lorsque des personnes apprennent à coder en Scratch, elles apprennent des stratégies importantes pour résoudre des problèmes, concevoir des projets et communiquer des idées (Scratch, MIT Media Lab, 2010. À propos https://scratch.mit.edu/about).
Quand les enfants créent des projets comme celui-ci, ils apprennent à programmer, mais plus important encore, ils programment pour apprendre. Parce qu'en apprenant à programmer, ça leur permet d'apprendre plein d'autres choses et leur donne de nombreuses opportunités d'apprentissage. Encore une fois, c'est utile de faire l'analogie avec la lecture et l'écriture. Quand on apprend à lire et à écrire, ça donne l'opportunité d'apprendre beaucoup d'autres choses. Quand on apprend à lire, on peut alors lire pour apprendre. C'est la même chose avec la programmation. Quand on apprend à programmer, on peut programmer pour apprendre. Maintenant certaines des choses qu'on peut apprendre sont évidentes. On apprend comment les ordinateurs fonctionnent. Mais c'est juste le commencement. Quand on apprend à programmer, ça ouvre les portes de l'apprentissage de bien d'autres choses (Resnick, 2012, 9mn46).
7Comme le souligne Nicole Marty dans sa thèse, suite à des observations à l'école maternelle, les enfants acquièrent certaines compétences très tôt. "Il est nécessaire d'en prendre conscience pour penser la pédagogie de demain" (Marty, 2003). C'est bien dans cet esprit que nous souhaitons faire des propositions en nous appuyant sur l'environnement Scratch. Mais avant de regarder Scratch et d'étudier ses possibilités, nous nous proposons d'explorer la littérature scientifique faisant état de l'usage de la programmation et des robots dans le cadre de l'apprentissage des langues.
8Bien que formels, les langages de programmation sont bien des langages définis par un vocabulaire strictement délimité et régi par une grammaire et une syntaxe. En cela, apprendre la programmation est déjà une forme d'apprentissage d'un nouveau langage et même, d'une nouvelle culture, ou plutôt d'une certaine logique. En effet, de même que les mots d'une langue peuvent avoir différents rôles et places dans une phrase, les éléments d'un langage de programmation obéissent à des règles pour construire un programme structurellement et syntaxiquement correct. Les aspects syntaxiques ayant été des plus rebutants pour les novices en programmation, cet obstacle a été levé grâce à l'apparition des langages visuels tels que Scratch, qui consistent à assembler des blocs dont les formes et les couleurs permettent de reconnaître leur compatibilité et leur fonction. Ainsi, construire un programme devient un jeu de construction : il ne s'agit plus de connaître les mots-clés par cœur et de les écrire correctement, mais de les choisir dans une liste et de les assembler sur le programme en cours de construction.
9Cette analogie entre construction de phrases et construction de programmes a été exploitée dans Federici et al. (2019). Les auteurs ont, en effet, utilisé la même mécanique que Scratch (MIT Media Lab, 2010) avec l'interface BlockLang pour assembler des éléments de l'anglais pour que des enfants de l'école primaire (en Italie) construisent des phrases et soient en mesure de vérifier leur compréhension grâce à des illustrations appropriées.
10Une revue de la littérature sur l'utilisation des robots en éducation montre que l'apprentissage des langues secondes est le troisième domaine d'usage des robots dans la classe (Mubin et al., 2013). Ainsi, des chercheurs du laboratoire de robotique ATR de Kyoto ont introduit le robot assistant Robovie pour enseigner l'anglais à des élèves japonais de l'école primaire (Kanda et al., 2004). Considéré comme un partenaire d'apprentissage, ce robot était capable de dire 300 phrases en anglais et de reconnaître 50 mots à l'oral. Après deux semaines d'interactions, les tests ont montré que les élèves ayant le plus interagi avec le robot ont obtenu les meilleurs scores au post-test. De même, l'utilisation du robot Tiro a montré un gain de motivation pour l'apprentissage de l'anglais par des élèves coréens (Han & Kim, 2009). De nombreux essais d'introduction de robots dans la classe d'apprentissage des langues ont confirmé ce que l'enseignement assisté par ordinateur nous avait déjà rapporté, à savoir que les élèves (novices) ont moins de réticence à s'exprimer dans la langue cible devant une machine (ordinateur ou robot) qui ne les juge pas et qu'ils peuvent répéter les tâches à l'envi avec cette machine qui ne se lasse pas de les écouter et de les corriger. Les robots humanoïdes apportent plus de motivation et d'engagement que les ordinateurs ou la réalité virtuelle (Chang et al., 2010).
11Les bénéfices apportés par la programmation dans la classe sont sans doute expliqués par le constructionnisme (Harel & Papert, 1991 ; Papert, 1980) : théorie qui suggère que l'apprentissage a lieu lorsque les élèves produisent un artéfact qui les motive en résolvant un problème. De même que les principes mis en avant dans le constructionnisme, l'apprentissage actif (Harmin & Toth, 2006) et l'apprentissage basé sur la conception offrent des stratégies capables d'engager les élèves dans l'apprentissage.
12Tandis que Pierre Tchounikine mentionnait déjà, en 2016, l'idée d'utiliser Scratch comme support pour d'autres objectifs pédagogiques que l'apprentissage de la programmation (Tchounikine, 2016), l'expérience rapportée dans Weng & Wong (2017), propose de l'utiliser pour l'apprentissage de l'anglais par de jeunes élèves à Hong Kong. Cette expérience montre que les neuf élèves engagés dans des sessions périscolaires d'apprentissage de la pensée informatique avec Scratch ont été motivés pour étudier l'anglais comme langue seconde en développant un support interactif d'évaluation de type quizz. Les élèves ont pu développer conjointement leurs compétences de programmation et leurs compétences linguistiques.
13Dans cette partie, nous présentons d'abord l'environnement Scratch du point de vue de l'utilisateur : pour quoi il a été conçu, qui sont ses utilisateurs et ce qu'il permet de faire et comment. Ce n'est que dans un deuxième temps que nous explorons les travaux d'apprentissage des langues, réalisés par des élèves avec cet environnement.
14Scratch est un environnement de programmation graphique qui permet d'écrire et d'exécuter des programmes. Sa première version date de 2003. Il permet aux programmeurs novices de s'affranchir de la syntaxe du langage informatique et d'éviter ainsi le message aussi répétitif qu'irritant "Syntax Error" au moment de l'interprétation du programme par la machine. Cet environnement peut s'installer sur un ordinateur puis fonctionner hors réseau de façon autonome. Si l'ordinateur a accès à Internet, on peut aussi produire et exécuter ses projets de programmation directement sur le site web sans installer quoi que ce soit sur l'ordinateur.
15Le site web offre également d'autres services à la communauté des utilisateurs. Il propose des tutoriels pour débuter (onglet "Idées") et permet d'"Explorer" les projets partagés (Figure 2). Moyennant une inscription gratuite, on peut enregistrer ses projets et choisir de les partager avec les autres utilisateurs. Chacun peut, alors, reprendre un projet, en le citant selon les règles de conduite, et le remixer et éventuellement partager la variante ainsi produite. Le 4 novembre 2021, ce site comptait près de 80 millions d'utilisateurs inscrits et plus de 88 millions de projets partagés, avec une croissance en octobre de plus de deux millions de nouveaux utilisateurs et près de 2,87 millions de nouveaux projets (Statistiques de la communauté Scratch, 2021). L'interface est traduite dans 70 langues et les utilisateurs recensés dans le monde entier ont entre 4 et 80 ans. Plus d'un tiers (35%) sont états-uniens et deux tiers (68%) ont entre 8 et 20 ans.
Figure 2 – Interface de Scratch en ligne : les onglets.
16Ce succès tient, sans doute, en grande partie, au fait que cet environnement est à la fois simple d'usage tout en offrant d'innombrables possibilités et extensions, faisant de lui un outil de "programmation créative". Ainsi, l'onglet "Créer" (Figure 2) permet d'accéder à l'éditeur de programmes (Figure 3). Il s'appuie sur la métaphore du théâtre et propose à l'utilisateur de choisir, modifier ou de créer : un ou plusieurs arrière-plans pour la scène, un ou plusieurs objets ou personnages appelés lutins ou "sprite". De même que l'on peut changer d'arrière-plan pour la scène, chaque lutin peut changer d'apparence (costume) au cours du programme. Comme toute action d'un lutin, ces instructions peuvent être insérées dans son "script" : c'est la séquence des actions que le lutin exécutera.
17Dans l'exemple de la figure 3, la scène comprend deux arrière-plans : le désert et la jungle et un seul lutin : le chat (Scratch : lutin par défaut). Le script du chat est un programme qui : choisit l'arrière-plan (désert), positionne le lutin dans la scène, puis lui fait dire (dans une bulle) "Quelle chaleur ici !" avant d'émettre le son "miaou", lui faire traverser le désert, changer d'arrière-plan (jungle), le faire penser (dans une bulle) "Je préfère la jungle !", émettre le son "miaou" et lui faire traverser la jungle. Ce programme se déclenche lorsque l'utilisateur clique sur le drapeau vert de l'interface (en haut à gauche de la scène).
Figure 3 – Interface de Scratch : l'éditeur.
18Dans l'interface de l'éditeur, on trouve trois onglets. Sur la figure 3, c'est l'onglet "Code" qui est ouvert, et puisque c'est le Sprite1 (le chat) qui est sélectionné, l'espace central contient le programme de ce lutin. À gauche, nous trouvons la palette des catégories d'actions (ou instructions) que l'on peut choisir et utiliser dans le code : Mouvement, Apparence, Son, Événement, Contrôle, etc. Juste à droite de ces catégories, on découvre les instructions de la catégorie sélectionnée et celles qui suivent. Pour introduire une instruction dans le code du lutin (sélectionné), il suffit de glisser et déposer l'instruction en l'emboitant dans la séquence à l'endroit voulu et éventuellement d'en modifier les paramètres (par exemple, les coordonnées dans l'instruction "aller à" ou le texte à afficher dans l'instruction "dire" et le temps d'affichage).
19Grâce à l'onglet "Costume" de l'éditeur, on peut ajouter, supprimer, modifier ou créer une nouvelle apparence au lutin sélectionné à partir de la bibliothèque, en important une image ou à l'aide des outils de dessin. Avec l'onglet "Son", on peut ajouter, supprimer, modifier ou créer un nouveau son, provenant de la bibliothèque ou en important un fichier mp3 ou en l'enregistrant directement à l'aide du microphone. Quelques outils simples permettent de traiter le son (montage, fondu, effets, vitesse, volume, etc.). Ces ateliers offrent aux utilisateurs des moyens de personnalisation tant dans l'apparence que dans l'expression de leurs personnages (lutins), favorisant ainsi leur créativité.
20Les quelques explications précédentes suffisent à produire une histoire avec un personnage. Mais il est possible de mettre en scène plusieurs personnages exécutant leurs scripts simultanément, de synchroniser leurs séquences, ou de les faire réagir en fonction d'événements de différentes natures (envoi de message, collisions de lutins, clics de souris, appui sur certaines touches du clavier, réponses à une question, etc.). Au-delà de ces fonctionnalités de base, il existe des modules d'extension offrant des types d'interaction ou d'opérations spécifiques (Stylo, Musique, Détection vidéo, Synthèse vocale, etc.) ou permettant de programmer certains robots ou objets programmables (Makey-Makey, micro:bit, Lego MindStorm, etc.).
21Afin d'avoir un aperçu des possibilités qu'offre cet environnement, mais surtout des compétences que les élèves sont capables de mettre en œuvre, nous nous proposons, dans la section suivante, d'explorer quelques réalisations d'élèves en relation avec l'apprentissage des langues.
22Lavender8 est un utilisateur de Scratch depuis plus de 10 ans. Son projet Learn French (Lavender8, 2011) est sans doute l'un des premiers qu'il ait partagés puisqu'il date de 2011. Il l'a conçu en remixant un projet de l'utilisateur Jazzbert. La scène comporte un arrière-plan pour la couverture du livre et autant d'arrière-plans que le livre comporte de doubles-pages. Le travail le plus long consiste à produire le contenu des pages. Lavender8 présente deux mots (en français) par page avec leur signification en anglais puis une aide pour prononcer les mots français en utilisant des phonèmes écrits en anglais. Au total, son projet contient 20 mots français sur cinq doubles-pages. L'interaction est produite par deux lutins en forme de coins de page : un pour la couverture et un pour les pages intérieures. Lorsque l'utilisateur clique sur l'un de ces lutins, la scène passe à l'arrière-plan suivant, donnant ainsi l'illusion à l'utilisateur de tourner les pages du livre.
Figure 4 – Le tourne-pages de Lavender8.
23meg_kat, que l'on suppose être une jeune fille, est inscrite sur Scratch depuis juillet 2015, date à laquelle elle a produit le projet French Lessons–terms (meg_kat, 2015).
Figure 5 – La première leçon de français de meg_kat.
24Dans ce programme, avec une chanson française en musique de fond, elle présente quelques termes français et leur usage courant, puis interroge l'utilisateur à l'aide de huit questions ouvertes dont voici un exemple : "What does 'salut' mean?". Le programme attend alors que l’utilisateur saisisse la réponse au clavier. Il la compare à "hello" et "hi" et si c’est l’un ou l’autre, félicite l’utilisateur puis renvoie à la question suivante, et sinon repose la même question jusqu’à ce que la réponse soit exacte. Le quizz se termine lorsque l'utilisateur a répondu correctement aux huit questions.
25rrbossman est inscrit sur la plateforme Scratch depuis juin 2020, date à laquelle il a produit le seul projet qu'il ait partagé : rufus's french story week 2 (rrbossman, 2020). Dans ce projet, nous pouvons lire les dialogues entre Rufus et Fin : deux adolescents (lutins) qui se présentent et s'interrogent sur leur école, leur lieu de vie, Fin décrit sa chambre, etc. Sur le plan de la production linguistique, c'est assez riche et correct.
Figure 6 – Le dialogue de rrbossman.
26Les scripts de Rufus et Fin sont de simples séquences d'instructions alternant : "dire 'intervention' pendant '2' secondes" et "Attendre '2' secondes". Quand l'un fait deux interventions consécutives, l'autre doit attendre un peu plus longtemps. C'est très simple à concevoir mais cela nécessite une mise au point minutieuse. À la fin du programme, Fin (Jaime) propose d'écouter de la musique et envoie un son qui dure quelques secondes.
Dans l'exemple suivant, c'est une autre technique qui permet de synchroniser les dialogues.
272027Coder41 semble être un.e élève états-unien.ne de la classe 2027 et est inscrit.e depuis quatre ans sur la plateforme Scratch. Il ou elle a produit le projet Amazing French Story en mai 2020 (2027Coder41, 2020). Il s'agit d'un devoir rendu pour la classe de français et qui prend la forme d'un dialogue écrit entre un crabe et une chauve-souris immobiles. L'intérêt du point de vue linguistique est d'évaluer la production du contenu (les dialogues écrits).
Figure 7 – Le dialogue synchronisé par envoi de messages.
28Sur le plan technique, on pourra constater que les interventions (bulles écrites) sont parfaitement synchronisées. Si cela semble simple, voire évident, pour l'utilisateur néophyte, cela ne l'est pas tout à fait pour qui a compris que les scripts de chaque lutin s'exécutent indépendamment l'un de l'autre et en parallèle. Ainsi, pour éviter que les lutins se coupent la parole ou superposent leurs bulles, ils doivent s'envoyer un message pour se donner la parole.
29LoLIXD est un utilisateur enregistré en Afghanistan depuis cinq ans sur la plateforme Scratch. D'après la voix et l'accent, on peut penser qu'il s'agit d'un jeune garçon anglophone. Il a produit son projet French Story en juin 2018 (LoLIXD, 2018). Dans ce projet, il se présente à l'oral (enregistrement audio) et à l'écrit (bulles de texte) et questionne l'utilisateur (sur son nom, son école, son âge…) avec des questions ouvertes. Il nous accueille dans sa chambre, nous emmène en promenade au bord de la mer puis au parc où il fait des allers et retours. À la fin de cet échange, il propose un rendez-vous pour le lendemain à l'utilisateur. Si la réponse est "oui", LoLIXD exprime son enthousiasme ("yay") puis salue en disant "À demain", sinon, il montre sa déception et dit simplement "Au revoir". Les 25 tirades produites ont également été enregistrées à l'oral par LoLIXD. Ainsi, on peut évaluer à la fois l'expression écrite et l'expression orale à travers cette production originale et fort bien illustrée, ce qui montre l'engagement de l'élève pour réaliser ce projet.
Figure 8 – L'histoire dialoguée et interactive de LoLIXD.
30Kupcake150, élève de la classe "Div12" est inscrite depuis avril 2019. Son seul projet French Story (Kupcake150, 2019) a également été produit à cette date. Elle utilise quatre arrière-plans différents dans sa scène et trois lutins (un chien, une licorne et un lapin) qu'elle a renommés Mia, Sophie et Jessica. Elle utilise le module d'extension permettant la synthèse vocale pour Mia et Sophie et trois enregistrements audio pour Jessica. Malheureusement, elle n'utilise pas les envois de messages pour synchroniser les dialogues entre les lutins, ce qui conduit à des recouvrements sonores qui rendent ces interventions difficiles à comprendre.
31guigui74 est sans doute un enseignant de technologie en collège. Il s'est inscrit en avril 2017 pour développer le projet intitulé Vocabulaire Multi Langue Anglais Allemand Français (guigui74, 2017). Ce projet est nettement plus complexe techniquement que les précédents. Il utilise des variables, des listes de mots modifiables, à importer d'un tableur, et permet à l'utilisateur de choisir la langue source, la langue cible parmi trois : anglais, allemand et français et le thème parmi cinq : famille, date, animaux, nombres ou couleurs.
32Dans le cadre d'un projet de recherche, nous avons constitué un groupe mixte incluant chercheurs, médiateurs, formateurs et professeurs des écoles dans le but de concevoir et analyser collectivement des séquences d'enseignement-apprentissage de la pensée informatique à l'école primaire. Les observations en classe et les retours des enseignants, qui poursuivent l'expérience depuis quatre ans, nous montrent que les élèves sont très motivés par ces nouveaux apprentissages et acquièrent rapidement les compétences de base de la programmation. Les élèves de collège et de lycée de demain possèderont ces compétences de programmation ou peuvent les acquérir assez facilement dans un environnement tel que Scratch. Convaincu de l'intérêt de cet environnement pour l'apprentissage, nous avons tenté, dans cette présentation, d'en montrer les atouts. À travers quelques projets trouvés sur cette plateforme, nous espérons avoir donné quelques pistes aux formateurs ou enseignants de langue et pourquoi pas l'envie de proposer de tels projets à leurs élèves. Alors que les projets sont nombreux dans les classes depuis une dizaine d'années, très peu d'articles de recherche semblent faire état de telles expériences. L'utilisation d'environnements de programmation pour produire des réalisations créatives et interactives en langue étrangère semble donc encore un terrain suffisamment innovant pour que des chercheurs s'y aventurent et en construisent une histoire !