PROGRAMMEZ n°267 - Page 3 - 267 002.qxp_267 17/01/2025 14:38 Page2 Divers Abonnement à Programmez! Boutique Programmez programmez.com 3 Programmez! est une publication bimestrielle de Nefer-IT. Adresse : 57, rue de Gisors 95300 Pontoise – France. Pour nous contacter : redaction@programmez.com L’abonnement à Programmez! est de 55 € pour 1 an, 90 € pour 2 ans. Abonnements et boutique en pages 42 et 43 Abonnement numérique (format PDF) directement sur www.programmez.com SOMMAIRE 267 Edito une histoire de 5 Agenda Dossier Spécial junior Code-moi un mouton by Zenika Jean-Philippe Baconnais, Guillaume Membré, Laetitia Diverchy Apprendre à programmer avec la TI-83, micro:bit et Rover Fabien Beyaert Makers de père en fils Matthias & Sylvain Gougouzian Contrôle matériel avec MicroPython Partie 4 Dominique Meurisse Découvrir Arduino avec mBlock Sarah Lacaze Créer un Visual Novel avec seccia.dev Sylvain Seccia Dance dance Revolution François Tonic IndexGT : le site web avec du FastHTML Benoit Prieur Blazer et Blazer Full Stack en profondeur - Partie 2 Clément Sannier Voyager, l’agent IA qui joue à Minecraft - Partie 2 Denis Duplan Zenoh : le protocole Angelo Corsaro Python aime beaucoup l’IA Franck Ebel Angular, les bases du framework web Martin Boué Gérer la configuration d’une app Azure Cloud Native avec C# - partie 2 Fred Berton Performances - partie 1 Philippe Boulanger 003.qxp_267 22/01/2025 12:37 Page3 L’informatique aime bien le 5 dans les dates. En cette année 2025, plusieurs événements marquants sont à célébrer : • 1965 : Olivetti commercialise la Programma 101 qui sera un des matériels clés du programme spatial américain • 1975 : MITS vend l’Altair 8800. Un microordinateur en kit qui marque le véritable début de la micro-informatique aux États-Unis • 1975 : Bill Gates et Paul Allen conçoivent l’interpréteur BASIC pour l’Altair. Microsoft est créée dans la foulée ! • 1975 : introduction du mythique microprocesseur MOS 6502 • 1985 : le livre référence « langage de programmation C++ » est publié par Bjarne Stroustrup • 1985 : Nintendo sort aux États-Unis la NES • 1995 : Java 1.0 est distribué par Sun • 1995 : apparition de JavaScript • 1995 : disponibilité de Windows 95 • 2005 : La 1ere carte Arduino est disponible sur le marché 2025 promet des surprises, bonnes ou mauvaises. Le psychodrame Wordpress – Automattic – WP Engine a été ravivé par la nouvelle année. Malheureusement, ce jeu de « ce n’est pas moi c’est l’autre » pénalise la plateforme et au-delà les contributeurs et donc les utilisateurs. Depuis six mois, ce spectacle d’ego et d’invectives frôle le ridicule. Les deux adversaires portent une part de responsabilité dans cette situation. Mais il faut reconnaître qu’Automattic et son patron ne font rien pour apaiser le climat. La gouvernance de Wordpress est critiquée depuis longtemps, et l’attitude de Matt Mullenweg n’aide pas beaucoup. Il suffit d’une rumeur de fork de WP par plusieurs contributeurs pour qu’il bloque purement et simplement les comptes ! Pour une bonne gouvernance, nous avons vu mieux. Le projet open source VLC a dignement célébré au salon CES 2025 les six milliards de téléchargements de son lecteur vidéo. Un énorme succès tout à fait mérité. Cela prouve que les Français savent coder et créer des logiciels incontournables. Pour ce premier numéro de l’année, nous vous proposons un dossier spécial junior. Programmez! a toujours eu à cœur de démocratiser la technologie, le hardware et le code. Il est important de montrer que le code n’est pas une bête monstrueuse et que l’électronique, c’est simplement du matériel. Avec quelques connaissances, un peu de méthode, il est possible de créer très rapidement un objet électronique fonctionnel. Il faut sensibiliser les jeunes et les moins jeunes à la technologie, et leur montrer qu’elle n’est pas aussi obscure que cela. C’est aussi un moyen de mieux comprendre comment fonctionne un ordinateur ou une app. Pour ce dossier qui se veut ludique, nous vous plongeons dans MicroPython, Arduino, le jeu avec Visual Novel, la micro:bit. Dans ce numéro, nous parlons aussi de Rust, de Python dans le monde de l’IA, de la quête de la performance, d’Azure, de Minecraft ou encore de HTML ! Nous vous rappelons que les codes sources des articles sont maintenant disponibles sur notre GitHub. Toutes les vidéos de nos conférences sont sur notre chaîne YouTube. Pour connaître nos prochaines conférences : programmez.com et meetup.com. Bon code ! François Tonic 4 programmez.com 3EDITO#267 Directives de compilation Programmez! n°267 JANVIER - FEVRIER 2025 Directeur de la rédaction : Jean-Christophe Tic Rédacteur en chef : François Tonic ftonic@programmez.com Contacter la rédaction redaction@programmez.com Les experts techniques du numéro Maquette Pierre Sandré Marketing – promotion des ventes Agence BOCONSEIL - Analyse Media Etude Directeur : Otto BORSCHA oborscha@boconseilame.fr Responsable titre : Anthony Carrée Téléphone : 09 67 32 09 34 Publicité Nefer-IT Tél. : 09 86 73 61 08 ftonic@programmez.com Impression Léonce Deprez, France Dépôt légal A parution Commission paritaire 1225K78366 ISSN 1627-0908 Abonnement Abonnement (tarifs France) : 55 € pour 1 an, 90 € pour 2 ans. Etudiants : 45 €. Europe et Suisse : 65 € Algérie, Maroc, Tunisie : 64 € - Canada : 80 € Tom - Dom : voir www.programmez.com. Autres pays : consultez les tarifs sur www.programmez.com. Pour toute question sur l’abonnement : abonnements@programmez.com Abonnement PDF monde entier : 45 € pour 1 an. Accès aux archives : 25 € (1 an) 30 € (2 ans). Nefer-IT 57 rue de Gisors, 95300 Pontoise France redaction@programmez.com Tél. : 09 86 73 61 08 Toute reproduction intégrale ou partielle est interdite sans accord des auteurs et du directeur de la publication. © Nefer-IT / Programmez!, janvier 2025. Jean-Philippe Baconnais Guillaume Membré Laetitia Diverchy Fabien Beyaert Matthias Gougouzian Sylvain Gougouzian Dominique Meurisse Sarah Lacaze Sylvain Seccia Benoit Prieur Clément Sannier Denis Duplan Angelo Corsaro Franck Ebel Martin Boué Fred Berton Philippe Boulanger Paul Allen et Bill Gates se rencontrent à l’école Lakeside de Seattle. Ils sont déjà passionnés par l’informatique et les ordinateurs. Dès 1968-69, ils codent leurs premiers programmes avec un Teletype en mode terminal. Après le lycée, ils continuent à travailler ensemble sur divers projets. Tout change avec le numéro de décembre 1974 de Popular Electronics qui met en couverture l’Altair 8800 de MITS. Quelques mois plus tard, ils fondent une petite société informatique : Microsoft Photo : © Lakeside School Une histoire de 5 004.qxp_267 17/01/2025 13:01 Page4 NUMÉRO SPÉCIAL IA Disponible depuis le 20 décembre 2024 005.qxp_267 17/01/2025 14:37 Page5 6 programmez.com Informations & inscription : programmez.com AGENDA Merci à Aurélie Vache pour la liste 2025, consultable sur son GitHub : https://developers.events/#/2025/calendar Conférences Programmez! avril 2025 ------------------------------Les conférences de juin : • AlpesCraft – Grenoble : 5 et 6 juin • AgileTour Touloise : 12 & 13 juin • DevLille : 12 & 13 juin • WAX 2025 - Aix-en-Provence : 24 juin • BreizhCamp – Rennes : 25, 26, 27 juin Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Cloud Toutloise Afup Day Lille / Lyon / Poitiers 19 20 21 22 23 24 25 PolyCloud (Montpellier) 26 27 28 29 30 31 meetup 4 mars - 1er avril 13 mai - 17 juin Dans les locaux de OVHcloud à Paris PROGRAMMEZ! N°268 Disponible à partir du 28 mars 2025 PROCHAIN NUMÉRO Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 FOSDEM 3 4 5 6 7 8 9 Touraine Tech (Tours) Clever Cloud Fest (Nantes) 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Lyon JS 100 (Lyon) 24 25 26 27 28 Paris TS La Conf février 2025 ---------------------------Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 9 DevCon IA (Paris) 10 11 12 13 14 15 16 MDF 2025 (Paris) Rust in Paris 2025 17 18 19 20 21 22 23 React Paris Agile Niort PGDay Paris 24 25 26 27 28 29 30 31 Paris TestConf JChateau Unconference (Cour-Cheverny) SymfonyLive Paris 31 mars 2025 ------------------------------mai 2025 --------------------------------Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 dotJS Conférence (Paris) Flutter Connection (Paris) 7 8 9 10 11 12 13 Android Maker 14 15 16 17 18 19 20 Devoxx France 21 22 23 24 25 26 27 IA Data Days (Strasbourg) 28 29 30 31 2 juil. MixIT Lyon 006.qxp_267 17/01/2025 13:05 Page6 programmez.com Volume 4.1 : les plans publics, les constructeurs, la télématique, Cyclades vs Transpac, la mini-informatique Volume 4.2 : focus sur 23 ordinateurs français Vous pouvez commander dès maintenant sur programmez.com : Volume 4.1 (128 pages) : 29 €(+ 5 € de frais postaux) Volume 4.2 (52 pages) : 9,99 € (+ 3 € de frais postaux) Les 2 volumes : 35 € + 1 € de frais postaux soit 36 € VIENTDEPARAÎTRE! Une histoire de la micro-informatique volume 4 GLOIRE ET DÉCADENCE DE LA MICRO-INFORMATIQUE FRANÇAISE 1960-1990 007.qxp_267 21/01/2025 12:35 Page7 2018, naissance du projet Zenika, ESN présente en France, au Canada, au Maroc et à Singapour, offre la possibilité à ses collaborateurs·trices d’être acteurs et porteurs d’initiatives en parallèle de leurs activités de consultants·es et formateurs·trices. Le programme “Code-moi un mouton” est un très bel exemple. Initié en 2018 par l’agence Zenika de Lyon, ce programme national vise à introduire le développement informatique dans les écoles (cf https://blog.zenika.com/2018/07/16/sil-vous-plaitcode-moi-un-mouton/ ). L’objectif de “Code-moi un mouton” est de permettre aux collaborateurs·trices de Zenika de proposer des supports pédagogiques, des exercices, et d’animer des séances de programmation pour les élèves, principalement en CM1 et CM2. L’idée est d’initier les enfants à la programmation de manière ludique, en utilisant des outils simples comme Scratch, et de leur montrer une alternative aux loisirs numériques habituels qu’ils peuvent avoir avec les smartphones et des applications de type YouTube. Cette démarche est d’autant plus importante dans le contexte actuel, où la technologie est omniprésente et où la parité des genres diminue. En intervenant dès le plus jeune âge, le programme cherche à démontrer que les garçons comme les filles peuvent devenir développeurs et développeuses. C’est une manière d’encourager la diversité dans le domaine technologique et de faire découvrir aux enfants le potentiel de la programmation. La préparation et l’organisation de l’atelier Le programme “Code-moi un mouton” est géré par les collaborateurs·trices qui choisissent eux-mêmes le matériel, les supports à utiliser, etc. et peuvent y contribuer librement. L’employeur fournit les moyens financiers pour acheter le matériel et compense les sorties de mission pour intervenir dans les écoles à titre gracieux. 7 robots de la marque “thymio” ont été achetés pour couvrir les besoins d’une demiclasse. Il faut également ajouter autant d’ordinateurs pour pouvoir les programmer. Ces ateliers sont généralement animés par un binôme sur 2 demi-journées. Les écoles primaires sont généralement très demandeuses de ce type d’intervention extérieure. Les collaborateurs·trices peuvent librement en parler avec le ou la directeur-trice pour “Code-moi un mouton” by Zenika Code-moi un mouton est une initiative lancée par des collaborateurs·trices Zenika pour promouvoir le développement dès le plus jeune âge et notamment dans les écoles primaires. présenter le projet et pour rassurer sur le contenu. L’objectif est de clarifier qu’il ne s’agit pas d’une simple journée de divertissement, mais d’ateliers d’apprentissage avec des outils adaptés, comme Scratch, et des activités visuelles avec des robots. Figure 1 Les exercices que nous avons créés sont disponibles sur un projet public hébergé sur GitHub. Il y a aujourd’hui 6 fiches donnant l’objectif, l’énoncé au recto et la réponse au verso. Figure 2 Zenika budgétise entre dix et quinze jours par an pour que ses collaborateurs·trices participent à ces initiatives. 8 programmez.com Jean-Philippe Baconnais Consultant @ Zenika Nantes GitLab Hero Community Hero Gitpod Google Cloud Innovator Co-orga Human Talks Nantes & GitLab France https://twitter.com/JPhi_Baconnais Guillaume Membré Consultant et Formateur @Zenika Nantes Geek à toute heure, je travaille principalement sur des sujets de migration d’architecture sur le cloud d’AWS et également sur des problématiques d’intégration et de déploiement continu. Je partage mon expérience pour faciliter la mise en place de démarche devops chez différents acteurs. J’adore bidouiller des RaspberryPi ou Arduino pour créer des choses inutiles donc indispensable! Lorsque le temps le permet, je décris mes aventures sur mon [site web](https://www.mydiy. dev/). Vous pouvez me suivre sur mastodon : @gmembre@piaille.fr Figure 1 : Robots thymio Figure 2 : Fiches d’exercices pour les robots thymio 008_010.qxp_267 17/01/2025 13:22 Page8 Déroulé des ateliers dans les écoles Les ateliers de Zenika se déroulent en deux demi-groupes, permettant d’accueillir environ quinze enfants à chaque session. Chaque matinée, les intervenants préparent, avant la sonnerie de la récréation, le matériel : tables, ordinateurs, énoncés, robots. Une fois que les enfants sont accueillis par leur enseignant-e, ils sont guidés vers une salle séparée pour découvrir le programme de la journée. Lors de cette introduction, les intervenants se présentent, expliquant leur rôle et leur lien éventuel avec les enfants : papa ou maman d’un-e élève de la classe. Ils présentent ensuite le matériel disponible, tout en établissant des règles d’utilisation pour garantir le respect des équipements. Les enfants reçoivent des énoncés sur des feuilles A4, avec des consignes simples. Par exemple, ils peuvent être invités à programmer un robot pour qu’il clignote en réponse à un applaudissement. Au travers des six exercices de difficulté croissante, les enfants apprennent les bases de la programmation via des algorithmes simples. Figure 3 À la fin de la demi-journée, une course de robots est organisée entre tous les binômes. Les robots doivent parcourir environ trois mètres en évitant des obstacles mis au sol. Les enfants programment leurs robots pour qu’ils réagissent aux obstacles, illustrant ainsi la notion de causalité : lorsqu’un événement se produit (obstacle détecté) alors une action est effectuée (reculer et tourner à gauche). C’est également l’occasion de leur montrer qu’un algorithme n’a pas de notion d’ensemble, qu’il ne “voit” pas la scène dans la globalité. Pour compléter le propos, une analogie avec les fourmis peut être réalisée : chacune ne voit que son périmètre et quelques centimètres devant elles. Figure 4 À la fin de la session, les intervenants demandent aux enfants ce qu’ils ont retenu et comment ils ont vécu l’atelier. Les retours sont généralement très positifs, avec un vif enthousiasme pour de futures sessions. D’autres formats d’ateliers sont également mis en œuvre : une session sans ordinateur pour explorer les procédures et mécanismes qui déclenchent des actions. Un des exercices consiste à guider un camarade à travers un plateau au sol, en lui donnant des instructions précises : avance de 3 cases et tourne à gauche. Les enfants peuvent également utiliser Scratch pour créer des histoires animées, où ils manipulent des personnages et objets, enrichissant leur compréhension de la programmation de manière ludique. Un projet open source Comme mentionné précédemment, les ressources de ce programme sont disponibles dans un projet public hébergé sur GitHub dans l’organisation Zenika Open Source : https://github.com/zenika-open-source/code-moi-un-mouton/. Figure 5 Ce projet permet de documenter l’intégralité du programme. En plus de contenir les énoncés des exercices pour Scratch et les robots Thymio, un kit de démarrage est à disposition permettant aux collaborateurs·trices de prendre connaissance de ce projet et de pouvoir le dérouler de manière autonome dans les écoles. Autres initiatives D’autres initiatives ayant le même objectif existent : plusieurs collaborateurs·trices Zenika participent sur leur temps personnel en tant que bénévoles à d’autres types de sessions comme Devoxx4Kids. Pendant une demi-journée dédiée ou dans le cadre d’événements autour de la robotique, par exemple lors du Festival de robotique organisé par l’ADN Ouest en février 2024, des ateliers pour promouvoir le développement chez les enfants accueillent des enfants de 8 à 12 ans. Dans la même idée que notre programme “Code-moi un mouton”, ces ateliers vont se faire en deux temps : un premier passage sur l’outil Scratch, puis la manipulation de Lego, Wedo ou Mindstorm en fonction de l’âge des enfants. Figures 6 et 7 Les enfants sont généralement en binôme, laissant souvent place à des discussions sur les personnages à mettre en scène, ou bien sur le choix du Lego à construire. Mais programmez.com 9 Laetitia Diverchy Consultante & Formatrice @Zenika Lille Certifiée Google Architecte et je travaille principalement sur la mise en place d’infrastructures sur le cloud et de l’intégration/déploiement continue. Je partage mon expérience et expertise à travers du mécénat de compétence pour aider à la parité des genres dans la tech et via la communauté ChtiteDev dont je suis co-fondatrice. Figure 3 : Binôme d’enfants en développement de leur robot Figure 4 : Course de robots avec les obstacles 008_010.qxp_267 17/01/2025 13:22 Page9 derrière ces débats “existentiels“, les binômes s’en sortent toujours très bien pour réaliser des scénettes, des jeux et des Lego “vivants”. Les bénéfices du programme Ces ateliers sont une réelle opportunité de faire découvrir la programmation aux enfants. D’un point de vue consultant, cet exercice permet de se rendre compte à quel point les explications à fournir doivent être aussi simples que possible et compréhensibles par de jeunes esprits. Les questions posées peuvent paraître naïves, mais elles représentent bien la complexité du fonctionnement des applications et des ordinateurs ainsi que le travail fourni par les développeurs·euses pour rendre accessible cet univers. Les enseignants sont très friands de ces interventions extérieures (encore plus si elles ne sont pas facturées ^^), car leur domaine de compétence n’est pas forcément aussi abouti. C’est également l’occasion pour eux de développer leurs compétences pour animer par la suite ces mêmes ateliers. Les enfants ressortent toujours de ces ateliers avec un grand sourire, heureux de pouvoir montrer à leurs parents ou aux personnes qui les accompagnent les histoires et les jeux qu’ils ont pu réaliser pendant ces ateliers. Voir ce comportement et ces sourires ne serait-il pas, en soi, l’objectif de ces programmes ? Références Différents articles sur le programme “Code-moi un mouton” sont disponibles sur le blog Zenika et permettent d’en savoir plus sur le déroulé de ces sessions : https://blog.zenika.com/2022/10/24/code-moi-un-mouton-saison-2-a-lille/ https://blog.zenika.com/2020/02/26/code-moi-1-mouton-retours-sur-2019et-projection-pour-2020/ https://blog.zenika.com/2018/07/16/sil-vous-plait-code-moi-un-mouton/ Un grand merci aux personnes ayant participé au lancement de ce projet ainsi qu’aux Zenika (et ex Zenika) ayant été dans les écoles pour promouvoir ce beau message. 10 programmez.com Figure 5 Figure 6 : Exemple de construction réalisable avec les Lego Wedo Figure 6 : Exemple de construction réalisable avec les Lego Wedo Figure 7 : Exemple de construction réalisable avec Lego Mindstorm PROGRAMMEZ! N°268 Disponible à partir du 28 mars 2025 PROGRAMMEZ! HS 18 Disponible à partir du 4 avril 2025 PROCHAINS NUMÉROS 008_010.qxp_267 17/01/2025 13:22 Page10 programmez.com 11 Cet article présente quatre activités pratiques et motivantes pour initier les élèves à la programmation. Deux d’entre elles, réalisées en classe de sciences physiques avec des élèves de seconde, exploitent les capacités de la micro:bit et du Rover pour découvrir des concepts scientifiques tout en codant. Les deux autres, proposées dans le cadre du club « The Coding Space » du lycée, invitent les élèves à relever des défis de programmation, mêlant réflexion algorithmique et créativité. Grâce aux outils présentés, chaque projet permet d’explorer des concepts scientifiques tout en apprenant à coder de manière progressive et ludique. 1. Présentation du matériel utilisé Dans cet article, plusieurs outils sont utilisés pour initier les élèves à la programmation et à la robotique. Voici un aperçu des principaux équipements : • La calculatrice TI-83 Premium CE Édition Python La TI-83 est une calculatrice graphique simple d’utilisation qui permet d’introduire les concepts de la programmation de manière intuitive. Grâce à sa compatibilité avec le langage Python, elle devient un excellent point de départ pour apprendre à coder tout en restant dans un environnement familier pour les élèves. • La carte micro:bit La micro:bit est une carte électronique éducative spécialement conçue pour initier les jeunes à la programmation et à l’électronique. Compacte et polyvalente, elle intègre de nombreux capteurs (accéléromètre, boussole, capteurs de lumière et de température), un écran de 25 LED programmables, deux boutons poussoirs, ainsi qu’un module de communicaApprendre à programmer : simple et ludique avec la calculatrice TI-83, micro:bit et Rover Dans un monde de plus en plus numérique, la programmation est devenue une compétence essentielle, mais elle peut souvent sembler intimidante, surtout pour les débutants confrontés à des outils complexes. Pourtant, grâce à des dispositifs simples comme la calculatrice TI-83 Premium CE Édition Python, la carte micro:bit et le TI-Innovator Rover, l’apprentissage du code peut être à la fois accessible et ludique. tion radio permettant d’échanger des données entre plusieurs cartes. Elle offre également la possibilité de connecter des capteurs et accessoires externes. Ces caractéristiques en font un outil idéal pour des projets à la fois ludiques et pédagogiques. Grâce à sa compatibilité avec la calculatrice TI-83 Premium CE Édition Python, la carte micro:bit peut être contrôlée directement via un câble, ce qui facilite l’apprentissage de la programmation dans un environnement familier pour les élèves. • Le TI Innovator Rover Le TI Innovator Rover est un robot éducatif programmable, conçu pour être utilisé avec la calculatrice TI-83 Premium CE Édition Python. Grâce à une connexion directe, la calculatrice peut être fixée sur le robot et sert à le programmer en Python, offrant ainsi une interface simple et accessible pour les élèves. Ce robot permet aux élèves de coder des mouvements précis et de réaliser des projets concrets en robotique, comme suivre une trajectoire, détecter des obstacles ou dessiner des formes géométriques. Ces activités pratiques leur permettent de développer des compétences en programmation, tout en explorant des concepts scientifiques et mathématiques de manière interactive. 2. Pourquoi choisir la calculatrice et les microcontrôleurs ? Les outils technologiques jouent un rôle clé dans l’enseignement des sciences. Pour autant, l’accès à des équipements complexes comme des ordinateurs n’est pas toujours possible. La TI-83 Premium CE Édition Python, associée à des microcontrôleurs comme la micro:bit et le TI-Innovator Rover, offre une solution accessible et efficace pour initier les élèves à la programmation et aux sciences appliquées. • La TI-83 Premium CE : une calculatrice aux multiples talents Fabien BEYAERT Enseignant de physiquechimie au lycée de l’Europe de Dunkerque et formateur T3 pour Texas Instruments, passionné par la pédagogie active et l’innovation technologique. J’utilise la programmation pour rendre les sciences plus accessibles et engageantes pour mes élèves. 011_015.qxp_267 17/01/2025 13:33 Page11
PROGRAMMEZ n°267 - Page 3
PROGRAMMEZ n°267 - Page 4
viapresse