On avance

18/07/2019 Non Par cborne

J’ai finalement décidé de faire les choses en grand et c’est ainsi que j’ai monté mes cours en python. Je vous donne les trois raisons de ce changement de positionnement :

  • La conformité avec les programmes. Python est partout.
  • La conformité avec le bouquin, tous les bouquins sont avec Python.
  • La curiosité. Tout le monde est à Python, c’est que ça doit pas être si débile que ça.

Apprendre un langage de programmation n’a rien de compliqué surtout lorsqu’on l’utilise à destination des mathématiques. Comprenez que de remplacer un tant que par un while, ce n’est pas la fin du monde. On n’est pas non plus en train de coder le dernier Tomb Raider. La documentation est particulièrement riche, on a des tutoriels Python dans tous les coins, la difficulté que j’ai rencontrée va vous paraître inattendue, le choix de l’IDE.

Chez Python on sait rire, on sait en tout cas autant rire que chez les distributions Linux, je me suis retrouvé dans une situation malaisante, la masse des IDE. Quand tu ne sais pas et qu’il faut bien faire, tu te lances et j’ai choisi IDLE, livré par défaut avec Python. On se rend compte qu’il s’agit plus ou moins d’un éditeur de texte un peu dégueulasse en anglais, mais du fait que l’apparence est particulièrement simple, on va pas trop en demander non plus. J’ai commencé à tiquer lorsque j’ai dû installer la bibliothèque supplémentaire matplotlib en ligne de commande. Matplotlib est une librairie qui permet de tracer des graphiques. J’ai tiqué encore plus quand je me suis retrouvé avec un message d’erreur à l’utilisation de la commande python non reconnue. Il est apparu que je n’avais pas installé les variables d’environnement, ce qui m’a permis d’utiliser Python en ligne de commande, obligatoire pour l’installation. Ça ne règle pas deux problèmes :

  • l’installation sur un serveur TSE
  • l’installation sur l’ordinateur de Jean-Kevin

Vous vous doutez bien que télécharger Python sur le site officiel de Python c’est déjà pas gagné, lancer une commande c’est tout simplement mort. Dans les IDE, certains ont été plus intelligents que les autres et ont donc embarqué des bibliothèques directement dans le programme, edupython revient de façon récurrente.

Une référence à la chanson de Sardou, logo des années 80 mais logo jusqu’au bout dessin.

Deux problèmes. L’interface m’a parue trop complexe par rapport à IDLE, second problème, dernière version qui date d’il y a un an, ça sent le projet un peu trop français, un peu trop isolé, un peu trop je vais mourir d’ici l’année prochaine.

Dans le forum, la panoplie de mes collègues vient comme d’habitude à mon secours, quand moi je découvre le truc dix ans après eux. On se croirait dans une chanson d’I AM, c’est plus quand j’y allais ils revenaient, ni même ils y retournaient, c’est quand j’y allais ils s’étaient lancé dans l’élevage de serpents. Parmi les propositions, jupiter, anaconda, enfin que des trucs auxquels je ne comprends rien, et Nono53 a lancé mu.

Cyrille BORNE ose tout, même le GIF animé, tellement 1990

C’est simple, c’est en français, ça marque les erreurs en français, c’est coloré, c’est joli, l’essayer c’est donc l’adopter, et on a en plus à l’intérieur la fameuse matplotlib. Le projet a l’air d’être assez costaud on en a parlé sur le site de la fondation raspberry, suffisamment pour passer l’année. Et c’est ici que tu commences à t’énerver tout seul, un sentiment Linuxien de déjà vu, le sentiment de perte de temps, qui se résume dans cette capture d’écran :

Nous somme typiquement dans le avant après, sauf que c’est après avant

J’ai dû recommencer l’intégralité de mes captures d’écran en espérant que ce soit le bon IDE ..

Le second problème est en lien avec l’architecture de mon serveur, le TSE. J’ai fait le test de l’installation de Python, marche pas alors que j’ai fait l’installation proprement, pareil avec mu, marche pas. Je demanderai à un technicien maintenant que j’ai un gars qui va passer trois heures au lycée par semaine de l’installer, mais aussi bien ce n’est pas compatible avec TSE tout simplement. Mais, et c’est ici que cela fait la différence, il existe une version portable qui fonctionne parfaitement même si 300 Megas par élève sur le serveur, ça très très vite devenir désordre si on multiplie le nombre d’utilisateurs de Python dans le lycée..

Je suis donc avec un outil qui répond aux attentes, qui peut être récupéré et installé de façon simple sur les ordinateurs des élèves. Le bonheur est presque parfait si ce n’est que pédagogiquement, ce n’est toujours pas ça.

Si pour moi apprendre Python ne pose pas de problème, pour les élèves on va avoir une complexité supplémentaire, l’anglais à la place du français pour commencer. Je reste de plus convaincu qu’on est dans le domaine de l’inné, on aura beau faire ce qu’on veut, la logique on l’a ou on ne l’a pas. Je rajouterai enfin comme dernier point que les propositions d’algorithmes demandées, imposées, dans le programme ne font pas forcément rêver, je trouve qu’on est franchement dans l’abstrait. Coder un programme pour prouver qu’un nombre est premier ou non, ça n’envoie pas du rêve chez des élèves qui non seulement trouvent que la programmation est trop abstraite, qui sortent d’un an de scratch le chat rigolo qu’ils ont pu plus ou moins bâcler, et qui surtout ont beaucoup de mal à faire élever le niveau (C’est difficile, j’y arrive pas, quand est-ce qu’on mange ?)

Je ne pense pas que c’est avec ça qu’on va créer des vocations, l’approximation de la racine carrée de 2 ou de trouver la fraction qui se rapproche le mieux du nombre pi ne sont pas pour moi des exemples qui donnent envie de coder. Ça me rappelle un peu ce que racontait un inspecteur de maths à propos des problèmes sur les systèmes d’équations où il fallait trouver le prix de la chocolatine et du croissant. Il disait que c’était complètement con parce que dans la boulangerie tu connais le prix du croissant et du pain au chocolat. Vous noterez que j’ai employé chocolatine et pain au chocolat pour ne vexer personne.

Lorsqu’en troisième on fait le tableur et qu’en tirant sur le carré noir, les moyennes sont calculées automatiquement, les gosses font du « wouah ». Je ne suis même pas ironique, les gamins trouvent ça génial, le problème c’est qu’ils oublient parce qu’ils ne pratiquent pas, mais c’est une autre histoire.

Pendant que je suis dans ma partie mathématique, je tiens quand même à vous dire que je me salue. Bon je suis un incompétent notoire en mathématiques, la faute à ma maîtrise de sciences physiques, mais je reste un excellent pédagogue et en tant qu’excellent pédagogue, je peux vous dire que j’ai eu le nez creux avec la Numworks. À l’époque le commercial nous regardait comme des Martiens avec ma collègue parce qu’on disait que nous, Python on s’en foutait complètement. Si désormais tous mes élèves auront un outil pour ̈Python, je n’ai pas testé mais je pense que c’est une hérésie de ne pas coder derrière un PC, ce sont les qualités de facilitation de la machine qui nous faisaient et qui nous font encore rêver.

Quand je regarde l’ensemble des bouquins de maths, ils sont tous passés à Numworks, quand je regarde Casio je vois qu’ils ont changé de façon de faire avec des mises à jour gratuites pour la calculatrice et l’intégration de Python mais j’ai envie de dire qu’il est trop tard. Le prof de maths est un mec bien, reconnaissant, fidèle, il aime bien quand ça bouge après s’être fait rouler dans la farine pendant des décennies par les deux seuls acteurs du marché, Casio et TI. J’espère, j’ai envie de croire que cette petite société qui a montré qu’on pouvait faire bouger les lignes comme Jean-Pierre Chevènement en 2019 continuera d’innover, d’oser.

Je trouve ça beau, je trouve que ça donne plein d’espoir, de pouvoir réussir dans des marchés saturés. On pourrait dévier assez facilement en écrivant que si la bande de joyeux libristes avaient pensé en direction des utilisateurs et pas de leur plaisir personnel, il y aurait certainement eu une place à prendre au soleil des systèmes d’exploitation.

Des Numworks comme s’il en pleuvait

L’une des autres difficultés avec Python c’est un peu le problème que j’évoquais quant à la masse des IDE et des distributions Linux. Le net est bourré de tutoriaux, de livres, de gros livres gratuits, et il est dès lors difficile de savoir par où on va commencer, et surtout par où on va finir. Quand les gens disent que la seule limite de la programmation c’est l’imagination, ce n’est pas une publicité, c’est vrai. Seulement ce qu’on ne dit pas c’est que face au manque d’imagination on ne va pas bien loin. La majorité de la population utilise internet comme une télévision, alors que c’est un extraordinaire outil d’apprentissage, voyez les limites de l’imagination.

Pour ma part, je fais simple, je m’accroche au bouquin, je ne vais pas tout faire, j’essaie de trouver ce qui est le plus intéressant à faire, éventuellement je rajouterai quelques bricoles supplémentaires si je trouve que c’est pertinent. Dans les choix que j’ai à faire, la progression, et en ce moment je pense que je vais plutôt mettre une heure par semaine plutôt que de condenser cette partie en fin d’année. À raison d’une heure par semaine cela me permettrait de coller au programme et d’aborder un problème sous un autre angle. Je n’ai pas encore tranché. Pour l’heure, j’en suis à finir mes contenus, le reste viendra plus tard. Du fait de me caler sur le bouquin, je suis obligé de regarder un peu les exercices avant de les faire réaliser aux élèves, c’est compliqué.

Par exemple on donne un algorithme dans lequel on teste des nombres avec une référence à la racine carrée de ce nombre. Quand on a quelques connaissances de maths et que le titre de l’exercice s’appelle « entier entier », on se doute qu’il s’agit d’un test pour vérifier si les nombres sont entiers ou éventuellement premiers. Seulement la référence à la racine carrée, vous vous doutez bien que le gamin qui pense que la racine carrée de 8 c’est 4 parce que 8 divisé par 2 ça fait 4, lui faire comprendre que c’est inutile de tester tous les nombres et qu’on peut s’arrêter à la racine, il va quand même falloir lui expliquer.

On n’ira pas se plaindre du métier mais le travail en amont à fournir pour cette rentrée scolaire qui arrive dans un peu plus de un mois est colossal pour mâcher le travail des élèves. Travail colossal pour moi, mais plaisant, comprenez qu’au lieu de se prendre la tête avec des ordinateurs, avec des demandes débiles, je préfère mieux faire un véritable retour aux sources dans mon cœur de métier, l’enseignement.

La va-vite de cette réforme, les difficultés de cette année sont avancées par de nombreux enseignants qui feront comme tout le monde, se soumettre. Néanmoins, ce ne sera peut-être pas avec ce ministre, peut-être pas dans deux ans mais il faut que ça change. L’affaire Huawei même si elle trouve son issue dans le doux monde des bisounours et de la finance aura quand même laissé quelques traces. On aura pris conscience que nos alliés les américains, faut pas trop les renifler, et quand ils sont pas contents ils peuvent tuer une entreprise d’un coup, en brisant la nuque. Le géant Chinois l’a bien compris et c’est ainsi qu’il vise son indépendance complète face aux géants américains dont il dépend. Le rapport avec la choucroute ?

L’informatisation à outrance telle que nous la réalisons dans l’éducation en visant un monde de développeur est certainement engagée par des individus qui n’ont pas la maîtrise de l’informatique. J’écrivais que l’arrivée du SNT, sciences numériques et techniques c’est une très bonne chose, enfin, tout dépendra qui va l’enseigner, il faudrait peut-être qu’on l’enseigne aussi chez nos dirigeants. Dans une province de l’Allemagne, on vient de bouter Office365 en dehors des écoles, pendant ce temps là en France, on vient de déclarer que Google pouvait stocker les données du médical, tout va très bien madame la marquise.

La situation de monopole de Microsoft est préoccupante en tout cas devrait préoccuper, d’autant plus qu’il n’y a pas vraiment d’alternative, Google ou Amazon par exemple. Tout le monde va manger son pain noir en pensant faire des économies de personnes, de matériel en confiant sa sécurité à d’autres, tout le monde finira surtout par sentir passer l’addition. Quand Netflix perd des abonnés parce qu’il devient trop gourmand, on peut supposer que c’est parce que les gens retournent à l’ancienne au piratage. Quelles sont les solutions pour échapper à ces grandes entreprises à part faire soi-même, quand la majorité des entreprises externalisent un maximum ?

Bon c’est pas tout ça, mais j’ai franchi les 2100 mots, je retourne au boulot.