Perspectives et envies pour 2019 – développement logiciel

Suite de mes envies et perspectives pour l’année 2019 et suivantes. Si vous ne l’avez pas encore fait, vous pouvez lire la première partie sur les formations et cours en ligne.

Héritage

J’ai commencé ma carrière professionnelle comme développeur de jeux vidéo chez Lankhor, expérience qui a forcément teinté la suite de ma vie (le forcément est expliqué dans cet entretien après les pistes de ski). Depuis je ne me suis pas arrêté de programmer, même si le rythme a été beaucoup moins soutenu : ce fut des scripts d’administration système (Bash, Perl), du développement Web (PHP). Dispersion ? Pas si sûr… Et puis zut, faut pas sacrifier les activités plaisantes.

Ski Park Manager

J’ai même commencé deux extensions en Python (une pour GIMP, l’autre pour Scribus) et là, ça vaudrait le coup de les publier, voire de les poursuivre ; un outil pas fini mais qui me contente c’est bien, mais un outil finalisé utilisable par d’autres c’est mieux. Du coup, je les publie (lire la suite).

Un gestionnaire de guides pour GIMP

Si vous avez déjà utilisé Scribus et son gestionnaire de repères (par ligne et par colonne) vous avez peut-être pesté sur le côté fastidieux pour créer des guides dans GIMP (ça s’appelle guide dans GIMP et repère dans Scribus, mais c’est la même chose).

J’ai donc créé une fenêtre qui vous permet de choisir combien de guides verticaux et horizontaux vous souhaitez, sachant qu’ils seront répartis uniformément. Enfin, presque, c’est là que j’ai des choses à améliorer. En effet, dans Scribus, vous travaillez sur une page mesurée en millimètres (ou autre unité du monde réel) qui est divisible. Dans GIMP, votre image est constituée de pixels qui eux, ne se divisent pas. D’où la difficulté à diviser en colonnes et lignes de taille vraiment égale.

Vous pouvez télécharger cette extension sur Framagit : https://framagit.org/dimitrirobert/gimp-guide-manager

Je ne m’en sers pas souvent mais je pense qu’il peut être utile à un concepteur de sites Web (ce que j’aspirais à être à l’époque).

Importer des grands tableaux dans Scribus

Les tableaux et Scribus ça fait deux. Même si la version 1.5 apporte une véritable entité tableau (alors que jusqu’à la version 1.4, les tableaux ne sont que des groupes de cadres de texte), ce n’est pas encore la panacée. Notamment, il n’est pas possible d’importer un tableau réalisé dans un autre logiciel (LibreOffice Calc au hasard).

Oui, il y a bien un script nommé « importcsv2table » et je l’ai essayé. Du coup, j’ai commencé à le modifier. Vous pouvez le voir en action dans la vidéo Scribus : importer un tableau au format CSV (ainsi que des explications écrites sur son fonctionnement pas très intuitif).

Et le télécharger également sur Framagit : https://framagit.org/dimitrirobert/scribus-plugin-import-large-csv

Ce script fut motivé en préparation d’une formation avec des archéologues, dont les rapports comportent précisément des tableaux qui s’étalent sur plusieurs pages. Le script fait le travail, même si le résultat reste des groupes de cadres de texte (du coup, c’est compatible avec Scribus 1.4). N’oubliez pas que vous pouvez accéder au contenu d’un cadre groupé avec Alt + clic, sans dégrouper.

Gérer des formations professionnelles

Là c’est du lourd, un outil parti de rien ou presque. À la base, une certaine frustration à remplir des modèles de document dans LibreOffice Writer et dans Scribus pour produire tous les documents nécessaire à l’organisation d’une formation. Le programmeur qui sommeille en moi s’est dit qu’il fallait faire quelque chose.

Nous avons un site permettant de faire la promotion des formations, de gérer plus ou moins les inscriptions. Nous avons aussi un outil de gestion pour éditer devis et factures, Autonomie, un logiciel adapté aux coopératives d’activités et d’emploi. Mais il manque(ait) la brique intermédiaire, celle qui peut gérer tous les documents administratifs et les procédures exigées par Datadock.

On dit souvent qu’il vaut mieux réutiliser des briques existantes plutôt que de réinventer la roue. Mais, je pense que trop de briques engendre un trop forte dépendance aux producteurs de ces briques : une seule brique peut fragiliser l’ensemble. J’ai donc opté pour du neuf s’appuyant sur de l’existant solide : j’ai commencé le développement d’une extension pour WordPress.

Cela présente plusieurs avantages : WordPress est un logiciel libre très répandu et suivi. C’est un gestionnaire de contenu en ligne, donc, la partie promotion des formations, des dates de session, des commentaires est facile à gérer. Mais un inconvénient flagrant, il faut installer une instance de WordPress (j’avoue, je n’ai pas vérifié si cette extension peut être installée sur une version multisite, ça fait partie des choses à faire).

Je n’ai pas géré l’interconnexion avec un logiciel de gestion, donc, pas de création de facture : cela aurait alourdit le développement inutilement. En revanche, il est sans doute possible de créer des passerelles facilitant la création des factures. À voir.

Cette extension, pour l’instant nommée wp-organisme-de-formation (peut-être faudrait-il lui trouver un nom plus original), est diffusée sous licence GPL sur Framagit : https://framagit.org/dimitrirobert/wp-organisme-de-formation

Ne vous emballez pas, elle n’est pas facile à configurer. Non parce que j’aurais voulu faire du faux libre (un logiciel diffusé sous licence libre inutilisable sans aide du développeur), mais parce que la partie assistance à la configuration n’est pas faite. Et même, une fois configurée, c’est pas encore gagné.

L’objectif des prochaines semaines est de rendre cet outil utilisable par d’autres personnes que moi. Mais, sachez que j’ai déjà géré deux vraies formations inter-entreprise l’année dernière. J’ai rédigé un point d’étape, un état des lieux de ce qui fonctionne, ce qu’il faut changer et ce qu’il faut ajouter.

L’idée ensuite étant de démarcher les organismes de formation qui souhaitent contribuer au développement et/ou au financement.

Autres idées

Quelques idées en passant :

  • dans Scribus, pouvoir importer un texte avec ses notes de bas de page (ou de fin de document) ; cette fonction a existé brièvement en 2015 puis a disparu avec la refonte du système de gestion de notes…
  • dans Scribus toujours, pouvoir importer un document tableur (au format CSV pour commencer) et ranger les données qu’il contient dans les cadres de texte correspondant : par exemple, pour éditer un programme événementiel, il suffirait de créer la maquette, prévoir les emplacements des différentes informations (titre du spectacle, lieu, heure, infos diverses, etc.), d’importer le tableur où toutes ces informations sont classées et d’ajuster la mise en page.
  • encore dans Scribus, je ne trouve pas satisfaisant l’import de document texte (Word ou LibreOffice Writer) ; je ne sais pas si je serais capable de l’améliorer (ça fait quelques années que cela dure), mais j’aimerais faire une extension d’import de texte au format Markdown avec création de styles de paragraphes et de caractères. Si cela fonctionne, j’intégrerai un peu de Markdown dans mes formations Scribus. Et cela me permettrait d’avoir une chaîne de production documentaire qui crée une version Web et une version papier à partir d’une même source Markdown.
  • depuis GIMP 2.10, l’extension Separate+ qui permet de créer des images en CMJN, ne fonctionne plus aussi bien (et pour cause, elle n’est plus maintenue depuis…). Il n’y a peut-être pas grand chose à corriger pour tenir jusqu’à la sortie de GIMP 3. Mine de rien, je me servais pas mal de cette extension pour produire des effets d’encrage sur des affiches. Ou alors je regarde du côté de Krita.

Y a plus qu’à

Je ne garantirais pas que cette liste soit exhaustive. Je reviendrai sur les avancées des divers chantiers sur ce blog.

De plus, je voudrais rafraîchir ce site Web (oui, j’avais dit que je ne faisais plus de Web, mais là c’est le mien), que les informations importantes soient plus facile d’accès. Faire quelque chose de plus sobre (commencer par supprimer le diaporama qui ne sert à rien). Peut-être même ne faire qu’un seul site avec celui des cours en ligne.

Perspectives et envies pour 2019 – formation et connaissances

Pour faire suite à mon bilan 2018, voici mes perspectives et envies pour 2019 (et sans doute un peu plus loin, parce que c’est pas les idées qui manquent). Et comme finalement l’article est très long, je le coupe en deux. Voici donc la première partie.

Dix ans déjà

Ce bilan 2018 vient, je l’espère clôturer une période d’errances même si le mot est un peu fort et que je ne regrette rien. Revenons dix ans en arrière lorsque je décide de mettre en œuvre cette idée d’animer de la formation (idée qui a germé en 2005 après mon expérience de rédacteur en chef de Linux Pratique et pendant la rédaction de mon premier livre sur GIMP). Nous étions deux et avons entamé la création d’une entreprise. Ce sera d’abord une association car plus simple (le croyions-nous) et nous permettait de bénéficier de certaines aides (mais qui dit aides, dit contre-parties et orientation du projet d’origine dans une direction pas toujours souhaitée).

Ce fut ensuite une Scop, mais toujours à deux. Je vous le dis aujourd’hui, il ne faut pas monter une Scop à deux : en Scop, vous avez la contrainte de financer deux salaires temps plein tous les mois (comptez-donc au minimum 50000 € de chiffre d’affaire à réaliser sur l’année, à deux). À cinq c’est mieux, ça fait trois personnes de plus pour réaliser les 50000 € minimum. Bien sûr personne n’est payé à plein temps, mais c’est généralement le cas quand on démarre une activité ; sauf, bien sûr, si vous montez une start-up de production de ventilateurs qui levez des fonds auprès de business angels avec l’intention d’être côtés en bourse (mais je parle de créer une activité utile).

La formation ça peut rapporter gros, en tout cas, ça en a la réputation. Mais encore faut-il la vendre et la concrétiser. Donc, comme il faut faire rentrer des sous rapidement, la tentation est grande de proposer d’autres services, surtout lorsque les compétences sont là. Donc dispersion, fatigue et l’on finit par faire mal les choses.

En 2014, lorsque nous avons fermé Libres à Vous et que j’ai intégré Artéfacts, je n’avais plus la contrainte du chiffre d’affaires (un coopérateur a le droit de s’auto-exploiter), mais je me suis tout de même dispersé.

Donc, aujourd’hui je sais ce que je ne veux plus faire et ai une idée plus précise de ce que je veux faire (ce qui ne veut pas dire que c’est figé, mes envies évolueront sans doute, et c’est normal). Par exemple, je ne veux plus faire de site Web. Installer et maintenir des ordinateurs sous Linux, pourquoi pas, mais dans un rayon de dix kilomètres autour de Chinon, du service local donc.

Formation

La formation va rester le cœur de mon activité. D’abord parce que l’an dernier j’ai enfin atteint un volume significatif (33 journées, presque 26000 € de CA, des stagiaires variés et contents). Mais surtout parce que ça me plaît !

J’aime transmettre ce que je sais, même si parfois j’y mets trop d’enthousiasme et donne trop d’informations par rapport à ce qui est humainement assimilable (mais je me soigne). Je reçois aussi : il n’est pas rare que des stagiaires me posent des problèmes auxquels je n’avais jamais pensé. Trouver la solution est très réjouissant et accroît mes connaissances (en plus de celle des stagiaires).

Je voudrais développer des parcours de formation thématiques, sur un domaine d’activité qui font intervenir plusieurs logiciels. C’est déjà le cas sur la mise en pages (GIMP, Inkscape et Scribus) mais cela pourrait être plus précis. Je songe notamment à une formation sur l’édition d’un programme d’événements (ce qui nécessite un peu de développement au niveau de Scribus, une extension qui saurait lire un format tableur et insérer les données dans les bonnes cases de la maquette).

Pratiquant occasionnellement le montage vidéo depuis quelques temps je voudrais également développer des formations sur cette activité. Et le montage fait appel à plusieurs logiciels : l’an dernier j’ai réalisé une bande-annonce pour un festival pour laquelle j’ai travaillé avec GIMP, Inkscape, Synfig Studio, SlowMoVideo et enfin Kdenlive pour le montage final. La bande-son étant un extrait d’une chanson, j’aurais pu utiliser Audacity pour la découper proprement (mais un silence opportun tombait pile poil à la fin de la vidéo).

Sur le plan administratif vous savez peut-être que 2019 marque le début d’une grosse réforme de la formation professionnelle. Nous étudions cette réforme de près afin de réaliser les démarches nécessaires pour continuer à pouvoir proposer de la formation.

Connaissances

Pour bien assumer ces formations, je souhaite toujours étancher ma soif de connaissance. Il y a quelques logiciels que j’aimerais apprendre à utiliser ou approfondir ce que je sais déjà.

Synfig Studio

Ce logiciel d’animation vectorielle semble proposer d’énormes possibilités. Et comme tout ce qui est énorme, difficile d’en faire le tour. J’utilise déjà Synfig Studio, mais je suis encore loin de pouvoir proposer une formation dessus, tout au plus, l’intégrer à une formation de montage vidéo pour créer des titres animés.

En effet, avec Synfig Studio vous pouvez produire du dessin animé (bien qu’il ne dessine pas à votre place) mais aussi faire du motion design (que l’on pourrait nommer en français animation graphique).

Un logiciel méconnu mais prometteur.

Krita

Krita est le concurrent direct de GIMP, sans être son équivalent. Je l’ai utilisé sérieusement une fois, lors d’un atelier organisé par Outils libres alternatifs qui portait sur le storyboard animé (Krita pour les croquis, Blender pour l’animation).

Blender

Vieux rêve que de savoir utiliser Blender. Donc, j’ai déjà utilisé Blender, essentiellement le module de montage vidéo. Même s’il ne fait pas que ça, Blender est un bon logiciel de montage vidéo, la troisième dimension apportant une approche intéressante.

Bien sûr la partie modélisation 3D m’intéresse aussi.

Des outils de scénarisation pour le Web

Je voudrais mettre en page mes cours et vidéos en ligne de manière originale et pas forcément linéaire. Aussi je m’intéresse à des outils comme Sozi (autonome ou extension pour Inkscape) et Twine (outil pour rédiger des histoires du genre « un livre dont vous êtes le héros »). Il me faudra, sans doute, renforcer mes connaissances en Javascript pour maîtriser les interactions notamment sur les vidéos.

Supports de cours

J’essaie de maintenir à la fois des cours écrits (sur GIMP et sur Scribus, tous deux commençant à vieillir sérieusement) et je produis des tutoriels vidéo référencés sur mon blog (avec un petit texte d’accompagnement) et sur ma chaîne Vimeo (bien que je n’ai pas encore pris le temps de ranger tout ce qui s’y trouve, notamment des captures vidéo réalisées en direct pendant certaines formations pour laisser une trace plus vivantes aux stagiaires, donc, sans voix, sans montage). Je voudrais maintenir ces cours à jour et continuer à les diffuser sous licence libre.

Écrit

Au-delà de ces cours centrés sur un logiciel je souhaite rédiger (voire éditer) un cours sur le processus de mise en pages avec les logiciels GIMP, Inkscape, LibreOffice Writer et Scribus. Un cours sur un thème précis, un métier et pas seulement sur un logiciel en particulier.

La question du support se pose évidemment. Le numérique ayant l’avantage de l’évolution facile alors que le papier est figé. Le papier a encore ses adeptes (j’en fait partie). En revanche, je ne suis pas convaincu que le numérique soit plus écologique que le papier.

Jusqu’ici je structurais mes textes avec Asciidoc, qui n’est plus maintenu. Même si je trouvais Markdown plus simpliste, c’est lui que j’ai aujourd’hui adopté. Sa simplicité est surtout un atout : il est possible de convertir du Markdown dans une riche variété de formats (merci Pandoc). Je pourrai donc produire du papier comme du Web. Il y aura quelque chose à ce propos dans la seconde partie de cet article (à paraître bientôt).

Publier un nouveau livre ? Pourquoi pas, mon livre sur GIMP est épuisé depuis longtemps et de toute façon, il a vieilli (publié en juin 2013). Surtout que des collègues sont en train de lancer une maison d’édition. D’ailleurs, ils ont lancé un financement participatif pour les deux premiers livres édités ; ça s’appelle « Carnet de sel » et vous pouvez les soutenir.

Vidéo

J’ai découvert l’année dernière la plateforme Udemy et ai investi dans quelques cours (notamment celui sur Synfig Studio, très clair et bien construit). J’ai aussi visionné bon nombre de tutoriels gratuits sur Youtube, mais la qualité n’est pas toujours au rendez-vous (par exemple, j’ai eu beaucoup de mal à trouver des tutoriels sérieux sur Shotcut).

Lorsque j’enregistre des tutoriels en vidéo, j’ai vraiment à cœur de fournir des explications de qualité, en expliquant aussi le pourquoi je fais telle ou telle action. Cela prend un certain temps pour produire une vidéo de cinq à dix minutes. D’ailleurs, le temps de travail a tendance à être inversement proportionnel à la durée de la vidéo finale. Ce qui est logique car produire une vidéo concise demande de supprimer l’inutile.

Dans mon idée de cours en vidéo je verrais bien une trame plutôt théorique expliquant les fonctionnalités des outils, des boîtes de dialogues avec des exemples simples. Une partie plus concrète avec des exemples plus étoffés dépourvue de théorie serait sans doute plus agréable à suivre que de sans cesse entendre répétées les mêmes choses. Bien sûr il faudrait que chacune des parties renvoie vers l’autre, dans un parcours non linéaire (voir plus haut).

Évidemment tout cela demande du temps et ne pourra se faire que s’il y a financement. Comme je n’imagine pas diffuser ces cours sous une licence privative, mais plutôt une Creative Commons By-SA, il n’y aura pas de droit d’entrée à payer. Restent le financement participatif et la contribution volontaire. Ou peut-être publier le cours par « épisode » (même si ce n’est pas linéaire) en fonction de paliers financiers : ainsi, c’est l’action de groupe qui rendrait disponible le cours à tous et non un droit d’entrée individuel et identique.

À suivre

Dans la seconde partie je cause de développement (au sens programmation) d’outils en cours ou à venir. Toujours sous licence libre.

La photo utilisée pour le bandeau de cet article est l’œuvre de el cajon yacht club, diffusée sous licence CC By 2.0.

GIMP : détourage par contraste avec un masque de calque

C’est le retour du palmier qui fut le héros de précédents tutoriels, notamment celui du détourage avec l’outil d’extraction de premier plan. Mais cet outil a évolué dans la version 2.10 de GIMP et fonctionne différemment, et pour des résultats qui semblent de moins bonne qualité (à creuser).

Finalement, ne pourrait-on pas se passer d’outil de détourage ? Finalement, c’est le contraste entre le fond et le premier plan qui permet d’isoler ce dernier.

Voici donc une technique originale : le détourage par contraste. Cela consiste à créer un masque de calque initialisé avec une copie du calque en niveaux de gris. Ainsi le calque se masque lui-même. Il ne reste alors qu’à utiliser l’outil Niveaux pour forcer le contraste, pour que le fond devienne noir et le premier plan blanc avec un peu de nuances entre les deux.

Et le résultat s’avère meilleur qu’avec l’outil Extraction de premier plan !

Voici comment faire en vidéo.

Mémo GIMP : configuration et découverte de l’interface

Un nouveau support pour les formations GIMP, un mémo dans la même veine que celui que j’avais produit pour Shotcut il y a quelques mois.

Celui-ci concerne GIMP et pose quelques bases de configuration. Il liste aussi l’ensemble des outils avec un petit descriptif pour chacun. Enfin, une page sur les calques parce que c’est vraiment indispensable.

Le tout mis en page avec Scribus et publié sous licence Creative Commons By-SA 4.0 FR.

Le mémo au format PDF

Les sources pour Scribus 1.5.4

À quoi sert Inkscape ? Épisode 2

Deuxième épisode de « À quoi sert Inkscape » (qui dit deuxième, dit troisième…). Vous pouvez voir ou revoir le premier épisode.

Cette fois-ci encore, quelques exemples simples (faire un engrenage, une bulle de BD, déformer un dessin). Un rapide exemple de comment utiliser l’extension « Numéroter les nœuds » pour faire un dessin à tracer pour vos enfants.

Puis quelques dessins un peu plus évolués :

  • jouer avec le texte en créant des clones

Jouer avec le texte et les clones avec Inkscape

  • dessiner un chapiteau

Dessiner un chapiteau avec Inkscape

  • dessiner et propager de l’herbe grâce à l’outil Spray

Dessiner de l'herbe avec Inkscape

La vidéo :

À quoi sert Inkscape ?

À quoi sert Inkscape

Inkscape est le logiciel libre de dessin vectoriel le plus connu, le plus utilisé. Mais il souffre de quelques défauts d’ordre, disons, psychologique que je vais tenter d’endiguer ici.

À commencer par son nom. Dans le monde du logiciel libre, nous ne sommes pas toujours doués pour trouver des noms qui aient une réelle puissance marketing. N’y voyez pas un reproche, la puissance marketing ne fait pas la qualité du logiciel et Inkscape est un logiciel de grande qualité ! Son nom donc, est difficile à prononcer et difficile à écrire sans se tromper. Il est la contraction de ink qui veut dire encre et de scape qui peut se traduire par paysage ou hampe (en horticulture, la hampe désigne la tige d’une fleur, en écriture, la hampe désigne le trait vertical formant certaines consonnes).

Ensuite, son usage. Le dessin vectoriel n’est pas quelque chose de très intuitif et peut même faire peur en ravivant de douloureux souvenirs de cours de mathématique. Oui, une image vectorielle est constituée de coordonnées, de courbes, d’équations de toutes sortes. Si vous voulez vous faire peur, vous pouvez ouvrir une image vectorielle dans Inkscape et ouvrir l’éditeur XML qui vous montre les coulisses (Édition > Éditeur XML). Mais heureusement, Inkscape ne nous montre que le rendu d’images vectorielles, c’est nettement plus sympathique et suffit à la plupart des usages.

À cette inquiétude de savoir s’il est utile ou non de suivre une journée de formation sur Inkscape, j’ai répondu par une petite vidéo, intitulée « À quoi sert Inkscape ? » et qui montre quelques exemples assez basiques de ce que l’on peut faire avec. Cette vidéo pourrait être le premier épisode d’une série de vidéos sur le même format, avec d’autres exemples, d’autres logiciels, voire des interactions entre logiciels.

Mémo Shotcut : débuter dans le montage vidéo

mémo Shotcut

Le 31 mai dernier, j’animais ma première formation dédiée au montage vidéo avec le logiciel libre Shotcut. J’ai donc produit un mémo Shotcut pour synthétiser les bases avec un peu de théorie sur la vidéo en général.

C’est sommaire, c’est une version 0.1, comme on dit quand on met à disposition la première mouture d’un logiciel. Ça ne demande qu’à être amélioré.

Et prochainement je publierai des articles et vidéo sur le montage vidéo et Shotcut en particulier. Shotcut n’est pas le meilleur logiciel de montage vidéo, mais il est simple, multi-plateforme et vous permet de démarrer facilement. Nul doute qu’avec un peu de pratique vous aurez envie de faire plus de choses et de vous tourner vers Kdenlive ou Blender.

Enfin, un grand merci à l’Urfist de Lyon qui m’a fait confiance pour l’animation de cette formation !

Voici à nouveau le lien pour télécharger le mémo Shotcut (au cas où vous l’auriez raté plus haut).

GIMP : rendre transparent le fond uni d’une image

gimp-rendre-transparent-le-fond-uni

Je le remarque, les articles sur le détourage d’images avec GIMP remporte un certain succès. Voici cette fois une reprise améliorée d’un article que j’avais écrit dans Linux Pratique il y a quelques années : rendre transparent le fond uni d’une image.

Le problème

Cela peut être un dessin réalisé à la main puis scanné, ou à la tablette graphique. Cela peut également être une photo réalisée sur fond uni (dans un studio photo par exemple). Prenons par exemple cette photo de framboises sur fond blanc. Photo de José Carlos Casimiro sous licence CC By 2.0.

Le premier réflexe serait sans doute d’utiliser l’outil Sélection contiguë (ou baguette magique pour conserver une analogie photoshopienne), mais, les bords étant flous par endroits, cela risque de demander pas mal de temps de nettoyage.

Comment faire

Masquer la photo avec elle-même

Utilisons plutôt la photo elle-même comme élément de découpe : en effet, le contraste entre le fond blanc et le sujet coloré est suffisamment prononcé. Depuis le calque contenant la photo (le seul pour l’instant), ajoutez un masque de calque. Initialisez-le avec la copie du calque en niveaux de gris. Pensez à inverser le masque. Si vous oubliez, vous pourrez inverser les couleurs du masque à postériori via le menu Couleurs > Inverser.

Ajouter un masque de calque

Important ! Nous avons désormais deux entités : le calque et le masque. Dans la fenêtre des calques, repérez bien laquelle des deux est active, sa vignette est entourée d’un contour blanc. En effet, dans la suite de ce tutoriel, nous allons travailler uniquement sur le masque, sans toucher au calque, veuillez à bien faire attention à ce que vous modifiez ! En cas d’erreur, pas de panique, il y a Ctrl-Z.

Forcer le contraste du masque

Toutefois le maque résultant n’est pas assez contrasté. Affichez le masque pour voir plus clairement ce que vous faites (clic-droit sur la vignette du calque dans la fenêtre des calques puis cochez Afficher le masque ou Alt+clic sur la vignette du masque).

Prenez ensuite l’outil Niveaux. Les teintes sont réparties en deux blocs (à gauche les teintes sombres, à droite les claires) bien distincts ce qui reflète un bon contraste. Rapprochez les deux points noir et blanc (curseurs triangulaires) l’un de l’autre pour qu’ils n’encadrent plus que la zone centrale qui ne contient que peu de données (peu de nuances, juste ce qu’il nous faut).

Forcez le contraste avec l'outil Niveaux

Supprimer les tâches sombres

Il reste quelques tâches (des trous en réalité) qui correspondent à des pixels trop clairs pour être suffisamment contrastés par rapport au fond. Néanmoins, ces pixels doivent apparaître dans l’image finale, donc, vous devez les recouvrir de blanc dans le masque. Selon le nombre et la granularité de ces tâches vous pouvez les gommer grâce à une sélection ou directement au pinceau.

Ici je commence par une sélection contiguë : elle révèle une grosse quantité de petits trous. En utilisant une technique de morphologie mathématique (j’agrandis la sélection puis je la réduis d’autant) je supprime tous les petits trous. Il ne reste que les gros à effacer au pinceau.

Exporter cette nouvelle image

Le plus gros est fait. Il ne reste qu’à exporter l’image au format PNG, format qui préserve la transparence et qui ne dénature pas votre image (tout le contraire du format Jpeg).

Scribus : importer un tableau au format CSV

scribus importer un tableau eu format csv

On ne peut pas dire que les tableaux soient bien gérés dans Scribus, on pourrait même dire que c’est une plaie. Quant à importer un tableau depuis un tableur, ce n’est simplement pas à l’ordre du jour…

Une gestion insatisfaisante

Actuellement (version 1.4) un tableau n’est autre qu’un groupe de cadres de texte. Une fois créé, vous ne pouvez ajuster la taille des lignes et des colonnes, vous ne pouvez appliquer de style sur les cellules. La saisie dans une cellule est rendue complexe par le groupe : il faut double-cliquer en pressant la touche Alt pour modifier le contenu d’une cellule.

La version 1.5 (version de développement de la future version stable) propose un nouvel outil de création de tableaux. Il y a même la possibilité d’appliquer des styles sur les cellules et le tableau, mais le peu de paramètres disponibles actuellement rend cette fonction inutile. De toute manière, toujours pas de possibilité d’importer un tableau, il faut le rédiger dans Scribus.

On trouve des tutoriels évoquant la possibilité d’exporter un tableau sous forme d’image vectorielle depuis un tableur comme LibreOffice Calc. Mais le tableau ainsi inséré n’est pas modifiable, y compris au niveau du style. De plus, impossible d’insérer un tableau qui s’étendrait sur plusieurs pages.

Prendre le taureau par les cornes

J’ai donc tenté de résoudre ce problème en vue d’une formation avec des archéologues, qui insèrent de longs tableaux dans leurs rapports. Je suis parti du script importcsv2table.py fourni avec Scribus qui permet d’importer un tableau au format CSV. Le comportement de ce dernier ne me convenait pas et les questions posées étaient trop simplistes. Par exemple, il ne demande pas le caractère de séparation, ce qui est la base du format CSV.

Le format CSV (pour Comma-separated values) permet de représenter un tableau sous forme de valeurs séparées par des virgules (ou d’autres caractères, absents des valeurs). Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes.

Le script ainsi produit peut être téléchargé ici : importcsv2table.py. Vous devrez ensuite le copier dans un dossier où vous rangez vos scripts pour Scribus : dans votre profil Scribus vous avez un sous-dossier plugins. Ce n’est qu’un exemple, vous pouvez en choisir un autre, du moment que vous le déclarez dans les préférences de Scribus.

Pour le tutoriel vidéo présenté ci-dessous, j’ai utilisé un grand tableau de données issues du site Etalab qui recense les lieux de tournages de films dans Paris. Je l’ai un peu épuré et n’ai gardé que 7 colonnes et 139 lignes, mais ce n’est qu’un exemple, je voulais un tableau avec beaucoup de lignes.

Voici comment l’utiliser en vidéo.

Préparation

  • Créez un nouveau document avec suffisamment de pages pour accueillir votre tableau (cela peut être ajusté par la suite).
  • Allez dans les Préférences pour déclarer le chemin des plugins. C’est là que vous avez copié le script, il sera ainsi plus facile à retrouver depuis Scribus.
  • Créez un cadre de texte occupant tout l’espace que vous voulez allouer à votre tableau sur la première page.
  • Certaines propriétés de ce cadre seront utilisées pour les cellules (constituées elles-mêmes de cadre de texte)
    • la largeur et la hauteur ;
    • la couleur du filet ;
    • l’épaisseur du filet ;
    • les espaces sur les quatre côtés intérieurs (rembourrage ou padding pour les habitués des feuilles de styles CSS).
  • Assurez-vous que le cadre de texte est bien sélectionné et appelez le script via Script → Démarrer un script.

Utilisez le script

S’ensuit une série de questions (je compte regrouper toutes ces fenêtres en une seule à terme).

  • Choisissez le fichier CSV à importer.
  • Indiquez quel est le délimiteur de colonnes (évitez d’avoir la tabulation comme délimiteur).
  • Indiquez la largeur de chaque colonne : cette fenêtre vous indique combien de colonnes comporte votre tableau ; vous devez donc avoir le même nombre de chiffres. Chaque colonne est représentée par un nombre qui indique la part de largeur qu’elle occupera : ainsi, une colonne identifiée par un 3 sera trois fois plus large qu’une colonne identifiée par un 1. La largeur totale du tableau est celle du cadre de texte initial.
  • Si la première ligne de votre tableau est une ligne de titre, elle sera traitée différemment. Pour l’instant, elle n’est juste pas comptabilisée dans la hauteur totale et une place sera réservée pour elle sur chaque page où s’étend le tableau. On peut imaginer à l’avenir qu’elle aura un style particulier et qu’elle sera automatiquement reproduite sur chaque page.
  • La hauteur des cellules est difficile à appréhender tant que vous n’avez pas défini le style de paragraphe des cellules ni vu le résultat. Laissez cette valeur et ajustez-la à la suite de plusieurs essais. Lorsque le nombre de lignes multiplié par la hauteur de chacun dépasse la hauteur du cadre texte initial (donc limitant), un décalage se produira pour bien séparer visuellement les lignes.
  • Choisissez un style de paragraphe pour le contenu des cellules. Cette fenêtre vous affiche les styles existants. Vous pouvez en recopier un ou donner un nouveau nom. Dans ce cas, un nouveau style sera créé.

Patientez, le script travaille.

Affinez

  • Une fois que le script a fini son travail, vous pouvez constater que chaque ligne est un groupe de cadres de texte (ouvrez la fenêtre Plan du document pour vous en convaincre). Vous pouvez donc déplacer une ligne facilement.
  • Allez dans l’éditeur de styles pour modifier le style nouvellement créé. Vos modifications s’appliquent à l’ensemble des cellules !

Traitez les autres pages

  • Allez sur la page suivante.
  • Sélectionnez toutes les lignes et les grouper.
  • Revenez sur la première page et copier la ligne de titre.
  • Retournez sur la page en cours de traitement et coller la ligne de titre.
  • Sélectionnez les deux éléments (ligne de titre et le groupe des autres lignes)
  • À l’aide de la fenêtre Espacer et aligner, faites coïncider le haut du groupe de lignes avec le bas de la ligne de titre.
  • Recommencez pour les autres pages.

Certes, ce n’est pas encore aussi facile que dans d’autres logiciels, mais ce script permet de faire le travail proprement. À noter qu’il fonctionne toujours dans Scribus 1.5 .Malheureusement, il n’est toujours pas possible d’utiliser les nouveaux tableaux dans un script Python, je lance donc un appel du pied !

Inkscape : dessiner une flèche pour indiquer le nord

Lors d’une formation récente (GIMP, Inkscape et Scribus) auprès d’archéologues je leur ai montré comment dessiner une flèche d’orientation indiquant le nord. En effet, ils en ont l’usage sur leurs plan et cela constitue un bon exercice pour découvrir certains fonctions de base d’Inkscape.

Voici donc une vidéo montrant comment réaliser une telle flèche, de manière rigoureuse, c’est-à-dire, parfaitement symétrique. Vous y apprendrez comment :

  • transformer un rectangle en chemin
  • ajouter des nœuds à ce chemin
  • en supprimer et rendre les nœuds à nouveau durs (pour des segments sans courbures)
  • aimanter le milieu d’un segment sur un guide
  • convertir le contour d’un chemin en un nouveau chemin