0. Ligne de commande

Mis en avant

Suite à mon article sur la nécessité d’une autre informatique, beaucoup moins dépendante des interfaces graphiques et aux antipodes de la vidéo et suite aux nombreux autres articles que j’ai rédigés sur différents aspects d’une informatique en ligne de commande, voici un petit tour d’horizon de ce qu’il est possible de faire de cette manière :

  1. Pourquoi relever ses mails en ligne de commande
  2. Comment relever ses mails en ligne de commande 1
  3. Comment relever ses mails en ligne de commande 2
  4. Terminator pour la ligne de commande
  5. Gérer ses fichiers en ligne de commande
  6. Naviguer en ligne de comande
  7. Lynx, midnight commander et mutt transparents dans terminator
  8. Installer un shell particulier : zsh
  9. Gestion du temps et des tâches en ligne de commande
  10. Redimensionner en ligne de commande
  11. Flux RSS en ligne de commande
  12. De la musique en ligne de commande
  13. GNUpg en ligne de commande
  14. Images en ligne de commande : planche de contact
  15. Carnet d’adresse en ligne de commande
  16. Mutt avancé en ligne de commande
  17. Covid eo 19
  18. Processus en avant/arrière plan
  19. Calendrier en ligne de commande
  20. Suivi de poids en ligne de commande
  21. Météo en ligne de commande
  22. Éditer du texte en ligne de commande
  23. Email, mon amour
  24. Vim et LaTeX
  25. Vit et taskwarrior
  26. Git introduction
  27. Git et les branches
  28. Code is Education
  29. Images en ligne de commande : imagemagick

Écrire n’est pas un métier, c’est une envie

Gravelle, Zisly

et les anarchistes naturiens contre la civilisation industrielle

Comme d’habitude, François Jarrige nous livre un ouvrage extraordinaire. L’analyse préalable au recueil de textes est évidemment la bienvenue pour ne pas discréditer préalablement leur contenu comme il est aujourd’hui l’habitude de le faire pour tout opposant au dogmes du monde « moderne », mais c’est surtout la qualité de leur choix qui est remarquable.

La science, le progrès, la croissance sont fortement interpellés par ces textes de plus d’un siècle et qui résonnent pourtant aujourd’hui comme une prémonition de bon sens. Ces textes sont à la fois lumineux et tragiques de l’aveuglement de notre « civilisation actuelle ». À lire absolument.

29. Images en ligne de commande : imagemagick

Rentrons dans le vif du sujet :

Conversion jpg vers pdf

Le problème est de convertir toutes les images jpg situées dans un unique répertoire en un seul pdf.

Deux étapes sont à réaliser :

ls *.jpg | xargs -I% convert % %.pdf 

où le ls crée une liste des fichiers, le « pipe » (|) envoie cette liste à la commande xargs. En effet, la commande convert ne dispose pas d’entrée standard et xargs utilise la commande passée sur son premier argument pour passer le fichier en entrée standard comme argument de la commande convert. Le drapeau -I de xarg, évite de passer tous les fichiers images en une fois à convert (comme de multiples arguments) pour faire le même fichier de sortie. Avec -I on récupère le nom de fichier dans % et on demande de réaliser la commande simple « convert fichier.jpg fichier.pdf » sur chaque fichier fournis par ls.

Puis, il faut créer l’unique pdf à partir des fichiers .jpg.pdf par :

pdftk *.pdf cat output merged.pdf && rm *.jpg.pdf

où, on récupère tous les fichiers d’extension .pdf et demande à pdftk de réaliser un « cat » (catenate), c’est-à-dire une concaténation, de ceux-ci dans le fichier donné en valeur d’argument de output, c’est-à-dire merged.pdf.

Finalement, si et seulement si (&&) le fichier merged.pdf est réalisé sans erreurs, on efface (rm : remove) les pdf de chaque page.


Mais il est apparu d’entrée un problème dont la solution se trouve dans un fichier de configuration d’Imagemagick. En effet, ce dernier refusait d’effectuer la conversion et renvoyait une erreur de « policy » peu compréhensible. Les recherches ont montré qu’il fallait autoriser Imagemagick à créer des pdf dans ce fichier :

/etc/ImageMagick-6/policy.xml

Les modifications se font évidemment en root. Se trouve dans ce fichier la ligne suivante :

<policy domain="coder" rights="none" pattern="PDF">

qu’il montre que le droit de faire des pdf n’est pas présent. Il faut donc la changer par :

<policy domain="coder" rights="read | write" pattern="PDF">

pour résoudre le problème.

Brisons le totem de la 5G

Je reproduis ici le texte de positionnement de la Quadrature du Net (https://www.laquadrature.net/2020/10/09/brisons-le-totem-de-la-5g/) quant à la 5G. Il va de soit que j’approuve entièrement leur position. Merci à eux d’être aussi clair et de publier ce texte sous licence libre Creative Commons CC BY-SA 4.0.

Posted on9 octobre 2020

La Quadrature du Net refuse le futur promis par les promoteurs de la 5G.

Nous refusons le rêve d’Ericsson pour qui la 5G ouvrira à la « smart surveillance » un marché de 47 milliards de dollars d’ici 2026. Nous refusons que la vidéosurveillance puisse représenter le marché le plus important des objets connectés permis par la 5G, estimé à 70% en 2020, puis 32% en 2023. Nous refusons le fantasme sécuritaire dans lequel « l’obtention d’image d’une très haute qualité ouvre la voie à l’analyse intelligente de la vidéo via l’IA ». Nous refusons l’ambition de l’ancien employé de Safran, Cédric O, de procéder au déploiement de la 5G quoi qu’il en coûte.

Peu importe que ces promesses soient crédibles ou non, nous mettons en garde contre ce qu’elles représentent. Elles sont le rappel, fait par une industrie techno-sécuritaire qui n’existe que pour elle-même et impose partout son agenda, que nous n’avons jamais eu notre mot à dire sur ces grands programmes industriels ; que cette industrie et ses relais au sein de l’État s’arrogent le droit de nous contrôler au travers de leurs innombrables gadgets, quitte à participer à la ruine de ce monde ; quitte à risquer ce qu’il nous reste d’humanité.

Si l’industrie de la surveillance a fait de la 5G le totem de son monde fantasmé, il nous faut briser ce totem. Nous l’affirmons avec d’autant plus de détermination que nous savons que les politiques en matière de télécoms pourraient avoir un visage bien différent, que les réseaux télécoms pourraient être faits pour les gens et par les gens. Partout en Europe et dans le monde, des alternatives existent. Elles se heurtent malheureusement à l’indifférence coupable et intéressée des gouvernants.

À La Quadrature, les débats sur la 5G ont commencé il y a déjà quelques temps et sont parfois très animés. Au delà de la position commune affichée ici, nous prévoyons de publier différentes tribunes qui seront recensées ci-dessous afin de donner à voir les nuances dans nos positionnements.

https://www.laquadrature.net/2020/10/09/brisons-le-totem-de-la-5g/

Code is Education

Un éditorial de Véronique Bonnet, présidente de l’April, que je reproduit ici pour la grande clarté de son propos et suite à une discussion avec des collègues sur la plate-forme d’enseignement Moodle. Ce texte est en licence libre et je remercie non seulement son auteure, mais l’ensemble des membres de l’April de fournir des textes d’une aussi grande qualité sous de telles licences. Vous trouverez ici l’article original suivi d’un petit commentaire sur Moodle.

« Le monde d’après », qui fait sauter certains comme des cabris, dans la jubilation du « hors-sol », peine à dissimuler ses pilotis idéologiques. À la résultante historique la plus surdéterminée, on prétend refaire une virginité. Telle Vénus surgissant de l’écume des flots, la mythologie de l’abolition du « monde d’avant » multiplie les représentations chaotiques, purement chronologiques, de ce qui arrive. Parler de mondes successifs, comme de vagues successives de la pandémie, pour se référer aux irruptions successives des crises sanitaire, économique, existentielle, écologique, peut faire figure de pis-aller explicatif commode, mais ne doit pas faire disparaître dans les sables la logique des événements.

Dans le monde de l’éducation, l’informatique a été, eu égard au contexte, présentée comme une amie prodigieuse, capable de remédier aux impossibilités du présentiel par la magie soudaine et massive du distanciel. Cette formulation discontinuiste laisse entendre que toute solution logicielle est bonne à prendre. Que sont les John Van Neumann, les Alan Türing, les Ian Murdock, les Aaron Schwartz devenus, dans leur exigence d’une informatique de l’autonomie ? Richard Matthew Stallman, dans les textes de la philosophie GNU concernant l’école, a souligné l’importance de ne pas accoutumer les enfants à une informatique de la docilité, de la subordination, pour que les futurs adultes et citoyens soient confortés dans leur aspiration à comprendre. Restituons ici, par quelques chaînes de raisons, une ascendance pour l’opposer à une autre, pour remettre en perspective « l’informatique de l’après » et la situer par rapport aux idéaux ou aux intérêts de « l’informatique d’avant. »

Dans son article de janvier 2000 publié dans le Harvard Magazine intitulé Code is Law – On Liberty in Cyberspace : Le code fait loi – De la liberté dans le cyberespace, dans la traduction de Framalang https://framablog.org/2010/05/22/code-is-law-lessig/, le grand juriste Lawrence Lessig met en garde contre une l’opinion selon laquelle la loi ne pourrait émaner que d’un État. À l’ère du cyberespace, la loi peut aussi bien être la résultante du code qui, en l’organisant, « fait loi » :

« Nous sommes à l’âge du cyberespace. Il possède lui aussi son propre régulateur, qui lui aussi menace les libertés. Ce régulateur, c’est le code  : le logiciel et le matériel qui font du cyberespace ce qu’il est. Ce code, ou cette architecture, définit la manière dont nous vivons le cyberespace. Il détermine s’il est facile ou non de protéger sa vie privée, ou de censurer la parole. Il détermine si l’accès à l’information est global ou sectorisé. Il a un impact sur qui peut voir quoi, ou sur ce qui est surveillé. Lorsqu’on commence à comprendre la nature de ce code, on se rend compte que, d’une myriade de manières, le code du cyberespace régule. »

D’où sa crainte :

« Cette régulation est en train de changer. Le code du cyberespace aussi. Et à mesure que ce code change, il en va de même pour la nature du cyberespace. Le cyberespace est un lieu qui protège l’anonymat, la liberté d’expression et l’autonomie des individus, il est en train de devenir un lieu qui rend l’anonymat plus difficile, l’expression moins libre et fait de l’autonomie individuelle l’apanage des seuls experts. Mon objectif, dans ce court article, est de faire comprendre cette régulation, et de montrer en quoi elle est en train de changer. Car si nous ne comprenons pas en quoi le cyberespace peut intégrer, ou supplanter, certaines valeurs de nos traditions constitutionnelles, nous perdrons le contrôle de ces valeurs. La loi du cyberespace – le code – les supplantera. »

En effet, alors que dans l’architecture initiale du cyberespace, les protocoles TCP/IP, outils de l’échange de données entre réseaux interconnectés, rendant difficile l’identification de ceux qui échangent et de ce qu’ils échangent, permettent le respect de la vie privée et la liberté d’expression, il se trouve que « le code n’est pas figé », et que cette « architecture peut changer. »

Rappelant que, techniquement, si le code fait la loi, il pourrait faire intervenir des nuances, Lawrence Lessig aperçoit le risque d’une mainmise progressive du code sur les utilisateurs, si des intérêts particuliers tendant vers le profilage des individus prennent le pas sur les idéaux des droits de l’être humain :

« La technologie pourrait permettre de certifier certains faits vous concernant, tout en gardant d’autres faits confidentiels. La technologie dans le cyberespace pourrait fonctionner selon une logique de «  moindre révélation  », ce qui n’est pas possible dans la réalité. Là encore, tout dépendrait de la manière dont elle a été conçue. Mais il n’est pas dit que les choses iront dans ce sens.[…] Il existe d’autres architectures en développement, de type «  une seule carte pour tout  ». Dans la logique de cette architecture, plus il y a d’informations, mieux c’est. Rien ne permet aux individus de faire le choix du moins. La différence entre ces deux conceptions est que l’une garantit la vie privée, alors que l’autre non. La première inscrit le respect de la vie privée au cœur de l’architecture d’identification, en laissant un choix clair à l’utilisateur sur ce qu’il veut révéler  ; la seconde néglige cette valeur. »

On le voit, l’auteur montre que le cyberespace est à la croisée des chemins. De deux choses l’une. Soit les dispositifs de régulation du cyberespace essaient de faire la part des choses, c’est-à-dire d’éviter que l’absence de régulation soit préjudiciable et porte atteinte au individus tout en préservant dans la mesure du possible la vie privée.
Soit ces dispositifs, intrusifs, tentent de faire de l’utilisateur, purement et simplement, un document, en croisant toutes ses métadonnées pour le caractériser intégralement, le profiler.

(Pour le dire dans le contexte qui est le nôtre, en 2020, nous en sommes à essayer d’éviter que sur les réseaux sociaux la liberté d’expression en vienne à permettre l’expression ouverte du racisme, sexisme. Mais au risque, considéré par certains comme une opportunité, de traiter chaque acteur du cyberespace comme ayant à rendre public tout ce qui le concerne, sans possibilité de garder un dimension privée.)

Quoi qu’il en soit, Lessig met, dès 2000, en évidence la montée en puissance insensible du pouvoir de la technologie, nommé par le philosophe Michel Foucault soft power, celui qui s’avance masqué et peut se manifester dans des logiciels apparemment anodins, qu’on soupçonnera d’autant moins qu’ils rendent service sur le court terme :

« La question n’est donc pas de savoir qui décidera de la manière dont le cyberespace est régulé  : ce seront les codeurs. La seule question est de savoir si nous aurons collectivement un rôle dans leur choix – et donc dans la manière dont ces valeurs sont garanties – ou si nous laisserons aux codeurs le soin de choisir nos valeurs à notre place. »

Quatorze ans plus tard un autre juriste, très impliqué dans le registre de la documentation, Lionel Maurel, alias Calimaq, dans un article intitulé : Comment « Code Is Law » s’est renversé en « Law Is Code », https://scinfolex.com/2014/01/24/comment-code-is-law-sest-renverse-en-la…, montre que le changement d’architecture pressenti par Lessig pouvait « machiniser la loi », la rendant insoupçonnable, non interrogeable et implacable :

« parce que le Code d’Internet a été construit sur des bases antagonistes avec celles de la propriété intellectuelle, l’axiome de Lessig tend aujourd’hui à se renverser : « Code Is Law » devient de plus en plus « Law Is Code ». Les principes du droit d’auteur peuvent en effet être transcrits en langage machine et interprétés automatiquement par des algorithmes. C’est la logique depuis longtemps à l’œuvre derrière les DRM (Digital Rights Management), première tentative technique d’agir sur le Code pour le mettre en conformité avec la loi. Mais au-delà des DRM, le « Droit de Regard de la Machine » déborde aujourd’hui les simples verrous numériques pour déboucher sur des systèmes de surveillance et de contrôle à grande échelle. ContentID, le Robocopyright de YouTube qui compare constamment les vidéos à des empreintes fournies par les titulaires de droits, donne par exemple une image de ce que peut devenir une application mécanisée du droit d’auteur déployée au niveau de l’une des plus grandes plateformes au monde. Faite à l’origine pour être interprétée et appliquée par des humains, la loi aujourd’hui se machinise ; elle peut entrer « dans le code » et ce mouvement provoque des conséquences susceptibles d’altérer en profondeur l’équilibre des libertés en ligne. »

Toutes proportions gardées, construisons deux analogies. Si la proposition « Code is Education », peut être portée par le mouvement du logiciel libre, montrons qu’il serait préjudiciable de le transformer en « Education is Code », c’est-à-dire de confier l’acte éducatif émancipateur à n’importe quel support qui serait porteur, dans ses rouages techniques, de dispositifs de confiscation. Soit de réduire le droit de regard de l’éducateur et de l’éduqué au droit de regard d’une technologie invasive qui introduirait dans ses mécanismes des couches logicielles intrusives.

Montrons, d’une part, que l’architecture de codage du logiciel libre est, en soi, éducative.
Mais montrons, d’autre part, qu’il ne faudrait pas prendre la partie pour le tout. Ni croire que toute séquence de code, toute plateforme logicielle, serait en soi éducative, que tout code serait éducation.

Code is Education. L’architecture de codage du logiciel libre est, en soi, éducative.

Dans son texte de la philosophie GNU, sur le site de la Free Software Foundation, intitulé Pourquoi les écoles devraient utiliser exclusivement du logiciel libre (https://www.gnu.org/education/edu-schools.fr.html) Richard Stallman rappelle les fondamentaux :

« L’école a une mission sociale celle de former les élèves à être citoyens d’une société forte, capable, indépendante, solidaire et libre. Elle doit promouvoir l’utilisation de logiciel libre tout comme elle promeut la conservation des ressources naturelles et le vote. En formant les élèves et étudiants au logiciel libre, elle donnera leur diplôme à des citoyens prêts à évoluer dans une société numérique libre. Cela aidera la société toute entière à échapper à la domination des multinationales. En revanche, enseigner un programme non libre revient à implanter la dépendance, ce qui va à l’encontre de la mission sociale de l’école. Les écoles ne doivent jamais le faire. »

En effet, le logiciel libre qui promeut les quatre libertés que sont la liberté d’exécuter le programme, la liberté d’étudier le programme pour éventuellement le modifier, la liberté de le copier et la liberté d’en distribuer des copies, modifiées ou non, permet au discernement et à la créativité de ceux qui apprennent une libre expression :

« Le logiciel libre permet aux élèves et étudiants d’apprendre comment les programmes fonctionnent. Certains programmeurs-nés, une fois adolescents, ont soif d’apprendre tout ce qu’il y a à savoir de leur ordinateur et de ses logiciels. Ils sont extrêmement curieux de lire le code source des programmes qu’ils utilisent tous les jours. »

Alors que les logiciels non libres verrouillent le code source, à plus forte raison lorsqu’ils captent des données de navigation à l’insu de l’utilisateur, jouent sur une crédulité et vont jusqu’à dissuader de connaître. Richard Stallman se réfère à la soif d’apprendre des programmeurs-nés ( natural-born programmers) , soit des jeunes qui sont très doués qui progressent rapidement dans cette discipline, soit plus largement au adolescents dont la curiosité est restée intacte et agit en véritable moteur pour un exceptionnel potentiel de progression dans l’écriture du code.

« Le logiciel privateur rejette cette soif de connaissance ; il dit : « Le savoir que tu recherches est un secret – apprendre est interdit ! » Le logiciel privateur est par essence l’ennemi de l’éducation, aussi ne doit-il pas être toléré à l’école, sauf comme objet de rétro-ingénierie. »

Code is Education au sens où une certaine informatique peut donner de l’appétit, et des ailes :

« Le logiciel libre encourage tout le monde à apprendre. La communauté du logiciel libre rejette ce « culte de la technologie » qui maintient le grand public dans l’ignorance de son fonctionnement ; nous encourageons les élèves et étudiants de tous âges et toutes origines à lire le code source et à apprendre autant qu’ils veulent savoir. Les écoles qui utilisent du logiciel libre permettent aux apprentis programmeurs doués de progresser. Comment les programmeurs-nés apprennent-ils à être de bons programmeurs ? Ils ont besoin de lire et de comprendre de vrais programmes que les gens utilisent réellement. On apprend à écrire du code bon et clair en lisant beaucoup de code et en écrivant beaucoup de code. Seul le logiciel libre le permet. »

Savoir technique-pratique, donc, mais aussi plus que cela. Richard Matthew Stallman fait état du pouvoir humanisant de la pratique du code, si le code est effectivement éducatif ; il amène les apprenants à se dépasser, en exerçant leur libre arbitre et leur sens de l’autre :

« La raison la plus profonde d’utiliser du logiciel libre dans les écoles concerne l’éducation morale. Nous attendons de l’école qu’elle enseigne aux élèves et étudiants des connaissances de base et des compétences utiles, mais c’est seulement une partie de sa mission. Sa mission la plus fondamentale est d’enseigner la bonne citoyenneté, y compris l’habitude d’aider les autres. Dans le domaine de l’informatique, cela signifie apprendre aux élèves à partager les logiciels. Il faut qu’on leur dise dès la maternelle : « Si tu apportes un logiciel à l’école, tu devras le partager avec les autres élèves. Tu dois montrer le code source à la classe, au cas où quelqu’un voudrait s’instruire. »

Le texte se conclut alors par un appel à tous les partenaires de l’éducation :
« Si vous êtes dans le milieu de l’enseignement – que ce soit comme élève, étudiant, enseignant, employé, administrateur, donateur ou parent – il est de votre responsabilité de faire campagne pour que l’école migre vers le logiciel libre. Si une demande faite en privé ne permet pas d’atteindre ce but, portez la question sur la place publique dans ces communautés ; c’est ainsi que les gens prendront conscience du problème et que vous trouverez des alliés dans votre campagne. »

Lorsque le 17 mars dernier, le professeur que je suis a dû très rapidement reconfigurer sa pratique pédagogique pour continuer à préparer les étudiants de seconde année aux concours des grandes écoles scientifiques et économiques, ceux de première année à la seconde année, mon enseignement, comme celui de mes collègues, a reposé tout entier sur des lignes de code, permettant une continuité entre les apprentissages et exercices accomplis in vivo et les modalités de substitution, à distance, qu’elles soient en audio ou en vidéo. En prenant bien soin de n’utiliser que des plateformes irréprochables, non intrusives, respectueuses de l’autonomie du professeur et de ses élèves, pour éviter l’appropriation indue de données d’autant plus sensibles qu’elles concernent le lien entre un enseignant et des adultes en construction qui ont besoin de pouvoir s’exercer à écrire et à parler sur des dispositifs hautement sécurisés. Par exemple, la plateforme education.apps (https://apps.education.fr/), proposant des outils logiciels libres est soucieuse de bonnes pratiques ; elle écrit sur sa page d’accueil :

« Vous y trouverez les outils essentiels et communs à tous les métiers de l’Éducation nationale. Les utilisateurs sont propriétaires de leurs données et sont, de fait, en charge de leur gestion. »

Mais toute informatique n’est pas éducative. Education is not Code.

Il ne faudrait pas prendre la partie pour le tout. Ni croire que toute séquence de code, toute plateforme, est en soi éducative, que tout logiciel peut être, les yeux fermés, proposé à des élèves ou des étudiants. Certes, avec la meilleure intention du monde, certains ont pu, dans l’urgence, ouvrir pour leurs classes des dispositifs informatiques sans en contrôler les licences ni les certifications d’innocuité. Et s’apercevoir que certaines caractéristiques pouvaient s’avérer toxiques, comme permettre le siphonnage sans vergogne des métadonnées des élèves. Il est alors essentiel de rectifier le tir. L’éducation ne saurait s’en remettre à n’importe quelle informatique.

Dans le Protagoras de Platon ( https://fr.wikisource.org/wiki/Protagoras_(trad._Chambry ), de 313c à 314b, le personnage Socrate demande ainsi à son interlocuteur de fiction, Hippocrate, homonyme du fameux médecin, s’il ne prend pas un risque considérable à confier son esprit au sophiste Protagoras dont les discours sont peut-être empoisonnés.

« Est-ce qu’un sophiste, Hippocrate, n’est pas une sorte de marchand et de trafiquant des denrées dont l’âme se nourrit ? […] aussi faut-il craindre, ami, que le sophiste, en vantant sa marchandise, ne nous trompe comme ceux qui trafiquent des aliments du corps, marchands et détaillants ; ceux-ci en effet ignorent ce qui, dans les denrées qu’ils colportent, est bon ou mauvais pour le corps ; mais ils n’en vantent pas moins toute leur marchandise, et leurs acheteurs ne s’y connaissent pas mieux, à moins qu’il ne s’y trouve quelque maître de gymnastique ou quelque médecin. »

Platon joue ici sur les deux sens du terme grec pharmakon, qui signifie aussi bien le remède que le poison.

« Si donc tu sais ce qu’il y a dans ces marchandises de bon ou de mauvais pour l’âme, tu peux sans danger acheter les sciences et à Protagoras et à tout autre ; sinon, prends garde, bon jeune homme, de hasarder sur un coup de dés ce que tu as de plus cher ; car le danger est beaucoup plus grand dans l’achat des sciences que dans l’achat des aliments ; si en effet on achète des vivres et des boissons à un détaillant ou à un marchand, on peut les emporter dans les vases appropriés, et, avant de les introduire dans le corps en les buvant et en les mangeant, on peut les déposer chez soi, consulter, et faire appel à quelqu’un qui sait ce qu’il faut manger ou boire, et ce qu’il ne faut pas, combien il faut en prendre, et à quel moment, de sorte qu’on ne court pas grand danger à les acheter ; mais les sciences, on ne peut les emporter dans un autre vase, il faut, le prix payé, loger dans son âme même la science qu’on apprend et s’en aller, empoisonné ou conforté. »

Il en va de certains pourvoyeurs de logiciels comme des sophistes. Sous couvert de panacée, de remède universel, ils prétendent que l’éducation peut se fier à n’importe quelle informatique, que toute informatique fait du bien à qui l’utilise. Qu’un logiciel ne peut jamais faire de mal puisqu’un élève doit au moins apprendre à s’adapter à lui.

Préférons alors à ces outils logiciels peu soucieux d’éveiller le libre arbitre une informatique capable de se comporter effectivement en amie prodigieuse. L’informatique libre par laquelle « Code is Education ».

Si « Code is Education », il faut cependant rester très méfiant. Car, si l’exigence d’une informatique libre est nécessaire, elle n’est pas suffisante. Les extraordinaires capacités de suivi des élèves par Moodle montrent que des limites peuvent apparaître dans la relation entre les valeurs de l’utilisateur et celles du créateur de code. À l’instar de l’incroyable utilisation des logiciels libres par les GAFAM, il faut relever que l’utilisation de logiciels libres au sein du monde de l’éducation ne garantit pas une éducation libre.

27. Git et les branches

Git est un formidable outil de suivi de version que j’utilise quotidiennement pour mes scripts (LaTeX, python, bash, …). Il n’est pas nécessaire de faire de la programmation pour l’utiliser. Je vais ici présenter la manière de réaliser un travail sur deux branches d’un script LaTeX versionné sous git.

La raison du passage sur une autre branche que « master » tient dans l’évolution du module « siunits » vers la version plus performante « siunitx ». Ces deux modules sont incompatibles, car la commande principale « \units{…}{…} » du premier a été remplacée par « \SI{…}{…} » dans le second. Or, le nombre d’occurrences de cette commande dans mon script étant important et des spécificités d’écritures propres au module « siunits » étant possibles, il était dangereux de travailler directement sur la branche « master ». On va donc créer une branche « unites », travailler sur celle-ci et quand toutes les modifications seront faites et que la compilation sera à nouveau fonctionnelle, on fusionnera les modifications faites dans la branche « unites » dans « master ».

Voici comment on peut procéder. Avant de créer une nouvelle branche, on vérifie qu’il n’existe que la branche master grâce à la commande :

git branch

qui devrait retourner « master » (en pressant sur Q on revient à l’invite de commande). On peut voir l’ensemble des branches avec leur dernier commit grâce à :

git branch -v

Avant le nom de la branche se trouve une étoile (*) qui montre la branche sur laquelle on se trouve actuellement.

On crée alors la nouvelle branche ainsi :

git branch unites

La commande « git branch » précédente retourne alors non seulement « master » mais aussi « unites ». La branche « master » reste cependant la branche de travail, comme le montre la présence de l’étoile devant celle-ci.

La branche « unites » est donc créée. Mais si on effectue des modifications sur les fichiers du dépôt, ces modifications seront reportées sur la branche « master ».

Pour changer de branches, il faut utiliser :

git checkout unites

La commande « git branch » présente alors une étoile devant la branche « unites ». On est sur la nouvelle branche.

On peut alors effectuer des modifications sur les fichiers du dépôt, comme par exemple, ajouter une ligne de commentaire : « % blabla » dans le fichier principal, main.tex par exemple.

Ensuite, on vérifie que les changements existent pour cette branche :

git status

Puis, on les ajoute pour le commit :

git add .

On effectue le commit :

git commit -m 'Ajout commentaire'

Et on verse ce commit au dépôt :

git push -u origin unites

et non :

git push -u origin master

puisque sur le dépôt « origin », on veut atteindre la branche « unites ».

Si maintenant, on veut revenir à la branche « master », il faut savoir qu’il est nécessaire d’avoir réalisé toutes les opérations de commit précédemment. Sans quoi le changement ne sera pas autorisé.


Et là on assiste à un miracle. Oui, oui, un miracle. Car en revenant à la branche « master » par :

git checkout master

et en éditant le fichier main.tex, on peut constater la disparition du commentaire.

Pour moi, c’est simplement fou, car cela signifie qu’en changeant de branche, l’ensemble des modifications réalisées sur la branche « unites » a été annulé. Toutes les modifications ont disparu. Et quand on retourne sur la branche « unites », le miracle continue, le commentaire réapparaît, ce qui signifie que toutes les modifications sont revenues.

On peut ainsi, sur la branche « unites » effectuer une compilation, qui peut bien ou mal se dérouler, quand on reviendra sur la branche « master », tous les fichiers issus de la compilation du main.tex de cette branche seront restaurés et une nouvelle compilation se déroulera correctement.

Il faut renouveler le WAHOO du miracle qui s’est accompli et évidemment les milliers de merci à tous les développeurs qui nous fournissent avec bienveillance cet outil formidable.


Après qu’une branche ait été créée, en n’oubliant pas de s’y placer par un checkout, on peut donc travailler en toute tranquillité sur celle-ci. Dans mon cas, j’ai remplacé le module siunits par siunitx dans un fichier contenant le préambule de mon fichier .tex principal. Puis, dans plein d’autres fichiers, j’ai du changer la commande LaTeX \unit{…}, propre au module siunits, par la commande \SI{…} propre au module siunitx. De plus, pour écrire un symbole d’unité pour l’ampère, par exemple, siunits permet \ampere, alors que siunitx demande \si{\ampere}. Enfin, les chiffres ne pouvant être notés comme \SI{10’000\cdot 10^3}{\metre}, par exemple, en raison du séparateur des milliers et du \cdot, il a fallu convertir cela en \SI{10000e3}{\metre} pour que la compilation fonctionne. Ce fut long.

Entre temps, je pouvais à loisir continuer de travailler sur la branche master pour avancer à la rédaction de mon cours. C’est incroyablement pratique.


Et enfin venu le moment où j’ai fini les modifications liées au module siunitx. Sur la branche unites, j’ai fait une dernière compilation pour vérifier que tout se passait bien et ai considéré la migration du module siunits vers siunitx comme terminée.

Il fallait maintenant fusionner les deux branches, ou plutôt, fusionner la branche unites dans la branche master. Pour ce faire, il faut d’abord de placer sur la branche dans laquelle la fusion doit être réalisée :

git checkout master

Puis, très simplement, faire la fusion :

git merge unites

En quelques secondes tout était prêt. Aucun conflit n’ayant été détecté, j’ai simplement compilé le fichier .tex principal de mon cours pour voir si tout avait bien fonctionné. Ce fut le cas. Tout les changements effectués sur la branche unites étaient passés dans la branche master et celle-ci compilait parfaitement.

Restait une dernière étape à réaliser. Comme aucun changement n’étaient plus à faire sur la branche unites, il fallait la supprimer :

git branch -d unites

Restait en fin à pousser tout cela sur le dépôt distant :

git status
git add .
git commit -m 'Fusion de la branche unites réalisée'
git push origin master

Ce fut une vraie partie de plaisir que je vous souhaite.

Surveillance de masse

Nous reproduisons ici un texte fondamental quant à la compréhension de l’idée qu’aucune technique n’est neutre et que chacune porte en elle-même un projet politique, une vision du monde de part son existence elle-même. Ce texte est reproduit en licence libre sur le site de La Quadrature du Net et c’est pourquoi nous nous permettons de le reproduire tel quel tout en remerciant vivement ses auteurs de la clarté de leurs propos.

EDRi demande l’interdiction de la surveillance biométrique

Posted on14 mai 2020

L’association internationale EDRi, soutenue par La Quadrature du Net, lance une campagne européenne pour faire interdire la reconnaissance faciale et plus généralement la surveillance de masse biométrique. Nous publions la traduction du communiqué de lancement.

À travers toute l’Europe, des technologies de reconnaissance faciale et d’identification biométrique, intrusives et violant les droits, se répandent discrètement dans les espaces publics. Comme la Commission européenne consulte le public à ce sujet, EDRI appelle les États membres de l’UE à garantir que de telles technologies soient totalement interdites, à la fois dans la loi et dans la pratique.

Circulez, y a rien à voir…

À la fin de l’année 2019, au moins 15 pays européens ont expérimenté des technologies de surveillance de masse utilisant l’identification biométrique, comme la reconnaissance faciale. Ces technologies sont conçues pour surveiller, suivre et analyser les individus, pour les noter et les juger dans leur vie quotidienne.
Pire, plusieurs gouvernements l’ont fait en collaboration avec des entreprises technologiques secrètes, en l’absence de débat public et sans avoir démontré que ces systèmes respectent les critères les plus élémentaires de responsabilité, de nécessité, de proportionnalité, de légitimité, de légalité ou de sécurité.

Quelques milliers de caméras pour les gouverner tous

Sans la vie privée, vous n’avez plus de conversations privées avec vos ami·es, votre famille, votre supérieur ou même votre docteur. Votre militantisme et votreengagement pour sauver la planète sont connus de tous et toutes. Si vous lancez l’alerte pour dénoncer un fait d’exploitation ou de corruption, ou si vous assistez à une manifestation politique qui déplaît à votre gouvernement, on peut vous retrouver. Vous perdez de fait le droit d’assister à une cérémonie religieuse ou à une réunion syndicale sans qu’on garde un œil sur vous, le droit d’étreindre votre partenaire sans que quelqu’un vous regarde, le droit de flâner librement sans que quelqu’un puisse trouver ça louche.

La surveillance de masse permanente supprime le droit d’être réellement seul et instaure l’obligation d’être constamment surveillé et contrôlé.

COVID-1984 ?

Les débats autour de la pandémie de coronavirus ont vu naître des idées d’applications et d’autres propositions pour étendre rapidement les systèmes de surveillance, sous couvert de santé publique. Le risque est considérable que les dégâts causés par cet élargissement des mesures de surveillance survivent à l’épidémie. On peut se demander, par exemple, si les employeurs enlèveront les caméras thermiques des bureaux une fois la pandémie passée.

Les systèmes de surveillance biométriques exacerbent les inégalités structurelles, accélèrent la création de fichiers et de « profilages » illégaux, ont un effet intimidant sur les libertés d’expression et de réunion, et limitent les capacités de chacun·e à participer à des activités sociales publiques.

Fanny Hidvegi, responsable de la politique européenne à Access Now, insiste sur ce point :

« Les droits humains s’appliquent en temps de crise et d’urgence. On ne doit pas avoir à choisir entre la vie privée et la santé : protéger les droits numériques favorise la santé publique. La suspension des droits à la protection des données en Hongrie est la preuve que l’UE doit renforcer la protection des droits fondamentaux. »

La surveillance biométrique : une architecture d’oppression

Se présentant comme une « architecture d’oppression », la capture et le traitement non ciblé de données biométriques sensibles permet aux gouvernements et aux entreprises d’enregistrer en permanence et en détail qui vous rencontrez, où vous allez, ce que vous faites. Cela leur permet aussi d’utiliser ces informations contre vous — que ce soit par les pouvoirs publics pour faire appliquer la loi ou à des fins commerciales. Une fois ces enregistrements reliés à nos visages et corps, il n’y a plus de retour possible, nous sommes marqués au fer rouge. Il ne peut y avoir de place pour de telles pratiques dans une société démocratique.

Ioannis Kouvakas, juriste chez Privacy International (PI), membre d’EDRi met en garde :

« L’introduction de la reconnaissance faciale dans les villes est une idée extrémiste et dystopique qui menace explicitement nos libertés et pose des questions fondamentales sur le type de société dans laquelle nous voulons vivre. En tant que technique de surveillance très intrusive, elle offre aux autorités de nouvelles opportunités de s’en prendre à la démocratie sous prétexte de la défendre. Nous devons interdire son déploiement dès maintenant et de manière définitive avant qu’il ne soit trop tard. »

EDRi demande donc une interdiction immédiate et permanente de la surveillance de masse biométrique dans l’Union européenne.

La surveillance de masse biométrique est illégale

Cette interdiction est fondée sur les droits et protections consacrés par la Charte des droits fondamentaux de l’Union européenne, le Règlement général sur la protection des données (RGPD) et la Directive Police Justice. Ensemble, ces textes garantissent aux résidents de l’UE de vivre sans la crainte d’un traitement arbitraire ou d’un abus de pouvoir, et le respect de leur autonomie. La surveillance de masse biométrique constitue une violation de l’essence de ces textes et une violation du cœur même des droits fondamentaux de l’UE.

Une fois que des systèmes qui normalisent et légitiment la surveillance constante de tout le monde sont en place, nos sociétés glissent vers l’autoritarisme. L’UE doit donc veiller, par des moyens notamment législatifs, à ce que la surveillance de masse biométrique soit totalement interdite en droit et en pratique. Lotte Houwing, conseillère politique chez Bits of Freedom (BoF), membre d’EDRi, déclare :

« Les mesures que nous prenons aujourd’hui façonnent le monde de demain. Il est de la plus haute importance que nous gardions cela à l’esprit et que nous ne laissions pas la crise du COVID-19 nous faire sombrer dans un état de surveillance (de masse). La surveillance n’est pas un médicament. »

L’UE réglemente tout, des médicaments aux jouets pour enfants. Il est inimaginable qu’un médicament dont l’efficacité n’a pas été prouvée ou un jouet présentant des risques importants pour la santé des enfants soient autorisés sur le marché. Cependant, en ce qui concerne la captation et le traitement des données biométriques, en particulier à la volée dans les espaces publics, l’UE a été un foyer pour les expérimentations illégales. D’après une étude de 2020, plus de 80% des Européens sont pourtant opposés aux partages de leurs données faciales avec les autorités.

EDRi appelle la Commission européenne, le Parlement européen et les États membres à respecter leurs valeurs et à protéger nos sociétés en interdisant la surveillance de masse biométrique. S’ils s’y refusent, nous augmentons nos chances de voir naître une dystopie numérique incontrôlable.