Greboca  

DLFP - Dépêches  -  Python pour la fin de l’année 2021

 -  Décembre 2021 - 

En 2019 Oliver commençait une série de dépêches sur le langage Python, série qu’il nous promettait pour la rentrée 2019. Divers aléas ont fait que cette série n’a pu être terminée qu’en juin 2021.

Et, comme cela forme un tout cohérent et qu’il y avait, dès le départ, l’idée de les réunir, l’aboutissement est un, en fait plutôt deux epub qui compilent les dépêches et leurs commentaires parce que la maison ne se refuse rien. Ils sont sur un dépôt github avec les images de couvertures en version svg et png. Idéalement, ils devraient être sur un dépôt plutôt LinuxFr que celui-là.

Vous n’échapperez, évidemment, pas aux petits secrets d’ateliers en fin de dépêche.

Les pages de couverture

Sommaire

Un grand merci pour commencer

Merci à toutes les personnes qui ont contribué d’une façon ou d’une autre à ces dépêches, ou qui les ont commentées. Cela forme un corpus précieux qui réunit à la fois l’aspect didactique et les expériences.

Un merci tout particulier à :

  • Oliver qui a commencé la série ;
  • nokomprendo qui est l’auteur principal du chapitre 5 sur Nix (et Guix) ;
  • et à Philippe F. qui a terminé la série.

Sans oublier le remotivateur, j’ai nommé : tisaac.

Le, ou plutôt les livres électroniques

Les sujets traités

Vous retrouverez les liens en bas de la page, mais une présentation succincte s’impose. Donc, on commence par la popularité de Python (idéalement j’aurais dû mettre ça à jour, mais bon), pour dire ensuite au revoir à Python 2.

Après ces préliminaires, si je puis dire, on aborde le logiciel sous forme de tutoriels Installation, Py Pyenv, Nix et Giux, Pip et Pipx, les environnements virtuels et Pipenv. La dépêche sur le formateur de code est un retour d’expérience sous forme d’un dialogue à deux voix entre Oliver et Philippe F.

Et enfin, pour conclure en beauté, il y a une série d’entretiens d’utilisateurs du langage. Chacun avec une utilisation, et donc une expérience différente.

Une compilation commentée

On a ainsi la compilation de la série de dépêches plus les commentaires. Les commentaires n’ont, toutefois, pas été tous été repris, pas uniquement par volonté de censure de ma part, mais était-il nécessaire de garder une série de commentaires portant sur une coquille ou complètement hors-sujet ? Ce qui, au final fait très très peu de commentaires en moins (dont des miens soit dit en passant). En revanche, tous les avatars sont partis à la trappe, c’est comme ça1. J’ai opté pour ajouter un titre « Commentaires », balisé

et d’insérer des filets (que je ne vois pas sur ma liseuse) entre chaque bloc de commentaires pour les différencier. La balise

permet d’arriver directement sur les commentaires.

Par ailleurs, les seules images purement décoratives qui ont été gardées sont celles des entrées de chapitre sur lesquelles est basée la couverture des livres, soit dit en passant.

Il n’y a plus qu’une seule table des matières qui les réunit toutes. J’ai également supprimé des informations redondantes (licence par exemple) ou dépassées (PyConFR de 2019).

Le résultat final est très sûrement perfectible.

Des ? Pourquoi deux fichiers epub ?

Sur ma liseuse, les tableaux de la première dépêche sur la popularité de Python ne rendaient pas du tout et étaient illisibles. J’ai donc fait deux versions, identiques, à cela près qu’il y en a une qui a les tableaux, comme des tableaux et l’autre pour laquelle ils sont en texte, ce qui les transpose dans l’autre sens pour une meilleure lisibilité. Les classements en colonne par année et en ligne pour les langages, c’est bien quand il s’agit d’un tableau. Pour le texte, il vaut mieux avoir une ligne par année.

De cette façon, en plus c’est plus lisible pour les personnes qui ne peuvent pas lire avec leurs yeux. Et ça me paraît extrêmement important.

Où il est question de licence

Les dépêches et les commentaires d’Oliver sont sous licence CC0. Celle par défaut de LinuxFr.org est la licence CC-BY-SA 4 (Attribution ― Partage dans les mêmes conditions). Les epub sont donc sous cette dernière licence, ce qui me paraît un bon compromis.

Dans la fabrique des epub

Les logiciels utilisés

Pour arriver au résultat, j’ai utilisé l’extension pour Firefox Save as eBook dont j’avais touché deux mots ici-même en septembre 2020 et sélectionné le texte (dépêches plus commentaires) pour chaque dépêche. Ça a généré un fichier epub de base mais pas du tout communicable en l’état pour plusieurs raisons outre les éléments déjà donnés :

  • il y avait la « décoration » LinuxFr : notes, le couple pertinent-inutile, plus les « Discuter », etc. qui n’avaient plus, de mon point de vue, aucun intérêt en dehors du site ;
  • il fallait ajouter les fichiers images (qui, sinon n’apparaissent pas sur l’epub, ou nécessitent une connexion) ;
  • plus quelques fautes ici et là (je n’ai pas la prétention d’avoir tout corrigé).

Sans parler des titres des chapitres qui avaient besoin d’être homogénéisés. Et enfin, le fichier généré n’est pas terriblement bien formé apparemment. Il a fallu donc utiliser Sigil (formidable éditeur epub) pour corriger tout ça. Et, évidemment, la postface, les remerciements et la transposition des tableaux en texte ont été faits à partir de LibreOffice. La couverture, quant-à-elle a été concoctée avec Inkscape.

Travailler dans Sigil deux trois astuces

Petit rappel et au cas où : un fichier epub c’est en fait une collection de fichiers texte, ici un par chapitre, images, styles, etc. Le tout dans des dossiers bien spécifiques. Donc, quand on navigue dans Sigil pour modifier un epub, on navigue par fichier texte.

Pour tout dire, j’ai vraiment fait la connaissance de l’éditeur d’epub avec ce travail. Les éléments ci-dessous ne sont là que pour vous donner une idée de comment moi je l’ai utilisé.

Sigil a des boites détachables, comme Inkscape par exemple, je trouve ça très pratique avec deux écrans. Le principal avec le fichier à travailler, le Navigateur et la Prévisualisation dans l’autre ainsi que la boite Insérer un caractère spécial, très utile notamment pour les espaces insécables. En effet, on ne peut pas utiliser le clavier pour ça, à moins d’écrire le code html. Cela dit, avoir des connaissances de base en html est plutôt utile, ça permet de gagner du temps.

Je suggère très fortement de commencer par ouvrir l’Éditeur de métadonnées (menu Outils ou touche F8), en indiquant la langue (par défaut, chez moi c’est l’anglais apparemment), vous pourrez utiliser le module adéquat de correction orthographique (s’il y a du code, ce n’est pas forcément très utile) et en profiter pour donner un titre au document (dc:title), ainsi que d’indiquer le nom de l’auteur (dc:creator, ici j’ai mis « Collectif », c’est mieux qu’inconnu) et, éventuellement, l’éditeur (dc:publisher, ici LinuxFr.org). On peut en ajouter d’autres2. Ces métadonnées sont vraiment importantes.

On peut utiliser les fonctions de recherche et de remplacement soit par fichier, soit pour tous les fichiers.

Revoir la table des matières est également indispensable, ne serait-ce que pour lui donner son nom, chez moi c’était « Table of Contents », pour un livre en français, ça ne sonne pas terrible. Noter que, quand on la génère, on peut sélectionner les niveaux retenus.

Pour les images, il faut commencer par les ajouter dans le dossier Images via le Navigateur et ensuite on peut les insérer dans le fichier texte sur lequel on travaille. Et, c’est aussi dans le Navigateur qu’on réorganise l’ordre des chapitres et on met la table des matières où on veut (par défaut elle est en deuxième position, je l’ai déplacé tout à la fin). Curieusement, si Sigil accepte les images au format svg pour les illustrations, il les refuse pour la couverture.

Et, évidemment, le logiciel est capable de corriger un fichier epub pas très correct.

Transposer les tableaux

J’imagine qu’il est possible de faire un script pour ça, mais j’en serais bien incapable. Donc la procédure que j’ai utilisée, plus rapide à faire qu’à décrire :

  1. copie du tableau à partir de la dépêche ;
  2. collage dans Calc puis à nouveau copie de ce tableau dans Calc ;
  3. toujours dans Calc, collage transposé ;
  4. ajout des colonnes supplémentaires là où il faut, pour ici ajouter le rang du langage, les balises (ici

    et pour chaque ligne mais aussi et pour la mise en relief), rentrer le premier élément d’une colonne (par exemple le numéro avec les fioritures pour la lecture), sélectionner les cellules de la colonne et faire un Ctrl + D pour que tout ça se recopie vers le bas ;
  5. copier et coller sans mise en forme le tableau dans Writer pour le transformer en texte ;
  6. copier le texte obtenu et le coller dans Sigil.

La question finale

Il y en aura d’autres ?

Non !

Sur ce bonne lecture et bonne fin d’année.


  1. Il aurait peut-être été intéressant de les garder, malgré le travail supplémentaire que cela impliquait de les ajouter, si tout le monde avait eu un avatar personnalisé. Ce qui n’est pas le cas. 

  2. DC : pour métadonnées du Dublin Core qui traite de la description des ressources informatiques. 

Commentaires : voir le flux Atom ouvrir dans le navigateur

par Ysabeau, Nils Ratusznik, palm123

DLFP - Dépêches

LinuxFr.org

Tribune April : Techsoup et Solidatech, instruments d'influence

 -  27 mars - 

Après une première position sur Solidatech en 2020, l'April a passé à nouveau du temps pour étudier et comprendre la place des structures Solidatech (...)


TuxRun et le noyau Linux

 -  27 mars - 

Il y a quelques années, je vous avais présenté TuxMake, un utilitaire pour faciliter la (cross-)compilation du noyau Linux supportant une grande (...)


Retour d’expérience sur l’utilisation de GrapheneOS (ROM Android libre)

 -  18 mars - 

Suite à la dépêche Comparatif : GrapheneOS vs LineageOS, je souhaitais faire part d’un retour d’expérience sur l’utilisation de GrapheneOS sur un (...)


Ubix Linux, le datalab de poche

 -  16 mars - 

Ubix Linux est une distribution Linux libre et open-source dérivée de Debian.Le nom « Ubix » est la forme contractée de « Ubics », acronyme issu de (...)


Open Food Facts : récit d’un contributeur

 -  15 mars - 

Récit de mon aventure en tant que contributeur pour le projet Open Food Facts, la base de donnée alimentaire ouverte et collaborative, où je suis (...)