1 an de SNT : un premier bilan

La fin de l’année scolaire approche doucement et malgré la rééouverture des lycées, il est clair que l’on n’avancera plus vraiment dans nos progressions, en tout cas c’est qui va se passer avec les aménagements prévus dans mon établissement.

C’est donc l’heure de faire un petit bilan de la découverte de cette nouvelle matière du tronc commun de 2de : les SNT (pour Sciences Numériques et Technologie).

Pour cette première année, je suis intervenu sur 3 classes. Pour autant, cela ne m’a pas réellement permis d’effectuer des ajustements dans les activités que j’ai testées, les créneaux horaires étant essentiellement concentrés sur deux jours consécutifs.

Face au PC

Premier constat : une majorité d’élèves ne sont pas à l’aise face à un ordinateur. Des tâches qui me paraissaient acquises, ou tout du moins un minimum naturelles, ne l’étaient pas. Télécharger un fichier et le retrouver sur le disque dur, sauvegarder un fichier à un endroit donné d’une arborescence, utiliser l’explorateur de fichiers, retrouver une icône sur le bureau (sans passer par l’explorateur de fichiers…), savoir choisir le bon navigateur web pour ne pas avoir de problème de compatibilité avec les outils de l’ENT (ah, qu’ils l’aiment ce bon vieil Internet Explorer…), décompresser une archive. Autant de problématiques auxquelles je me suis vite retrouvé confronté, et jusque tard dans l’année scolaire d’ailleurs (avant le confinement, j’avais encore des élèves qui ne comprenaient pas pourquoi JupyterLab ne fonctionnait pas dans l’ENT en se connectant à ce dernier dans Internet Explorer…). J’ai pu constater une très forte disparité des comportements face un environnement informatique. Je m’y attendais malgré tout, mais pas à ce point-là !

L’an prochain, il faudra que je commence les premiers TP par la mise en place de toutes ces bases de manipulation d’un PC. Puis en venir à une présentation plus précise des fonctionnalités de l’ENT dont on aura besoin au cours de l’année.

Le programme

Le programme est dense. Très dense. Peut-être trop. Au moment où les lycées ont fermé, j’avais traité seulement deux thèmes sur sept en intégralité et j’étais en train de finaliser un troisième thème. On avait pu terminer la photographie numérique et Internet, on arrivait à l’algorithme du PageRank dans le thème sur du web. Ce qui laissait encore à travailler sur :

  • les données structurées et leur traitement
  • les réseaux sociaux (sur lesquels mes élèves ont travaillé durant le confinement, c’était le plus simple à aborder)
  • Localisation, cartographie et mobilité
  • l’informatique embarquée et les objets connectés

On peut voir que le contenu est relativement ambitieux et très diversifiés. Et je suis tombé dans le même écueil que lors de ma dernière année en collège, où avec mes collègues de maths on avait décidé d’une progression excessivement spiralée en 6e : au final j’avais traité entre les 2/3 et les 3/4 du programme car j’avais trop détaillé chaque partie étudiée. Là c’est la même chose. Pour les thèmes Internet et le Web, j’avais choisi de travailler en les découpant en deux, mais passant autant de temps sur chacune de ces parties qu’il aurait fallu que j’en pense sur l’intégralité du thème ! Avec pas mal de temps perdu à chaque TP sur PC à cause de ce que j’évoquais précédemment.

Pour l’an prochain, il faut que je reste sur cette idée de découper les thèmes en deux parties à traiter à différents moment de l’année, mais en étant plus vigilant sur le temps passé sur chacune. Je pense qu’il y a eu aussi un effet « matière uniquement enseignée en 2de » qui a dû jouer malgré tout. La spécialité NSI (pour « Numérique et Science Informatique ») n’étant pas enseignée dans mon lycée, les élèves qui la suivraient en 1re sont très peu nombreux (cette année aucun élève de 2de ne semble avoir choisi cette spécialité…). Je reviendrai sur cet effet dans la partie suivante, sur la programmation en Python, car il y a aussi là un écueil dans lequel il faudra que j’évite de tomber l’an prochain.

La programmation en langage Python

Le programme de SNT est une belle opportunité pour accroître la familiarisation des élèves avec la programmation en langage Python et favoriser leur appropriation de ses caractéristiques. Seulement, il est stipulé dans les référentiels que le cours de maths est celui où se déroule l’apprentissage de ce nouveau langage de programmation, et que les enseignants de SNT doivent se caler sur la progression de cet apprentissage pour proposer leurs activités de programmation :

Le programme de seconde de mathématiques approfondit l’apprentissage de la
programmation. Une coordination avec le cours de mathématiques est donc nécessaire pour déterminer à quel moment des éléments de programmation peuvent être utilisés en sciences numériques et technologie.

Programme de SNT, page 5

Pour cette première année, en tant que prof de maths, j’ai pensé à la lourdeur des nouveaux programmes de 2de et à la difficulté que j’ai moi-même rencontrée les années précédentes pour bien mettre en place cet apprentissage. Je sais notamment que certaines notions sont abordées parfois tardivement dans l’année scolaire, et que par conséquent il n’y a pas grand chose de réellement abordable avec nos élèves en SNT avant longtemps.

J’avais donc pris le parti de travailler de temps à autre en SNT sur des séances de TP autour de la prise en main de Python et de JupyterLab, notamment en séance pour combler des décalages entre les groupes suite à une formation, ou encore lorsqu’il ne restait plus qu’une ou deux séances avant des vacances et que nous venions de terminer un thème. L’une de mes collègues qui avait en maths une classe que j’avais en SNT m’a confirmé que cela avait eu un impact positif auprès de ses élèves qui ont eu moins de difficultés à s’approprier le langage Python. En effet, plutôt que de livrer trop rapidement des séquences d’instructions prêtes à l’emploi, j’avais pris le parti de laisser les élèves expérimenter par eux-mêmes et apprendre de leurs erreurs (typiquement des oublis d’indentation ou de deux points).

Vous l’aurez compris, cela a été effroyablement chronophage au final, malgré le gain pour les collègues de maths. Et cela m’a permis de mieux appréhender les raisons de la mise en garde qui nous avait été faite sur le fait que le cours de SNT n’est pas le lieu de l’apprentissage de la programmation Python. Je serai plus prudent l’an prochain (et m’excuse auprès de mes collègues de maths s’ils me lisent) et chercherai moins à introduire des TP Python en début d’année.

Et les élèves dans tout ça ?

J’ai l’impression qu’une majeure partie des élèves a plutôt apprécié cet enseignement un peu différent, sur des sujets qui sont connectés à leur quotidien (en tout cas de façon visible à leurs yeux). Comme je l’ai déjà évoqué, ils ont vite été perdus dans l’utilisation des outils numériques. C’est l’occasion non seulement de justifier l’existence de cette discipline auprès d’eux, mais aussi de leur apprendre ces usages du numériques qu’ils ne maîtrisent pas.

Là encore, le confinement ne permettra pas de mettre en avant leurs difficultés et leurs attentes, de connaître leur ressenti sur ce nouvel enseignement, et d’avoir tout simplement un retour sur cette première année.

Je tenterai quand même de solliciter les quelques élèves que je verrai durant les trois prochaines semaines, mais je crains que leurs avis ne soient un peu biaisés.

Perspectives 2020-2021

Ce qui sera à la base de ma réflexion pour l’an 2 des SNT, c’est que cette année, j’ai trop voulu intégrer la programmation en Python dès le premier trimestre. Il faudrait que je repousse son utilisation au second trimestre pour consacrer toute la première période à balayer l’ensemble des sept thèmes avec une première approche à base d’activités de découverte et d’appropriation des notions via des vidéos, lectures d’articles, recherches et présentations par les élèves. Sans oublier bien entendu tout le travail autour de la prise en main du PC et de l’ENT. Et passer à des activités branchées seulement en deuxième partie d’année pour brasser de nouveau les notions étudiées.

Et aussi faire en sorte que les élèves puissent être autonome si on doit de nouveau basculer en mode enseignement à distance, parce que là ce n’était clairement pas le cas et les activités possibles en distanciel étaient très restreintes.

À garder aussi à l’esprit : cette année j’ai eu un gros souci technique avec le transfert de fichiers HTML via l’ENT. J’avais fait créer à mes élèves des pages web sur diverses thématiques et lors du transfert, je me suis retrouvé avec des fichiers .html dans lesquels ne demeurait que le contenu des balises <body>. Oublié l’appel de la feuille de style par exemple. Donc il faudra passer par des archives zippées pour le transfert de ces fichiers.

La dernière chose que je prévoyais pour cette année et qui s’est retrouvée mise de côté, c’est de prendre appui sur ce programme de SNT pour construire également des séquences à destination des élèves de DNL. Il y a de quoi faire, et ce serait dommage de ne pas en profiter !

En conclusion

Voilà un bilan non exhaustif de cette première année en SNT. Cela me permet de poser quelques réflexions et pistes pour la suite.

L’an prochain, je vais poursuivre cet enseignement, avec d’autres objectifs en vue et en essayant de ne pas tomber dans les mêmes travers que lors de cette année de découverte. Il va falloir que je prenne le temps de repenser ma progression en conséquence et de mieux planifier le rythme des séquences (et aussi imposer davantage le tempo aux élèves dans les activités plutôt que les laisser découvrir certaines notions à leur rythme).

De votre côté, quel retour d’expérience sur cette nouvelle discipline ?

CodiMD : un éditeur de texte collaboratif en markdown et supportant LaTeX

Toujours en recherche d’outils pendant cette continuité pédagogique, je continue mes découvertes de solutions pour un partage en direct d’une saisie de texte avec formules mathématiques, pour les corrections d’exercices notamment. J’ai ainsi trouvé mon nouveau tableau blanc numérique : CodiMD. Présentation.

De la découverte…

Durant les vacances de Pâques, un ensemble d’outils libres pour faciliter cette continuité a été déployé par la Direction du Numérique pour l’Éducation.

Il y a un certain nombres d’outils disponibles (si j’ai bien compris ce ne sont pas forcément les mêmes dans toutes les académies), mais il y en a un qui a fini par retenir mon attention, présenté comme un « pad avancé » : CodiMD.

À la base, c’est ce tweet qui m’a interpellé :

Je me dis : « Tiens, on peut rédiger en markdown et saisir des formules \LaTeX simples ». En plus, on peut faire visualiser le document en direct. Mais sur le moment, j’ai laissé cette application de côté et poursuivi avec ma façon habituelle de travailler (Texmaker + Sumatra PDF casté via la classe virtuelle du CNED).

Et puis j’ai finalement remis le nez dedans le week-end dernier, alors que je cherchais à trouver s’il existait des packages pour saisir du markdown dans du code \LaTeX, histoire de l’alléger un peu. La suite, vous la devinez un peu : j’ai immédiatement adopté CodiMD dès la première séance où je l’ai utilisé !

… à l’utilisation !

Je passerai sur l’aspect collaboratif des documents ainsi créés pour me concentrer sur ce qu’on peut concrètement faire avec ces pads. J’utilise CodiMD comme tableau blanc pour écrire des mathématiques et il le fait particulièrement bien, sans avoir besoin de passer par des solutions de partage d’écran.

La première chose à faire, c’est de vous rendre sur le site https://apps.education.fr/ et de créer votre compte à partir de votre adresse académique (Oui, c’est réservé aux enseignants et oui, comme c’est stipulé dans le bandeau du site, c’est censé être temporaire. Je vais me pencher ces prochaines semaines sur la recherche d’une solution pérenne au cas où cette plateforme disparaisse à terme et j’en reparlerai dans un nouvel article). Vous aurez ainsi accès à tout un ensemble d’applications parmi lesquelles Peertube pour partager des vidéos, Nextcloud pour partager vos documents, Jistsi pour de la visioconférence et bien sûr CodiMD.

Pour les bases de l’utilisation de CodiMD, vous pouvez consulter cet article : https://pad.numerique-en-commun.fr/utiliser-codimd# (c’est celui qui est proposé dans la description de l’application).

Pour découvrir Markdown : https://blog.wax-o.com/2014/04/tutoriel-un-guide-pour-bien-commencer-avec-markdown/ (là aussi c’est l’article proposé par Apps.education.fr). Si vous ne connaissiez pas ce langage à balises léger, voici une bonne occasion de découvrir sa puissance pour rédiger rapidement des pages web notamment. De plus, l’apprentissage peut vous être utile puisque les calepins de Jupyter(Lab) supportent cette syntaxe pour la mise en forme de texte dans les blocs markdown. Avec le déploiement en cours de Jupyter sur un certain nombre d’ENT académiques (c’est déjà le cas pour le nôtre en Normandie depuis 2 ans au moins), le jeu en vaut la chandelle !

Je pars du principe que vous avez désormais pu créer votre premier pad et que l’utilisation basique de \LaTeX vous est familière.

On peut alors ajouter des formules mathématiques à notre pad exactement de la même façon qu’on le ferait en \LaTeX ! Par exemple :

$a^2=b^2+c^2$.

Qui donnera : a^2=b^2+c^2.

De façon plus complète, mon fichier test ressemblait à ça :

L’éditeur est pratique avec sa vue splittée qui permet de visualiser directement le rendu de ce que l’on tape (ne pas oublier de cliquer sur le petit bouton qui apparaît au milieu de la règle de séparation pour supprimer la synchronisation verticale entre l’éditeur et le rendu web, car cela peut devenir très vite insupportable quand on arrive en bas de l’écran).

C’est cette visualisation que je partage avec les élèves et étudiants lors des séances de correction (il suffit de leur donner le lien du pad, en ayant pris soin de le régler en statut locked si vous ne voulez pas qu’ils puissent le modifier). J’obtiens ainsi un tableau blanc qui s’affiche en temps réel pour eux sur leur écran, qui est responsive et qui permet d’écrire toutes sortes de formules mathématiques. De plus, il est possible de se déplacer à l’intérieur de la visualisation pour revenir en arrière, ca qui n’était pas particulièrement pratique avec la visualisation d’un PDF où c’est le prof qui est « maître » du défilement du document. Sans parler de la possibilité de changer la taille de la police de caractère dans le navigateur, essentielle pour nos élèves avec des troubles DYS (l’un des miens m’a confirmé que c’était bien mieux pour lui de cette façon).

Et là où c’est particulièrement puissant, c’est la dernière partie de mon exemple : la possibilité de pouvoir créer des macros pour se faciliter la rédaction, comme on le ferait directement dans \LaTeX.

Il faut simplement penser à écrire notre \newcommandentre dollars. On peut même en écrire plusieurs à la suite avec une seule paire de $.

En ce qui me concerne, je les déclare au début du fichier comme ça je pourrai facilement supprimer les lignes correspondantes quand j’exporterai mon pad au format .latex.

Car ça aussi c’est possible ! On peut utiliser Pandoc pour exporter notre pad en différents formats dont du .epub(3) ou encore du .latex. C’est noté en fonctionnalité beta, mais ça marche déjà très bien pour le .latex (pas encore testé de .epub, mais les possibilités que cela engendre sont à explorer) et ça ne prend que quelques clics. On récupère alors un fichier \LaTeX contenant un code propre à exploiter avec un minimum de corrections (pour mes fichiers, il m’a fallu redéfinir les débuts et fins de listes par exemple).

On est donc face à un outil qui présente l’avantage :

  • d’être simple à utiliser ;
  • léger dans le navigateur (attention quand même quand il commence à y avoir beaucoup de formules, le rafraîchissement automatique peut devenir subitement très lent), ne nécessitant pas un outil supplémentaire pour le caster et responsive pour s’adapter à tout type d’écran ;
  • de pouvoir être rapidement partagé avec les élèves (soit en rafraîchissement automatique en partageant le lien du pad, soit avec un rafraîchissement manuel par les élèves en leur donnant le lien de la page web créée après avoir cliqué sur Publier) ;
  • de pouvoir partager un tableau blanc avec les élèves dans lequel écrire des mathématiques est totalement naturel (pour peu que vous ayez l’habitude de la syntaxe \LaTeX) ;
  • de pouvoir créer rapidement une page web au contenu évolué.

Les élèves qui auront conservé le lien de la séance pourront même y retourner ultérieurement (même si je leur fourni une version PDF après chaque séance).

Voilà pour ce premier article autour de l’utilisation de CodiMD. Il me reste encore pas mal de choses à explorer :

  • Peut-on charger certains packages LaTeX ?
  • Peut-on utiliser/créer des environnements ?
  • Peut-on insérer des frames pour, par exemple, intégrer un éditeur/compilateur Python ?
  • Est-il aisé d’exporter le contenu de son compte pour transférer tous ses pads ou en faire une sauvegarde locale/cloud ?
  • Comment utiliser CodiMD en dehors de la plateforme Apps.education.fr au cas où elle ne soit pas pérennisée par la suite ?
  • Quels usages potentiels lors du retour en classe ?

Autant de questions auxquelles j’espère répondre dans les semaines/mois qui viennent, tout en vous partageant le retour de mes recherches !

Et de votre côté, avez-vous déjà testé CodiMD ? Avez-vous apprécié son usage ? Avez-vous des tips à partager ? Ou bien utilisez-vous un autre « tableau blanc » pour le distanciel, et le trouvez-vous a priori plus pratique ?

Une approche de l’algorithme des k plus proches voisins en DNL

Cette année, j’ai la chance de suivre un groupe de seulement 9 élèves de Terminale S en DNL Maths Anglais. Du coup, j’ai avancé plus vite en classe de Première et cela m’a conduit à contruire de nouvelles activités. En voici une première, inspirée par le programme de la spécialité NSI en Première, qui est une approche du machine learning à travers l’algorithme des k plus proches voisins.

Voyons un peu de quoi il retourne, partie par partie.

Introduction: la distance de Manhattan

Je relance ici les élèves sur une activité qu’ils ont déjà travaillées en classe de 2de pour réintroduire la distance de Manhattan (notre bonne vieille norme 1 !). L’activité est basée sur celle d’Arnaud Moragues (The shortest way), proposée sur le site Emilangues.

From OpenStreetMap, route from the Flatiron building to the Empire State Building for a car, in the streets of Manhattan

Les bases du machine learning

A partir d’une vidéo, les élèves découvrent les bases du machine learning, avec un script à compléter pour leur faire travailler leur compréhension orale. C’est une vidéo d’un développeur de Google, certes, mais je l’ai trouvée : brève, complète, claire. Et j’aime beaucoup le résumé de ce qu’est le machine learning en cinq mots :

using data to answer questions

La vidéo en question :

Découvrir l’algorithme k-NN avec Game of Thrones

En me basant sur les articles Learning Machine Learning (at Hogwarts) et An Introduction to KNN (K Nearest Neighbours). The Game of Thrones way, une activité très basique pour une première approche de l’algorithme, avec uniquement l’utilisation d’une distance euclidienne.

Première application : trouver le type d’un Pokémon mystère

Pour cette partie, on consolide la compréhension de l’algorithme en version graphique (donc toujours avec deux critères de classification seulement), et toujours avec deux catégories possibles. Davantage de données également, pour classifier un Pokémon mystère, connaissant ses caractéristiques. J’ai adapté cet exemple de très bon ouvrage de Céline Adobet, Guillaume Connan, Gérard Rozsavolgyi, Laurent Signac, dans la collection Prépabac en NSI, publié l’an passé chez Hatier. La dernière application est elle aussi adaptée de ce livre.

Dans cette partie, on effectue les recherches d’abord avec la distance euclidienne, puis avec la distance de Manhattan.

Pour le retour d’utilisation en classe, je dois reconnaître que j’avais bouclé cette partie un peu juste par rapport au moment où j’en ai eu besoin. On a traité cette application sans que je l’aie testée auparavant et forcément, ça n’a pas marché : j’avais choisi à chaque fois une valeur paire pour k et en plus il me manquait un point sur le graphique. Bref, on tombait systématiquement sur des égalités entre les plus proches voisins du Pokémon mystère à classifier… et on ne pouvait donc pas le classifier ! Là, le problème est réglé.

Deuxième application : aider le Choixpeau à trouver la Maison d’un nouvel élève de Poudlard

Pour finir l’activité, j’invite les élèves à aider le Choixpeau (le groupe est quasi intégralement composé de fans, ce que j’ai découvert en traitant l’application). Ici, on travaille uniquement en distance de Manhattan, et en dimension 4 (l’occasion de l’évoquer avec les élèves, d’autant plus que l’on n’avait pas encore traité la géométrie dans l’espace à ce moment de l’année).

Spécificité du programme actuel oblige, je n’ai pas traité la partie programmation en langage Python puisque les élèves n’en ont fait qu’un tout petit peu en 2de et ne sont donc pas au point sur son utilisation (de toute façon, Python n’était officiellement pas au programme des épreuves du bac 2020). Du coup, on a programmé sur la calculatrice et les élèves se sont partagés par groupes les calculs pour chacun des quatre nouveaux élèves à classifier. Naturellement, le tableau final a soulevé pas mal de remarques sur les caractéritisques des différents élèves (mais qui peut bien être cette Nymphadora avec 2 en courage ?). Je reconnais avoir repris le tableau proposé dans le Prépabac sans chercher à le modifier (surtout qu’il donne les bonnes maisons pour Hermione, Drago, Cho et Cédric).

En conclusion

L’activité globale semble avoir plu aux élèves. J’imagine qu’avec une classe à effectif plus élevé, elle serait difficile à traiter dans son intégralité telle quelle. Là je travaillais avec 1h30 par semaine et on a passé 5 ou 6 heures en tout dessus.

L’an prochain, je vais la reprendre aussi bien en 1re qu’en Terminale, mais cette fois-ci avec l’utilisation de Python. Ce sera l’occasion de travailler sur les listes notamment. Tout en prenant en compte que j’aurais certainement des élèves qui ne suivront pas la spécialité maths (on n’a pas NSI au lycée). Et puis en Terminale, ça se couplerait bien avec le programme d’enseignement scientifique qui traite notamment de l’intelligence artificielle et de l’apprentissage machine dans sa dernière partie !

Pour télécharger la fiche d’activité, c’est juste en-dessous :

Générer un article et un diaporama à partir d’un même fichier .tex – Partie 2 : Comment ?

Après m’être quelque peu étendu sur les raisons pour lesquelles j’avais besoin de pouvoir compiler un article et un diaporama à partir d’un même fichier source, voici le plus intéressant : comment s’y prendre pour y parvenir !

Je m’inspire ici de cet article de Maïeul Rouquette grâce auquel j’ai pu trouver cette solution !

Attention ! Le module de coloration syntaxique pour LaTeX de WordPress transforme automatiquement les < et > en &lt; et &gt; respectivement.

J’essaierai de trouver une solution (si elle existe) pour l’éviter par la suite. A priori c’est un problème d’échappement des caractères lors du passage en HTML. Étrangement, cela ne se produit pas en Python.

La technique

Le processus repose essentiellement sur le package beamerarticle qui fait partie de la distribution de base de Beamer. On l’utilisera pour générer la version article du document.

Après divers tâtonnements, je travaille finalement à partir d’un préambule comme celui-ci :

\documentclass[a4paper,12pt,twoside]{article}

\usepackage{entete}
\usepackage{beamerarticle}

% \documentclass[ignorenonframetext,t,10pt]{beamer}

% \usepackage{entete-beamer}
% \usetheme{Hannover}
% \setbeamertemplate{enumerate items}[default]

Dans ce préambule, il me suffit de commenter/décommenter les premières lignes, ou les suivantes, selon le document que je souhaite obtenir. Les lignes 1 à 4 pour l’article et les lignes 6 à 10 pour le diaporama. Et c’est à peu près tout !

Les packages entete et entete-beamer sont des librairies regroupant mes macros personnelles ainsi que les appels aux packages dont j’ai besoin. À vous d’adapter selon vos habitudes d’écriture de vos fichiers. J’ai la mauvaise habitude de charger systématiquement l’intégralité des packages et macros qui m’ont été utiles par le passé, même si le document courant ne les nécessite pas.

Pour la version diaporama, c’est l’option ignorenonframetext lors de l’appel de la classe Beamer qui est fondamentale. Elle permettra de faire apparaître les éléments hors des balises frame, comme par exemple les entêtes et pieds de pages ou, dans le cas d’un polycopié de cours, les énoncés des exercices que l’on n’aurait pas besoin de projeter mais qui seraient présents dans le document élève. Pendant ce confinement, ça me permet aussi de me contenter de copier-coller le contenu du fichier .tex rédigé pendant la correction des exercices traités lors d’une séance, de les ajouter à la toute fin d’un diaporama (pour les exercices qui étaient à chercher entre les deux séances) et de produire sans aucune retouche un PDF avec l’intégralité des corrigés, que je pourrai partager avec mes élèves.

Ça me sert aussi à avoir des versions intermédiaires de la séance de cours que je peux partager au fil des exercices pour les élèves qui ont besoin de reprendre la correction d’un exercice avant de passer au suivant.

Quelques astuces pratiques

Si vous voulez qu’une diapo complète ne s’affiche que dans le diaporama et pas dans l’article, il suffit de saisir :

\begin{frame}<presentation>

Utile notamment pour la diapo de titre.

Il y a aussi une commande qui m’a bien aidée car elle m’a grandement limité le nombre de lignes de code à commenter en passant du diaporama à l’article :

\only<beamer>{votre texte}

Typiquement, cela m’a servi pour les titres des diapos, dont je n’avais pas besoin dans la version article (puisque le découpage en sections/sous-sections est souvent déjà noté hors des balises frame). Concrètement, cela donne quelque chose comme :

\only<beamer>{\frametitle{Exercice 6 p.13}}

Travaillant sous Overleaf, tout ceci fonctionne parfaitement ! Je me souviens avoir rencontré un ou deux soucis sous Texmaker, mais je dois reconnaître que l’installation de MikTeX sur mon PC est quelque peu bordélique (c’est ce qui m’a initialement conduit à basculer vers Overleaf d’ailleurs).

Et voilà pour ce premier article un peu plus technique que d’habitude (mais il va falloir s’y faire). Je manque encore de pratique dans leur rédaction (malgré les fiches de TP/cours que je prépare pour mes élèves) et dans l’écriture du partage de pratiques, alors n’hésitez pas à me proposer des améliorations si besoin !

 

Générer un article et un diaporama à partir d’un même fichier .tex – Partie 1 : Pourquoi ?

Depuis à peu près deux ou trois ans, je n’utilise plus Beamer, ou alors très occasionnellement. Devoir travailler sur deux sources de documents pour avoir d’un côté la version à distribuer aux élèves (par exemple un polycopié de cours à compléter) et de l’autre un diaporama à projeter (typiquement pour compléter ledit polycopié) était trop chronophage, beaucoup trop. Alors je biaisais : un polycopié prof (complété) et un polycopié élève en une source juste en renommant une commande, \blanc devenant \bleu pour les besoins de la projection. Et je projetais le document ainsi obtenu, en le faisant défiler au fil du cours. Pratique à préparer mais pas totalement satisfaisant.

Et puis il y a eu le confinement la continuité pédagogique et le besoin de pouvoir :
1. Corriger « en direct » les exercices.
2. Proposer après chaque séance un document propre regroupant toutes les corrections de ce qui avait été traité.

La première semaine, je reprenais tous exercices un par un après les séances sur Discord, tapais leurs corrigés en LaTeX, en récupérant souvent les formules saisies durant la séance, avant de déposer sur l’ENT le document final. Le temps passé était cataclysmique ,même en faisant un copier-coller de tous les échanges de la séance et en supprimant dans un premier temps tout ce qui ne concernait pas la correction des exercices et les remarques allant avec. Sans parler de la position de travail devant le PC portable posé sur la table à manger dans le salon, pas du tout adaptée pour de si longues sessions.

En deuxième semaine, même principe mais en rédigeant les corrigés, parfois avant, mais plus souvent après le cours, en version manuscrite (puis photos avec Office Lens, création d’un PDF toujours sous LaTeX, dépôt sur l’ENT). Preneur de temps aussi, mais moins douloureux pour mon dos malgré tout. Et puis je commence à prendre conscience que le double affichage lié à l’utilisation du bot TeXit (pour convertir du code LaTeX en de belles formules) n’est pas idéal pour la compréhension, tout comme le mélange correction/questions au sein d’un même flux de discussion.

Exemple de saisie LaTeX avec le rendu via TeXit.
C’est beau, mais ça ne facilite pas forcément la lisibilité globale.

En troisième semaine, profitant de la stabilisation de la plateforme, j’améliore un peu tout ça : utilisation de la classe virtuelle du CNED, avec partage de la fenêtre de mon lecteur PDF (Sumatra PDF) dans lequel est rafraîchi automatiquement après chaque compilation mon fichier .tex rédigé sous TeXMaker. En calibrant le PDF au format A5, c’est plutôt pas mal pour la correction en mode synchrone.

Seulement, là où c’était moyen, c’était pour la correction des exercices à chercher entre deux séances. Au bout de cette troisième semaine, j’avais un peu moins besoin de sortir les rames et je parvenais à trouver le temps de préparer les corrigés en avance. Je rédigeais mon fichier .tex, commentais toutes les lignes du corps de texte et les décommentais en enchaînant les compilations étape de correction après étape. C’était quand même pas génial pour le rythme d’affichage et ne me permettait pas de basculer mon PDF en plein écran (besoin de voir la fenêtre de TeXMaker pour ces manipulations).

Et au final, ce que je faisais n’était rien de plus que de recréer le principe d’un diaporama, mais d’une façon absolument pas pratique.

Arrive alors la semaine 4. Et me revient cette idée de chercher s’il est possible à partir d’un seul fichier source de générer aussi bien un diaporama avec Beamer qu’un PDF avec la classe article. Et si jusqu’à présent je m’étais posé la question sans vraiment y chercher de réponse, là le contexte m’a clairement poussé à le faire enfin. Grand bien m’en a pris car non seulement c’est en effet possible, mais c’est en plus d’une simplicité absolue ! Je suis tombé parmi les résultats de recherche sur cet article qui explique comment faire.

Et le comment, ce sera justement l’objet de la deuxième partie de cet article ! En ligne dans les jours qui viennent, le temps pour moi de lister les petits ajustements et les quelques astuces qui m’ont été bien utiles pour obtenir le résultat voulu.