Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierLinuxFr.org : les dépêches

Ubix Linux, le datalab de poche

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 l'anglais Universal business intelligence computer system. De fait, le principal objectif d'Ubix Linux est d'offrir une plateforme universelle dédiée à l'informatique décisionnelle et à l'analyse des données.

Il s'agit d'une solution verticale, prête à l'emploi, dédiée à la manipulation des données et à la prise de décision. Allégée par conception, elle n'embarque qu'un jeu limité d'outils spécialisés dans ce domaine. Ceux-ci permettent néanmoins de couvrir tous les besoins dont l'acquisition, la transformation, l'analyse et la présentation des données.

Ubix Linux - Vue d'ensemble

Origines de la distribution

La volonté initiale du concepteur de la distribution était de pouvoir disposer, à tout moment et en toutes circonstances, des outils lui permettant de réaliser des analyses de données et d'en présenter le résultat ad hoc. Ce « couteau suisse » de manipulation des données, devait également lui permettre d'éviter de devoir justifier, rechercher, acquérir et installer l'écosystème logiciel nécessaire chaque fois que ce type de tâches se présentait à lui.

Son cahier des charges stipulait donc une empreinte disque la plus faible possible sans pour autant faire de concessions au niveau des fonctionnalités. La distribution se devait d'être portable et exécutable immédiatement dans des contextes variés, sans nécessité d'investissement, d'installation ou de droits d'accès particulier.

De ce fait, Ubix Linux ne se démarque pas par ses aspects « système », mais plutôt par sa destination et ses cas d'usage.

Au-delà du besoin initial

À l'heure où de nombreux concepts liés à la manipulation des données tels que le « Big Data », la « Data Science » ou le « Machine Learning » font la une de nombreux médias, ceux-ci restent encore des boîtes noires, affaire de spécialistes et d'organisation disposant des moyens de les mettre en application.

Si le grand public en intègre de mieux en mieux les grandes lignes, il ne dispose encore que de peu de recul sur la manière dont ses données peuvent être utilisées, ainsi que la richesse des débouchés associés.

D'un autre côté, de nombreux gisements de données à la portée du plus grand nombre demeurent inexploités, faute de compétences ou de moyens facilement accessibles.

Il se trouve qu'Ubix Linux peut permettre de surmonter cette difficulté, en offrant à tous les moyens de s'approprier (ou se réapproprier) et tirer parti des données disponibles.

Philosophie

Par nécessité, Ubix Linux a été conçue en intégrant uniquement des produits libres et open-source. Bien que cette distribution puisse s'avérer utile à toute personne devant manipuler des données, elle se doit de préserver et défendre une approche pédagogique et universaliste.

Elle a pour ambition de mettre les sciences de données à la portée de tous. La distribution en elle-même n'est qu'un support technique de base devant favoriser l'apprentissage par la pratique. Il est prévu de l'accompagner d'un tutoriels progressifs.

Les outils low-code/no-code intégrés dans la distribution permettent de commencer à manipuler des données sans devoir maîtriser au préalable la programmation. Néanmoins, des outils plus avancés permettent ensuite de s'initier aux principes des algorithmes d'apprentissage automatique.

Synthèse

Ubix Linux s'inscrit dans la philosophie du logiciel libre et plus particulièrement dans celle des projets GNU et Debian.

Elle se destine à :

  • demeurer accessible à tous ;
  • pouvoir s'exécuter sur des configurations matérielles relativement modestes, voire n'être installée que sur un périphérique portable USB ;
  • proposer un outil pédagogique pour appréhender de façon pratique la science des données et l'apprentissage machine ;
  • permettre la découverte, l'expérimentation et l'aguerrissement de tout un chacun aux principaux outils de manipulation des données ;
  • offrir une boîte à outils légère et agile, néanmoins complète et utile pour un public professionnel averti.

Et après…

Nous sommes à l'écoute de toute suggestion. Toutefois, les moyens étant ce qu'ils sont (au fond du garage), la réactivité à les prendre en compte pourra s'avérer inversement proportionnelle.

Nous souhaiterions que cet outil pédagogique puisse bénéficier au plus grand nombre : si vous voulez contribuer à la traduction du contenu du site officiel en espagnol, en portugais ou en allemand, vous êtes les bienvenus.

Commentaires : voir le flux Atom ouvrir dans le navigateur

L'IGN et les géocommuns - « Libre à vous ! » du 5 mars 2024- Podcasts et références

Deux cent deuxième émission « Libre à vous ! » de l’April. Podcast et programme :

  • sujet principal : l’IGN (Institut national de l’information géographique et forestière) et les Géocommuns, avec Sébastien Soriano, Directeur général de l’IGN

  • la chronique « Pépites libres » de Jean-Christophe Becquet, vice-président de l’April, sur le thème des données géographiques libres pour les territoires (rediffusion).

  • la chronique « Les transcriptions qui redonnent le goût de la lecture » de Marie-Odile Morandi sur « Critiquer le numérique », deuxième conférence du triptyque de Louis Derrac

Rendez‐vous en direct chaque mardi de 15 h 30 à 17 h sur 93,1 FM en Île‐de‐France. L’émission est diffusée simultanément sur le site Web de la radio Cause Commune.

Mardi 19 mars 2024, notre sujet principal portera sur les logiciels libres pour les journalistes d'investigation. Si vous avez des questions, n’hésitez pas à les mettre en commentaires de cette dépêche.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie de GIMP 2.99.18 (version de développement)

Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 2.99.18 du 21 février 2024 (en anglais).

Voici enfin la dernière version de développement avant GIMP 3 ! Bien que la sortie de la version 2.99.18 soit un peu en retard par rapport au planning espéré, celle-ci contient un certain nombre de fonctionnalités et d'améliorations que nous sommes ravis de pouvoir partager avec vous.

⚠️ ☢️ Nous vous rappelons qu'une version de développement sert à présenter les travaux en cours, mais vous permet aussi de détecter et signaler les problèmes au plus tôt. En d'autres termes, cette version est instable et nous ne recommandons pas son usage en production. Utilisez-là parce que vous voulez aider à améliorer GIMP en signalant des bogues.

En particulier, cette version 2.99.18 est peut-être l'une des versions les plus instables de la série 2.99 à cause du projet « space invasion » (NDT : « invasion venue de l'espace », un jeu de mots avec l'anglais colorspace signifiant espace de couleurs). Cela est parfaitement attendu et normal. ⚠️ ☢️

    Sommaire

    Cette dépêche présente les changements les plus notables et les plus visibles. En particulier, elle ne contient pas de liste exhaustive des correctifs de bogues ou des améliorations un peu moins importantes. Pour une liste plus complète des changements, nous vous invitons à consulter le fichier NEWS ou à jeter un coup d’œil à l'historique du dépôt Git.

    L'invasion de l'espace (des couleurs) !

    Nous avons travaillé dur sur le projet Space Invasion, qui est — comme vous vous en rappelez peut-être — le nom de code que nous avons donné au projet visant à rendre GIMP plus correct en ce qui concerne les couleurs.

    Ces derniers temps, nous avons réalisé le portage des anciennes structures de couleurs utilisées en interne (GimpRGB, GimpCMYK, GimpHSV…) dont nous nous servions pour stocker les informations de couleurs vers GeglColor. Cet objet générique peut contenir n'importe quelle donnée de couleur, quel que soit le modèle colorimétrique, la précision ou l'espace, du moment que ceux-ci sont pris en charge par babl, notre moteur pour l'encodage des pixels.

    En ce qui concerne la justesse des couleurs, cela signifie que nous ferons maintenant les conversions de couleurs uniquement si cela est nécessaire (conversions à la dernière minute), ce qui permettra de ne pas perdre d'information lorsque cela peut être évité. Par exemple, imaginons que vous utilisiez la pipette à couleurs sur une image : si nous convertissions cette couleur vers un format intermédiaire avant de l'utiliser sur une autre image (qui peut avoir le même format de couleurs ou un format différent), deux conversions auraient lieu. Cela augmente les possibilités de perte de précision. Ce problème est encore plus flagrant si les formats d'entrée et de sortie sont les mêmes (autrement dit, lorsqu'aucune conversion n'est nécessaire). Et cela sera encore plus problématique lorsque le modèle CMJN sera pris en charge nativement (nous voulons éviter à tout prix de faire un aller-retour entre un format intermédiaire et le CMJN, qui n'a pas de relation bijective avec la plupart des autres modèles de couleurs, même en travaillant sans bornes et en ignorant les problèmes de précision).

    Définition d'un espace non borné (ajout par rapport à la dépêche originelle) : lorsque la précision est entière, l'espace est toujours borné (par exemple [0-255] en 8-bit). Par contre, en flottant, où l'espace de travail standard est [0, 1], on peut décider d'accepter les valeurs négatives et supérieures à 1. Cela rend les conversions entre beaucoup d'espaces de couleurs bijectives, aux erreurs de précisions près. Notamment, les conversions entre deux espaces RVB, ou même un espace RVB et divers autres modèles, deviennent bijectives. Ce n'est pas le cas entre RVB et CMJN, même en espace de couleurs infini.

    Nous sommes également en train de migrer le stockage des données de couleur vers ce type d'objet générique. Cela signifie entre autres que les palettes de couleurs pourront comporter des couleurs au format CMJN, CIELAB ou bien encore dans tout autre modèle pris en charge (et pas seulement ces couleurs après une étape de conversion vers le sRVB non borné - « unbounded sRGB »).

    Une conséquence pour la maintenance logicielle est qu'il sera beaucoup plus facile de gérer les conversions de couleurs au sein de notre code, étant donné que cette structure comprend à la fois les données et leur « signification ». Cela rend la gestion des couleurs beaucoup moins susceptible d'introduire des bogues par rapport à l'approche précédente, qui consistait à faire suivre les deux types d'information séparément.

    Finalement, nous travaillons à faire apparaître l'information concernant l'espace de couleurs à plusieurs endroits de l'interface où cela est pertinent, par exemple lorsque des données RVB, CMJN, TSL ou TSV sont affichées ou peuvent être choisies. Les valeurs brutes dans ces modèles de couleurs en l'absence de la connaissance de l'espace de couleurs associé n'ont pratiquement aucun sens. L'affichage dans l'interface de valeurs RVB sans autre précision est un reliquat du passé, lorsque cela signifait le plus souvent sRVB. Cela n'est plus vrai dans un contexte graphique moderne et l'interface devrait être claire à ce sujet.

    La vidéo ci-dessous montre quelques aspects de ce travail sur l'interface, par exemple le fait que les modèles RVB, TSV ou CMJN affichent à tout instant l'espace de couleurs dans lequel les valeurs sont considérées (ce qui très souvent correspond au nom du profil ICC). Cela est déjà fait pour la pipette à couleurs, les échantillons de couleurs, l'ancrable des couleurs de premier/d'arrière plan, la boîte de dialogue « Changer la couleur de premier/d'arrière plan », ainsi qu'à d'autres endroits.

    Non seulement cela, mais lorsque les gens sélectionnent un profil d’épreuve sur écran et activent l'épreuve sur écran (par exemple grâce à la nouvelle bascule de simulation qui a été ajoutée dans GIMP 2.99.12), nous afficherons également non seulement la zone hors gamme de l'espace colorimétrique de l'image, mais également celle de l'espace d’épreuve.

    Invasion de l'espace dans l'interface - GIMP 2.99.18
    Invasion de l'espace dans l'interface - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

    Avertissement très important : il s'agit encore une fois d'un portage énorme dans notre base de code, ce qui a impacté littéralement des milliers de lignes de code. Ce travail est inachevé mais il devra être terminé avant la première version candidate. Des instabilités ou des bugs sont à prévoir dans cette mise à jour donc si vous rencontrez un problème, nous recommandons de le rapporter.

    Amélioration des algorithmes de couleur

    Øyvind Kolås a amélioré quelques algorithmes internes :

    • Les pixels achromatiques de l'outil Teinte-Saturation sont désormais un cas spécial afin que les pixels en niveaux de gris (saturation de 0) ne soient modifiés que par le réglage principal, pas par le réglage rouge.
    • Les dégradés en niveaux de gris restent désormais achromatiques même avec "Tramage" coché dans l'outil Dégradé.

    Au fur et à mesure que le projet space invasion avance, obtenir des résultats cohérents devient plus facile dans divers algorithmes liés aux couleurs, nous permettant ainsi de découvrir rapidement les problèmes et de les résoudre.

    Édition non-destructive, première mouture

    Un domaine dans lequel nous sommes « en avance sur le planning » est l'édition non destructive, qui était très demandée ! Les fondations de ces fonctionnalités ont été mises en place par de nombreux développeurs au cours de nombreuses années, depuis l'introduction de GEGL dans GIMP. Bien qu'initialement prévue pour la feuille de route de la version 3.2, une première implémentation a vu le jour en tant que continuation d'un projet Google Summer of Code. Si vous n'êtes pas familier avec ce terme, « édition non destructive » implique notamment que des effets de filtres tels qu'un effet de flou sont stockés séparément des pixels du calque. Cela signifie que si vous désirez plus tard modifier un réglage, réarranger ou même retirer le filtre, vous pouvez le faire très facilement sans affecter le reste de l'image. Jusqu'à présent, GIMP utilisait une procédure d'édition destructive où les effets étaient immédiatement appliqués sur le calque, c'est donc un changement majeur !

    Toute opération GEGL munie d'une interface graphique est désormais appliquée aux calques de manière non destructive. (Les effets non destructifs pour les masques de calques et les canaux sont prévus pour les versions ultérieures.) Cela inclut les greffons GEGL tiers et les opérations personnalisées créées avec notre outil GEGL Graph. Ces effets peuvent être sauvegardés et chargés via les fichiers de projet .xcf, bien que toutes les propriétés GEGL ne soient pas encore prises en charge dans la version actuelle.

    Une fois qu'un filtre a été appliqué, vous pouvez continuer à interagir avec lui en cliquant sur l'icône de filtre dans l'ancrable des calques. Cela ouvrira une boîte de dialogue montrant tous les filtres actuellement appliqués au calque. À partir de là, vous pouvez alterner l'état de visibilité du filtre, modifier ses réglages, réordonner les filtres et retirer les effets un à un. Vous pouvez aussi fusionner tous les filtres et les appliquer à l'image pour retrouver une procédure d'édition destructive.

    Effets non destructifs - GIMP 2.99.18
    Effets non destructifs - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

    Notez bien que tout cela est seulement une première implémentation, et beaucoup de travail reste à faire pour disposer d'une édition non destructive complète et riche. Nous allons continuer à affiner les fonctionnalités existantes pour la sortie de la version 3.0 en nous basant sur les tests et les retours des utilisateurs, et nous les développerons davantage par la suite. L'interface elle-même ne correspond pas à notre vision idéale de cette fonctionnalité, et un premier jet de spécifications a été écrit pour définir un processus d'édition bien plus intégré.

    La capture d'écran ci-dessous est une maquette réalisée à partir de ces premières spécifications. Elle montre les effets de calque placés au sein de la liste principale des calques, partageant les mêmes boutons « œil » et « cadenas », mais également avec leurs propres masques faciles à éditer :

    Maquette des spécifications pour l'application non-destructive d'effets de calque

    Maquette des spécifications : les effets de calque sont visibles directement dans la liste des calques, avec leur propres masques

    Néanmoins, l'implémentation de cette nouvelle interface sera un défi en elle-même et nous avons donc décidé de la remettre à après la sortie de GIMP 3 et de proposer cette première mouture en premier lieu.

    N'hésitez pas à partager vos opinions dans les forums de discussion et dans le suivi des incidents !

    Amélioration de la prise en charge des polices de caractères

    Idriss Fekir, un autre étudiant du GSoC 2023, a travaillé avec Liam Quinn, un développeur de longue date, sur l'amélioration de la prise en charge des polices de caractères par GIMP. Une grande partie de ce travail concerne le code interne de GIMP afin d'améliorer sa capacité à gérer les futures mises à jour de polices et de texte. Certains changements plus visibles sont par exemple :

    • GIMP n'a plus besoin que les noms des polices de caractères soient uniques pour pouvoir les distinguer les unes des autres. Cela signifie qu'il n'ajoutera plus « #1 », « #2 » et ainsi de suite, mais gardera à présent les noms originaux dans la liste de sélection des polices. Malgré des noms apparemment identiques, deux polices avec le même nom fonctionneront désormais correctement.
    • GIMP peut maintenant charger des polices avec des styles personnalisés (en contournant l'utilisation de Pango qui n'est pas capable de les charger).
    • Nous pouvons à présent charger davantage de types de polices qu'auparavant. Si jamais nous ne prenons pas encore en charge une police donnée (ou si elle est inexistante), nous sommes mieux à même de le détecter et nous pouvons nous replier sur une police par défaut. Cela permet d'améliorer la prise en charge d'un fichier .xcf créé sur un autre ordinateur avec différentes polices disponibles.
    • Sous Windows, nous forçons le moteur Pango à toujours utiliser l'anticrénelage. Cela augmente la lisibilité du texte des menus sous ce système d'exploitation, en particulier lorsqu'un thème sombre est utilisé.
    • Le code pour la sauvegarde au format XCF stocke désormais les informations concernant les polices de manière bien plus précise, ce qui aide à éviter de charger une police incorrecte lors de la réouverture d'un fichier XCF.
    • L'alignement du texte dans les calques de texte pour les langues écrites de la droite vers la gauche est maintenant plus cohérent avec la manière dont cela fonctionne dans d'autres programmes (par exemple LibreOffice et Scribus).

    Ces changements sont beaucoup moins voyants que certaines autres fonctionnalités et pourraient sembler moins importants, mais ils constituent en fait les fondations qui permettront d'avoir une gestion du texte bien plus fiable dans GIMP. Notre vision pour le futur est d'avoir une édition de texte plus simple tout en étant plus puissante et plus riche en fonctionnalités (en particulier les fonctionnalités OpenType qui sont quelques-unes des améliorations majeures que nous espérons ajouter un jour ou l'autre).

    Expansion automatique des calques

    Le troisième projet GSoC de l'été dernier par l'étudiant Shubham Daule a apporté une fonctionnalité demandée depuis longtemps : l'expansion automatique de calques ! Les outils de peinture ont désormais une option supplémentaire « Étendre les calques ». Lorsque cette case est cochée, peindre au-delà des limites des calques les fera s'étendre automatiquement afin que vous n'ayez pas à gérer vous-même la taille du calque. Si vous souhaitez étendre le calque au-delà de la taille actuelle du canevas, vous devrez également cocher l'option « Afficher tout » dans le menu Affichage.

    Calques à expansion automatique - démonstration de GIMP 2.99.18
    Calques à expansion automatique - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

    L'option d'expansion des calques comporte également des paramètres supplémentaires lorsqu'elle est sélectionnée. Vous pouvez décider dans quelle mesure vous souhaitez que les limites du calque s'étendent chaque fois que le pinceau les atteint. Il existe également des options pour spécifier comment les nouvelles zones du calque et du masque de calque doivent être remplies une fois étendues.

    Nouvelles options d'alignement

    Le nouveau contributeur mr. fantastic a développé deux nouvelles options pour aligner les calques sur le canevas. Avec « Snap to Bounding Boxes » (« Aligner sur les boîtes englobantes ») activé, des guides dynamiques s'afficheront désormais pour vous montrer quand le calque que vous déplacez est aligné avec le centre ou les côtés des autres. Le calque actif s'alignera également sur ces bordures pour vous aider à les organiser correctement. La deuxième option, « Snap to Equidistance » (« Aligner à équidistance »), vous permet un alignement entre trois calques équidistants les uns des autres.

    Aligner sur les boîtes englobantes et Aligner à équidistance - démonstration de GIMP 2.99.18
    Nouvelles options d'alignement automatique - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

    Thèmes

    Nous avons continué à améliorer l'interface utilisateur et le style de cette version. L’une des améliorations les plus importantes concernait la gestion des « fuites de thèmes système ». Il existe des styles qui n'ont pas été spécifiquement définis dans nos thèmes, donnant ainsi l'opportunité aux règles de style du thème système de "fuiter" de manière conflictuelle dans notre interface. Avec l’aide et les retours de plusieurs contributeurs et utilisateurs, nous avons beaucoup progressé dans la définition de ces styles afin que tous aient une expérience cohérente !

    Récemment, Jehan a travaillé sur la réorganisation et la simplification de notre système de thèmes. Dans les versions de développement précédentes, nous avions cinq thèmes différents : Par Défaut, Gris, Système, Plus Sombre et Compact (chacun avec des options claires et sombres). Ceux-ci ont été simplifiés dans le thème Système et un seul thème par défaut avec trois états possibles : clair, foncé et gris. De même, nos quatre thèmes d'icônes distincts ont été condensés dans l'ensemble Legacy et un thème d'icôns par défaut avec des variantes couleur et symbolique. Nous pensons que ces changements réduiront la confusion des utilisateurs et leur permettront de trouver plus facilement leur apparence d'interface préférée.

    De plus, sous Windows, la barre de titre principale (et la plupart des barres de titre des boîtes de dialogue) s'ajuste désormais au mode clair ou sombre en fonction du thème sélectionné.

    Boîte de dialogue de bienvenue

    La boîte de dialogue de bienvenue a été étendue pour fournir un accès rapide à un certain nombre de fonctionnalités et d'options utiles. Elle comporte ainsi quatre nouvelles sections :

    • Personnaliser : Plusieurs options de personnalisation nécessitent de fouiller dans la boîte de dialogue des Préférences pour être modifiées. À présent, vous pouvez facilement modifier les thèmes de couleurs et d'icônes, la langue et la taille de la police de l'interface utilisateur, ainsi que certains réglages en fonction du système d'exploitation.
    • Créer : Cette section affiche les huit images que vous avez ouvertes en dernier et vous permet de les rouvrir rapidement. Des boutons pour créer une nouvelle image ou pour en charger une existante sont également présents. À l'instar d'autres programmes, vous pouvez demander à ce que cet écran apparaisse automatiquement au démarrage de GIMP pour un accès direct à ces fonctionnalités.
    • Contribuer : Nous avons réuni ici quelques-unes des nombreuses façons dont vous pouvez participer au développement de GIMP. Cette section comporte des liens pour le signalement de bogues, pour écrire du code, pour aider aux traductions ou pour faire un don.
    • Notes de version : Précédemment, le lien vers ces notes étaient affichées dans la moitié inférieure de la boîte de dialogue de bienvenue. À présent, nous avons un onglet entier dédié à ces notes pour une lecture plus aisée.

    Formats de fichiers

    Comme cela était déjà le cas avec les versions précédentes, nous avons amélioré la prise en charge de formats de fichiers déjà existants et nous avons ajouté la prise en charge de l'importation et de l'exportation pour de nouveaux formats.

    DDS

    Stayd, un nouveau contributeur, a travaillé avec notre développeur Jacob Boerema pour apporter de nombreuses améliorations au greffon DDS. Pour commencer, les fonctions d'importation ont été écrites afin d'être plus simples et plus faciles à étendre dans le futur. Les mises à jour supplémentaires incluent également :

    • Le chargement d'images DDS RVBA 16 et 32 bits/canal est maintenant possible.
    • Le filtre cubique Catmull-Rom a été ajouté pour la génération de mipmaps, et tous les calculs pour générer les mipmaps sont effectués avec une précision de 32 bits.
    • Les images DDS aux formats R8G8, R16 et R16G16 peuvent maintenant également être chargées.
    • Une option pour renverser verticalement les images DDS lors de l'importation a été ajoutée pour faire écho à l'option d'exportation correspondante, étant donné que certaines images de jeux stockent leurs données de cette manière.

    GIF

    Par le passé, écraser un fichier GIF à la sauvegarde (plutôt que de l'exporter) le convertissait systématiquement en un fichier avec une seule image. Désormais nous vérifions lors du chargement si le fichier GIF est une animation, de manière à également sauvegarder une animation lors de l'écrasement.

    HEIF et JPEG-XL

    Les deux greffons utilisent maintenant leurs bibliothèques respectives (libheif et libjxl) pour le chargement des métadonnées. Cela nous a permis de retirer notre code maison chargé d'interpréter l'orientation des images et d'utiliser à la place les informations fournies par ces bibliothèques.

    OpenEXR

    Le format OpenEXR permet aux canaux d'avoir des noms personnalisés, outre le type de couleur. Dans ce cas, nous considérons maintenant toute image à un seul canal avec un nom non conventionnel comme étant en niveaux de gris. Lors de l'importation, nous affichons une notification afin que les utilisateurs soient prévenus de cette conversion.

    PDF

    L'option d'exportation « Calques en tant que pages » fonctionne maintenant même s'il y a un seul groupe de calques. Auparavant, cette option n'était pas disponible car le greffon vérifiait seulement s'il y avait plus d'un « calque » sans examiner s'il s'agissait d'un groupe de calques avec de multiples sous-calques.

    PNG

    Les fragments de fichiers PNG qui sont « copiables sans risque » (« safe-to-copy chunks ») sont maintenant préservés lors de l'importation et inclus dans l'image exportée. Un autre souci qui existait lors de l'exportation de PNGs indexés avec transparence (et qui nous avait été souvent signalé) a été résolu. Désormais les couleurs indexées devraient être affichées correctement après exportation.

    PSD

    Jacob Boerema a poursuivi son travail d'amélioration du greffon PSD. En plus d'avoir résolu des bogues, par exemple dans l'ordre des calques lors de l'importation, il a aussi clarifié l'avertissement présenté lors de l'exportation et concernant la compatibilité des modes de calques entre GIMP et Photoshop.

    PSP

    Le greffon Paintshop Pro peut maintenant importer davantage de caractéristiques depuis un fichier projet, comme par exemple le profil de couleurs ICC, les guides, les grilles, et la sélection active lors de la sauvegarde. Les failles de sécurité ZDI-CAN-22096 et ZDI-CAN-22097 ont également été corrigées dans cette version.

    Nouveaux formats d'image pris en charge : Farbfeld, Esm Software PIX, HEJ2

    Nous avons récemment ajouté la prise en charge de l'importation et de l'exportation pour le format Farbfeld, un format d'image sRVB conçu pour être facile à lire, à envoyer dans des pipes et à compresser avec des outils tiers.

    Nous avons aussi ajouté la prise en charge de l'importation seule pour les nouveaux formats suivants :

    • Esm Software PIX : Un format JPEG modifié utilisé exclusivement par l'entreprise Esm Software pour stocker leurs images propres. Cela a été implementé en réponse à un signalement de bogue qui avait confondu ce format avec le format Alias PIX que nous prenions déjà en charge.
    • HEJ2 : Un ajout à notre greffon HEIF déjà existant fourni par Daniel Novomeský qui permet d'importer des images JPEG 2000 compressées.

    Nouveau format de palette pris en charge : Swatchbooker

    Swatchbooker est un programme libre de création et de conversion de palettes de couleurs qui prend en charge de nombreux formats. Bien que le programme lui-même n'ait pas été mis à jour depuis de nombreuses années, son format de palette propre .sbz est le plus complet de tous ceux que nous prenons en charge actuellement. Parmi ses nombreuses fonctionnalités, on peut citer la possibilité de définir des couleurs dans plusieurs modèles de couleurs pour chaque entrée d'une palette, des noms et des descriptions régionalisables, et la prise en charge de profils de couleurs ICC différents pour chaque entrée.

    Via notre travail sur la prise en charge de son importation, nous avons pu fournir des informations qui ont conduit à un correctif de bogue dans la prise en charge de Swatchbooker par Krita. C'est toujours sympa quand des projets peuvent collaborer et s'entraider !

    Interactions avec les pads de tablettes graphiques sous Wayland

    Carlos Garnacho, un contributeur GNOME de longue date, a ajouté la prise en charge de l'interaction directe des boutons de tablettes graphiques (pad) avec GIMP. Quand une tablette est branchée, vous pouvez désormais assigner différentes actions aux contrôles de la tablette depuis la boîte de dialogue « Périphériques d'entrée » dans le menu Édition.

    Assigner des actions aux boutons d'une tablette graphique
    Assigner des actions aux boutons d'une tablette graphique - GIMP 2.99.18

    Ce travail a aussi impliqué le portage de fonctionnalités vers GTK 3, la boîte à outils utilisée par GIMP pour son interface graphique. Notez que cette fonctionnalité est seulement disponible sous Wayland pour le moment.

    Mise à jour de l'API

    L'interface de programmation d'application (API), destinée aux créateurs de greffons, est régulièrement retravaillée dans le cadre de la refonte de GIMP 3. Une partie de ce travail est de migrer l'API vers l'utilisation de GeglColor lorsque les couleurs sont impliquées, ce qui entre dans le cadre plus général du projet Space Invasion. Malgré tout, ce n’est qu’une petite partie de l’ensemble des améliorations de l’API.

    Nous nous orientons également vers plus de classes pour représenter les différentes ressources gérées par GIMP (pinceaux, polices, motifs, etc.) au lieu de les représenter uniquement par des noms (ce qui était une limitation historique alors qu'il est tout à fait possible à 2 créateurs de ressources de choisir le même nom et le fait est que nous voyons de tels cas dans la nature — par exemple, 2 polices créées indépendamment peuvent avoir le même nom).

    Un autre grand pas consiste à remplacer le GimpValueArray représentant les arguments ordonnés d'une procédure d'un greffon par un GimpProcedureConfig qui contient les arguments par nom plutôt que par ordre. Cela permet une utilisation beaucoup plus sémantique des procédures de greffon (surtout lorsqu'elles ont une longue liste d'arguments) et facilitera également l'amélioration des greffons à l'avenir, avec des arguments nouveaux ou réorganisés sans créer de nouvelles procédures, car l'ordre et le nombre des arguments comptent beaucoup moins. Cela signifie que l'ajout de nouveaux arguments dans le futur ne brisera plus les scripts déjà existants qui dépendaient des versions antérieures de ces greffons (les auteurs de greffons devront toujours choisir des valeurs par défaut appropriées pour les nouveaux arguments afin que cela soit vrai, bien sûr).

    En parallèle, nous continuons d'améliorer la capacité de création automatique d'interfaces graphiques offerte aux greffons, rendant la création de boîtes de dialogue plus simple que jamais. Cela inclut (parmi de nombreuses autres améliorations) un nouveau type d'argument de procédure nommé GimpChoice qui est une liste de choix sous forme de chaînes de caractères qui peut être présentée aux créateurs sous forme de widgets de liste déroulante dans la boîte de dialogue de votre greffon.

    Nous prévoyons d'écrire et de publier un didacticiel pour les rédacteurs de greffons dans la section Développement de ressources de notre site Web pour développeur en même temps que la sortie de GIMP 3, ou peu de temps après.

    GEGL et babl

    Cette version de GIMP est accompagnée de nouvelles versions de GEGL et babl, qui contribuent toutes deux au projet (Color) Space Invasion.

    babl 0.1.108 apporte une nouvelle fonction babl_space_is_rgb pour nous aider à confirmer directement qu'un espace colorimétrique est RVB (plutôt que de faire plusieurs tests pour voir s'il n'est pas CMJN ou niveaux de gris). Plusieurs améliorations ont également été apportées au processus de compilation et à l'outil d'interface de ligne de commande de babl.

    GEGL 0.4.48 fournit plusieurs mises à jour de l'objet GeglColor qui prend désormais en charge une grande partie des opérations de couleur de GIMP. Les améliorations spécifiques incluent la possibilité d'obtenir et de définir directement les valeurs de couleur CMJN, ainsi que l'attribution de l'espace colorimétrique lors de la définition des couleurs RVB(A).

    Un crash dans le filtre gegl:voroni existant a été corrigé, et un bogue de longue date avec le filtre gegl:dropshadow qui empêchait l'effet de rétrécir a également été corrigé.

    Enfin, un nouveau filtre gegl:shuffle-search a été ajouté à l'atelier. Il mélange les pixels voisins pour créer un effet de tramage plus optimisé.

    Statistiques de sortie

    Hormis la première version de la série (2.99.2), GIMP 2.99.18 est clairement la plus grosse mise à jour à bien des égards. Depuis la version 2.99.16 :

    • 238 rapports ont été clôturés comme CORRIGÉS.
    • 201 demandes de fusion ont été acceptées.
    • 1358 commits ont été poussés.
    • 26 traductions ont été mises à jour : allemand, basque, biélorusse, portugais brésilien, bulgare, catalan, chinois (Chine), danois, espagnol, espéranto, finnois, géorgien, grec, hongrois, islandais, italien, lituanien, norvégien nynorsk, persan, polonais, russe , slovène, suédois, turc, ukrainien, vietnamien.

    60 personnes ont apporté des modifications ou des correctifs à la base de code de GIMP 2.99.18 (l'ordre est déterminé par le nombre de commits; certaines personnes apparaissent dans plusieurs groupes) :

    • 23 développeurs pour le code principal : Jehan, Alx Sa, Shubham, Jacob Boerema, Idriss Fekir, bootchk, Anders Jonsson, Carlos Garnacho, mr.fantastic, Stanislav Grinkov, lillolollo, Øyvind Kolås, Sabri Ünal, programmer_ceds, Lukas Oberhuber, programmer-ceds, James Golden, Luca Bacci, Massimo Valentini, Niels De Graef, Zander Brown, psykose, sonia.
    • 17 développeurs de greffons ou de modules : Jehan, Alx Sa, Jacob Boerema, bootchk, Anders Jonsson, Stayd, Zander Brown, Bruno Lopes, Daniel Novomeský, Sabri Ünal, programmer_ceds, Kamil Burda, Mark, Michael Schumacher, Stanislav Grinkov, programmer-ceds, sonia.
    • 31 traducteurs : Yuri Chornoivan, Martin, Ekaterine Papava, Luming Zh, Sabri Ünal, Anders Jonsson, Rodrigo Lledó, Jordi Mas, Alan Mortensen, Vasil Pupkin, Asier Sarasua Garmendia, Kolbjørn Stuestøl, Boyuan Yang, Víttor Paulo Vieira da Costa, dimspingos, Alexander Shopov, Alexandre Prokoudine, Aurimas Černius, Balázs Úr, Marco Ciampa, Sveinn í Felli, Danial Behzadi, Ngọc Quân Trần, Jürgen Benvenuti, Piotr Drąg, Timo Jyrinki, Andre Klapper, Kristjan SCHMIDT, MohammadSaleh Kamyab, Rafael Fontenelle, Tim Sabsch.
    • 9 créateurs de ressources (icônes, thèmes, curseurs, splash screen, métadonnées…) : Alx Sa, Jehan, Ferry Jérémie, Stanislav Grinkov, Anders Jonsson, Bruno Lopes, Jacob Boerema, Sabri Ünal, mr.fantastic.
    • 5 contributeurs à la documentation : Jehan, Bruno Lopes, Jacob Boerema, Alx Sa, Anders Jonsson.
    • 14 contributeurs pour la compilation, l'empaquetage ou l'intégration continue : Jehan, Bruno Lopes, bootchk, Alx Sa, Zander Brown, Jacob Boerema, Jacob Boerema, Stayd, Carlos Garnacho, Heiko Becker, mr.fantastic, Daniel Novomeský, U-YGGDRASIL\ender, lillolollo.

    Contributions à d'autres dépôts du GIMPverse (l'ordre est déterminé par le nombre de commits) :

    • babl 0.1.108 est composé de 17 commits par 6 contributeurs : Jehan, Øyvind Kolås, John Marshall, Andre Klapper, John, sid.
    • GEGL 0.4.48 est composé de 77 commits par 20 contributeurs : Øyvind Kolås, Jehan, Anders Jonsson, Jacob Boerema, Yuri Chornoivan, Alan Mortensen, Sabri Ünal, Andre Klapper, Ekaterine Papava, Jan Tojnar, Jordi Mas, Luming Zh, Martin , Piotr Drąg, Víttor Paulo Vieira da Costa, Asier Sarasua Garmendia, Marco Ciampa, Rodrigo Lledó, dimspingos, woob.
    • ctx a eu 308 commits depuis la version 2.99.14 par 1 contributeur : Øyvind Kolås.
    • La version gimp-macos-build (scripts d'empaquetage macOS) est composée de 32 commits par 1 contributeur : Lukas Oberhuber.
    • La version flatpak est composée de 15 commits par 3 contributeurs : Jehan, Daniel Novomeský et Hubert Figuière.
    • Notre site Web principal a eu 31 commits depuis la sortie du 2.10.36 par 6 contributeurs : Jehan, Alx Sa, Sabri Ünal, Anders Jonsson, Bruno Lopes, Jonathan Demeyer.
    • Notre site Web des développeurs a eu 30 commits depuis la version 2.10.36 par 5 contributeurs : Bruno Lopes, Jehan, Alx Sa, bootchk, Robin Swift.
    • Notre documentation 3.0 a enregistré 247 commits depuis la version 2.99.16 par 17 contributeurs : Andre Klapper, Jacob Boerema, Yuri Chornoivan, Alx Sa, Jordi Mas, Alan Mortensen, Dimspingos, Anders Jonsson, Boyuan Yang, Sabri Ünal, Víttor Paulo Vieira da Costa, Juliano de Souza Camargo, Rodrigo Lledó, Kolbjørn Stuestøl, Marco Ciampa, Danial Behzadi, Emin Tufan Çetin.

    N'oublions pas de remercier toutes les personnes qui nous aident à faire le tri dans Gitlab, rapportent des bogues et discutent avec nous d'éventuelles améliorations. Notre communauté est également profondément reconnaissante envers les guerriers d'Internet qui gèrent nos différents canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Remarque : compte tenu du nombre de pièces qui composent GIMP et son environnement, et de la manière dont nous obtenons des statistiques via des scripts git, des erreurs peuvent se glisser dans ces statistiques. N'hésitez pas à nous dire si nous avons manqué ou mal catégorisé certains contributeurs ou contributions.

    Nouvelles de l'équipe et procédure de sortie

    Les droits d'accès au dépôt git ont été récemment accordés à Bruno Lopes (qui a été très actif dans l'amélioration de notre processus de compilation et de l'empaquetage pour Windows).

    Plusieurs développeurs ou empaqueteurs de longue date ou plus récents qui ont commencé à contribuer au nouveau site Web des développeurs ont également reçu l'accès au dépôt git associé.

    De plus en plus de contributeurs participent désormais activement aux tests des versions et du processus d'empaquetage, et c'est la première dépêche depuis des années (NDT : cela désigne la news originale sur le site de GIMP) que Jehan n'a pas écrite presque entièrement ! Merci beaucoup à Alx Sa (alias Nikc ou CmykStudent) d'avoir entamé la rédaction collaborative de la nouvelle !

    Il est clair que nous consolidons jour après jour une solide équipe de contributeurs et cela se voit dans notre processus de publication, avec de plus en plus de retours à chaque version.

    Nous sommes également particulièrement heureux et fiers que les 4 projets GSoC que nous avons eus, depuis que nous avons recommencé à souscrire à ce programme de mentorat, aient tous été couronnés de succès et ont fini par être fusionnés avec la branche principale du code au plus tard six mois après la fin du stage.

    Autour de GIMP

    Des nouvelles des miroirs

    Depuis la dernière dépêche, un nouveau miroir a été apporté à GIMP par :

    • Sahil Dhiman, à Nuremberg, en Allemagne, comme projet personnel.

    Cela nous amène à un total de 46 miroirs répartis dans le monde.

    Les miroirs sont importants car ils aident le projet en partageant la charge de dizaines de milliers de téléchargements quotidiens. De plus, en disposant de miroirs répartis à travers le monde, nous garantissons que tout le monde puisse avoir un accès rapide au téléchargement de GIMP.

    GIMP sous Windows/ARM

    Depuis notre annonce d'une version expérimentale sur Windows pour l'architecture ARM 64 bits (en anglais), nous avons reçu l'aide de Hernan Martinez, contributeur bien connu du projet MSYS2, qui a hébergé notre tout premier runner pour l'intégration continue (CI) pour Windows sur l'architecture Aarch64. Bien que cela n'ait été qu'une configuration temporaire (littéralement une machine de compilation dans le salon de quelqu'un) en attendant une situation plus stable, nous sommes extrêmement reconnaissants envers Hernan qui nous a aidés à faire notre deuxième pas sur cette plateforme (la première étape a été effectuée par Jernej, qui a créé notre premier installateur expérimental), s'est assuré que notre processus de compilation automatique fonctionne sur cette machine, et plus encore.

    Depuis lors, la situation plus stable est arrivée : Arm Ltd. eux-mêmes se sont mobilisés et ont officiellement contribué trois runners pour notre processus d'intégration continue dans Gitlab ! Arm Ltd. a également sponsorisé un kit de développement Windows pour l'un de nos développeurs.

    Bien que nous considérions toujours cette version comme expérimentale, en raison du manque de tests et du fait que seuls 2 contributeurs disposent actuellement d'une machine capable de l'exécuter, le plus gros facteur bloquant a été supprimé et nous sommes heureux d'annoncer que notre programme d'installation Windows universel pour GIMP 2.99.18 contient GIMP pour les 3 plates-formes (x86 32 et 64 bits, et maintenant ARM 64 bits) !

    Télécharger GIMP 2.99.18

    Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

    • Flatpaks Linux pour x86 et ARM (64 bits)
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
    • Paquets macOS DMG pour le matériel Intel
    • Paquets macOS DMG pour le matériel Apple Silicon

    D'autres paquets réalisés par des tiers devraient évidemment suivre (paquets des distributions Linux ou *BSD, etc.).

    Et ensuite ?

    Alors que nous sommes maintenant entrés dans un gel des fonctionnalités, notre attention s'est déplacée vers la correction des bogues, le nettoyage et la préparation de la première version candidate 3.0.

    Nous pensons en effet qu'il s'agit de la dernière version de développement puisqu'aucune nouvelle fonctionnalité ne sera introduite désormais, du moins au niveau de l'interface utilisateur (l'API est encore en évolution jusqu'à la première version candidate). Donc, ce que vous voyez maintenant est essentiellement ce que vous devriez obtenir dans GIMP 3.0.0, en termes de fonctionnalités.

    C'est pourquoi nous avons sorti cette version même si nous savons qu'elle est assez instable. C'est l'heure des commentaires de dernière minute ! C'est aussi le moment de signaler et de corriger les bogues comme si demain n'existait pas. Nous espérons pouvoir bientôt livrer une RC1 et elle devrait être aussi dépourvue de bogue que possible.

    Nous espérons actuellement pouvoir publier GIMP pour le prochain Libre Graphics Meeting du 9 au 12 mai. Pour être honnête, ce n’est pas un objectif facile et nous ne sommes donc pas sûrs de pouvoir l’atteindre. Ce qui est sûr, c'est que même si nous n'y parvenons pas à temps, cela ne devrait pas arriver trop longtemps après. En particulier, nous ne publierons pas simplement parce que nous avons fixé une date limite. Nous voulons offrir la meilleure expérience possible, ce qui signifie que si nous découvrons des bogues bloquants de dernière minute, nous retarderons la sortie jusqu'à ce qu'ils soient corrigés.

    N'oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, c'est un moyen de donner en retour et d'accélérer le développement de GIMP. L’engagement communautaire permet au projet de se renforcer ! 💪🥳

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouveautés de mars 2024 de la communauté Scenari

    Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous rédigez une seule fois votre contenu et vous pouvez les générer sous plusieurs formes : site web, PDF, OpenDocument, diaporama, paquet SCORM (Sharable Content Object Reference Model)… Vous ne vous concentrez que sur le contenu et l’outil se charge de créer un rendu professionnel accessible et responsive.

    À chaque métier/contexte son modèle Scenari :

    • Opale pour la formation
    • Dokiel pour la documentation
    • Optim pour les présentations génériques
    • Topaze pour les études de cas

    Mini-webinaire Scenari
    L’association propose un mini-webinaire intitulé « ScenariStyler : personnalisation des pages dans un skin pdf » le vendredi 15 mars 2024 de 17h à 18h heure de Paris, à l’adresse https://scenari.org/visio/miniwebinaire.
    Pour préparer la session, vous pouvez participer à ce fil de discussion sur le forum Scenari.

    Micro-dons pour l'association
    Tu apprécies la communauté et les services de l’asso (forum, mini-webinaires, Rencontres, bulletin d’information, référencement de tutos, trucs & astuces, …) ?

    Et tu voudrais faire un petit geste pour soutenir l’association et la communauté, sans pour autant passer par une adhésion (ou bien en complément d’une adhésion) ?

    On a la solution toute trouvée : faire un micro-don récurrent sur notre tout nouveau compte Liberapay.

    N’hésite pas ! Toute contribution, quel que soit son montant, aide la communauté et donne du baume au cœur :)

    Rends-toi sur notre page de micro-dons

    (pourquoi Liberapay ? Car c’est un projet libre maintenu par une association à but non lucratif, ça correspond bien à nos principes)

    Appel à communications

    Tu utilises Scenari personnellement ou au sein de ton organisation ? Viens en parler aux Rencontres Scenari 2024 à Toulouse.

    N’hésite surtout pas, il y a encore beaucoup de place dans le programme !

    Propose ton retour d’expérience jusqu’au 14 mars 2024 à l’adresse rencontres@scenari.org en indiquant :

    • nom et prénom des intervenants ou intervenantes
    • structure (ton université/entreprise/association… si applicable)
    • titre provisoire
    • descriptif provisoire
    • éventuelles indisponibilités inéluctables

    Sondage ateliers Rencontres Scenari 2024

    Cette année les ateliers seront en fin de Rencontres. Et vu leur succès croissant, il y aura cette fois-ci 3 demies-journées d’ateliers !

    Afin d’être en adéquation avec les besoins de la communauté, nous ouvrons un sondage pour savoir quels sont les ateliers qui t’intéresseraient le plus.

    ► Accéder au sondage ◄

    Des idées pour fêter les 10 ans de l’asso ?

    Lors de ces Rencontres 2024, on fêtera les 10 ans de l’association Scenari. On a quelques idées pour marquer le coup (surprise surprise), mais si tu as des idées, on est preneur.

    Du neuf sur les demandes d’évolution Optim

    Du neuf sur les demandes d’évolution Optim :

    1. La fonction de relecture pour Optim+ sera bientôt disponible !
    2. Il y a maintenant une ancre sur les items de la liste d’événements, ce qui permet de directement ouvrir une page sur l’événement souhaité.
    3. Différentes fonctions pour améliorer le référencement. Plus de détails sur le forum.

    Le savais-tu ?

    Astuce Scenari : Nouveauté dans Opale : tu peux publier le site web d’un module sans la page d’accueil. Pour cela il suffit de mettre le paramètre « Publication compacte » à « oui ».

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Des cycles, des applis et des données

    Avec son plus d’un quart de siècle, il serait temps que LinuxFr se penche sur un sujet qui concerne la population en situation de procréer, soit quelques milliards d’individus, et qui concerne aussi à peu près tout le monde puisqu’il est question de données privées sensibles ; soit encore plus de milliards de personnes. Vous l’avez probablement deviné, il sera donc question des cycles féminins, des applis sous licences libres pour Android servant à le suivre et des données qu’elles récoltent, et également de suggestions d’alternatives.

    Théorie de manchots avec des protections hygiéniques entre les ailes le dernier a un ordiphone

    Sommaire

    Le cycle féminin, de la complexité de la gestion du temps

    Un petit rappel qui peut être utile. Le cycle féminin, qui débute au premier jour des règles, est, le plus souvent, de vingt-huit jours, presque comme celui de la Lune qui est d’un peu plus de vingt-sept jours. Il est marqué, à mi-parcours, par une ovulation qui rend les femmes fécondables. Cette coïncidence a fait écrire des âneries, notamment à Aristote :

     Les menstruations ont tendance à se produire naturellement pendant la lune décroissante […]. Car cette période du mois est plus froide et plus humide à cause de la déperdition et de la disparition de la Lune.1

    Les cycles peuvent, en fait, être plus ou moins longs selon les femmes, durer plus ou moins longtemps et être plus ou moins abondants. Et cela change au cours du temps. Un cycle est considéré comme court lorsqu’il dure moins de vingt-deux jours, et long lorsqu’il dure plus de trente-cinq jours2. Un retard de règles peut être le signe d’une grossesse, de problèmes de santé ou du début de la ménopause. La survenue des menstruations plus tôt dans le cycle peut être aussi source d’inquiétude. Surveiller son cycle n’est donc pas inutile. Une jeune fille peut être fécondée dès l’apparition de ses règles, entre onze et treize ans généralement. La grossesse la plus précoce que l’on connaisse est celle de Lina Medina qui a eu un enfant à cinq ans et demi et avait été réglée à trois ans et elle n’est pas la seule petite fille à avoir subi une grossesse précoce.

    Tout cela s’applique aux femmes qui ne bénéficient pas de contraception orale. Les autres peuvent, ou non, selon les contraceptifs, avoir des saignements.

    Des données sensibles

    Le suivi des menstruations concernant un très vaste public, de (très) nombreuses applications existent pour ordiphone : on peut en retrouver quelque chose comme une centaine sur le Play Store, voire plus. Elles proposent toutes basiquement un calendrier où noter les jours des règles avec la possibilité de paramétrer l’ajout d’autres informations :

    • abondance des règles,
    • relations sexuelles, protégées ou non,
    • symptômes physiques,
    • symptômes mentaux

    Ce qui fait beaucoup, beaucoup de données très sensibles si elles sont soigneusement et régulièrement remplies. Des données qui peuvent intéresser des entreprises ou des pouvoirs publics, qui ne se font pas faute de les utiliser.

    Ainsi, en 2019, des applis partageaient gentiment à des fins de revenus publicitaires les données sur Facebook, sans autorisation des personnes concernées. Certaines femmes pendant certaines périodes de leur cycle pouvant être plus susceptibles d’être influencées par des messages publicitaires bien choisis.

    Aux États-Unis, depuis la révocation du droit à l’avortement3 les données collectées par ces applications font craindre qu’elles ne causent des préjudices aux femmes les plus vulnérables. Et les applis peuvent, ont intérêt à, ou ne refuseront pas de collaborer avec la police pour traquer les femmes susceptibles d’avorter.

    Une quinzaine d’experts onusiens estiment que la pénalisation de l’avortement dans quatorze États états-uniens :

    pourrait conduire à des violations des droits des femmes à la vie privée, à l’intégrité et à l’autonomie corporelles, à la liberté de pensée, de conscience, de religion ou de conviction, à l’égalité et à la non-discrimination et à la protection contre la torture et les traitements cruels, inhumains et dégradants, ainsi que contre la violence fondée sur le genre.

    Ce qui concerne des millions de personnes.

    Les mêmes experts constatent que :

    ces interdictions d’avortement dans de nombreux États américains se sont accompagnées d’une érosion constante et rapide du droit à la vie privée, les forces de l’ordre s’appuyant de plus en plus sur des données électroniques pour traquer les personnes souhaitant avorter ou celles qui les aident et les encouragent à le faire. La plupart de ces données peuvent être consultées sans mandat.

    Ce qui vaut spécifiquement pour l’avortement aux USA, vaut pour tout et partout, notamment l’érosion constante du droit à la vie privée. Par exemple, Google admet que les utilisateurs de Chrome peuvent être suivis dans le mode Incognito. Et on rappellera qu’en France, les services de police judiciaires peuvent accéder aux ordiphones à notre insu et qu’on a l’obligation de donner le code de déverrouillage d’un ordiphone sous certaines conditions4.

    Basiquement, comme d’habitude :

    • on donne le moins possible de données,
    • on choisit ses applis, logiciels, réseaux sociaux, magasins en ligne, etc.,
    • on protège ses données.

    Et, accessoirement (⁉) on lit régulièrement LinuxFr ou ces questions sont souvent traitées, notamment avec les étiquettes vie_privée, pistagedonnées personnelles, ainsi que dans la section sécurité.

    Les applis de suivi des menstruations pour Android sur F-Droid

    S’il paraît nécessaire de recourir à une appli de suivi des menstruations, les critères de choix doivent être, d’une part, qu’elle ne collecte aucune donnée, et, d’autre part, que l’on puisse la télécharger de préférence anonymement.

    Sur F-Droid, il y a quatre applis5, dans l’ordre alphabétique BlueMoon, Drip, Log 28 et Periodical, on les retrouve aussi sur le Play Store. Elles sont sous licence GNU-GPL et LGPL. Toutes les quatre permettent d’ajouter beaucoup d’informations sur la santé physique ou mentale et les relations sexuelles. Ces informations ne sont pas nécessaires pour le suivi des menstruations. Elles affirment toutes que les données ne sont stockées que sur le téléphone et ne sont en aucune façon collectées. Seule Periodical est traduite en français, les trois autres sont en anglais.

    BlueMoon : menstruation et contrôle de la fertilité

    Des quatre applis, c’est celle qui exige la version d’Android la plus récente puisqu’elle n’est accessible qu’à partir des versions 8.

    Captures d’écran de l’appli de suivi des menstruations BlueMoon

    BlueMoon prétend suivre les menstruations et la sexualité des utilisatrices. L’écran d’ajout d’une info propose clairement le choix entre les règles, où on précise l’abondance du flux (trois niveaux), et la sexualité. Dans le second cas de figure, l’appli propose d’indiquer le type d’activité (solo, partenaire, groupe) et demande quel type de contraception, à choisir entre huit propositions. Dans les paramètres de l’appli, on peut configurer la surveillance de la prise de pilules contraceptives : cela se manifeste par une notification vous rappelant de la prendre.

    Il est possible de sauvegarder et de restaurer les données, mais dans un format propre à l’application. On peut aussi les supprimer.

    Fiche technique

    • Android 8.0 et plus
    • Licence GNU GPL v3
    • Version 1.0.4 (5), février 2024
    • Développé par Nibs Grob
    • La fiche sur le site F-Droid
    • Le dépôt de l’appli.

    Drip : une esthétique sobre, un mot de passe et des notifications

    Drip est peut-être l’appli la plus aboutie des quatre en termes de fonctionnalités. L’objectif de l’appli, telle qu’elle se définit elle-même :

    rappelez-vous que vous n’avez pas besoin d’une appli pour comprendre votre cycle ! Cependant, drip veut vous aider et faciliter le suivi de vos règles, plus facile et plus sûr.

    Captures d’écran de l’appli de suivi des menstruations drip

    Pour marquer un jour : il faut indiquer les saignements (bleedings) en cochant leur intensité, de spotting (traces) à heavy (abondant). Cela s’affichera sur le calendrier avec des couleurs rouges dont l’intensité varie selon l’importance du flux. Il faut le faire pour chaque jour. Il est possible de marquer un jour et de l’exclure du suivi menstruel. L’appli peut, sur demande, envoyer des notifications quelques jours avant la date prévisible des règles.

    Les statistiques indiquent les durées minimum et maximum des cycles, l’écart-type et le nombre de cycles.

    On peut protéger l’accès à l’appli par un mot de passe, exporter ou importer les données au format CSV et les effacer du téléphone.

    Fiche technique

    • Android 6 et plus pour la dernière version, la version 0.1905.29-beta (3) de 2020 est compatible Android 4.1 et plus
    • Licence GNU GPL v3
    • Version 1.2311.14 (25), janvier 2024
    • Développé par Bloody Health GbR
    • La fiche sur le site F-Droid
    • Le site de l’appli.

    Log28, pour les vieux ordiphones sous Android 4

    Comme pour la précédente : on ajoute des jours en indiquant les saignements. Ici, pas d’indication d’intensité du flux, mais on peut saisir des notes au besoin. La maintenance de Log28 semble en stase : la dernière version date de 2020.

    Captures d’écran de l’appli de suivi des menstruations log28

    L’écran Overview (Aperçu) indique combien de jours il reste, ou, selon la date, le nombre de jours antérieurs à la date du jour. Il permet de faire défiler horizontalement les informations par jour. Dans Add Info (Ajouter des infos) on peut rajouter des notes et d’autres éléments si on a paramétré l’appli pour ce faire. Par défaut tout est coché, sur les captures d’écran de suivi, je n’ai gardé que les Physicals Symptoms (symptômes physiques) et uniquement Bleeding (saignements).

    Dans Calendar (calendrier) on a un aperçu mensuel et on peut faire défiler les mois dans le sens vertical. Et enfin, le menu History (historique) indique les dates de début des cycles, sur la période ainsi que le nombre de jours des règles et celui des cycles. En haut, figurent les moyennes des durées des cycles et des règles. Et c’est tout.

    Fiche technique

    • Android 4 ou plus
    • Licence : LGPL 3 uniquement
    • Version 0.6 .2, octobre 2020
    • Développé par Waterbird Software
    • La fiche de l’appli sur F-Droid
    • Le dépôt de l’appli.

    Periodical, facile à utiliser et en français

    Periodical a le mérite, outre d’être traduite en français, d’être d’une utilisation très simple. Elle s’ouvre sur le calendrier : on appuie sur un jour et elle vous demande s’il faut le marquer comme premier jour des règles. Il n’y a rien d’autre à indiquer ! On peut, bien sûr, « Modifier les détails » pour ajouter d’autres informations, l’intensité par exemple de 1 (léger) à 4 (abondant). L’abondance des flux figure sur le calendrier sous forme de points, de 1 à 4 donc.

    Captures d’écran de l’appli de suivi des menstruations Periodical

    Le calendrier est en couleurs : rouge pour les jours des règles (comme c’est original  !), bleu pour les jours fertiles et jaune pour les autres. Ça ne peut pas se configurer. Il y a un historique avec les moyennes, un historique détaillé par jour. On peut sauvegarder les données au format json.gz ou les restaurer. Et enfin, l’appli a une aide bien complète et bien faite.

    Des quatre, c’est, de mon point de vue, la plus facile à utiliser, mais peut-être la moins réussie sur le plan esthétique.

    Fiche technique

    • Android 5 et plus
    • En français, licence GNU GPL v3.0 ou plus
    • Version 1.75 (99), octobre 2023
    • La fiche de l’appli sur F-Droid
    • Le site de l’appli.

    À quoi servent ces applis ?

    À quoi servent-elles, ou plutôt comment servent-elles ?

    Elles sont, bien évidemment, utilisées pour suivre le flux et pour prévoir les dates, plus ou moins exacte, des prochaines règles et, par conséquent, faire les courses nécessaires afin de ne pas être pris au dépourvu. On peut aussi, par contrecoup prendre certains rendez-vous, médicaux notamment, en fonction, ou encore des jours de congé.

    Elles peuvent aussi être utiles pour les informations de santé en permettant de repérer rapidement un retard des règles et, selon les cas de figure : s’en réjouir, s’en inquiéter, consulter, etc.

    Elles sont susceptibles d’être utilisées dans un but procréatif : repérer les jours les plus fertiles du cycle. Pour un couple dont un (ou les deux) membre se déplace souvent, cela peut être utile pour programmer les déplacements dans la mesure du possible.

    Peut-on les utiliser à des fins contraceptives ? Non si on ne se base que sur les dates d’ovulation ! Enfin pas si on ne veut vraiment pas avoir d’enfant. En revanche, oui si on a besoin d’un suivi de la prise de pilule.

    Et des alternatives

    Suivre ses menstruations n’est pas indispensable, mais, si on en ressent le besoin, une appli n’est pas le seul moyen. Avec ces alternatives, plus ou moins élaborées, les risques de dispersion des données dans la nature numérique sont quasiment nuls.

    On peut faire ça « à l’ancienne » donc sur du papier. Les diaristes peuvent utiliser leur journal : « cher journal, aujourd’hui les anglais ont débarqué, et ça fait un mal de chien. » On peut utiliser un calendrier, ou un agenda. Ça se fabrique et se vend toujours.

    Si vous n’avez pas de calendrier imprimé sous la main, ni envie d’en acheter un, vous pouvez télécharger et imprimer par exemple :

    • un calendrier fait avec Inkscape, la version d’origine est en anglais et vous la modifierez en même pas quinze minutes avec Inkscape en faisant un Rechercher-Remplacer pour le texte et en passant par l’éditeur XML pour les polices (ce logiciel est une merveille),
    • un calendrier annuel pour Calc, à personnaliser car il est en allemand, il s’imprime sur une feuille A4,
    • un pack de calendriers pour Calc. Prendre le fichier « calendrier_perpetuel_annuel_v16 ». La liste des années s’arrête à 2014 mais on peut la modifier et ça fonctionne très bien pour les années à partir de 2024.

    Et, si on préfère passer par l’ordinateur, les calendriers sous Calc ci-dessus peuvent servir. Mais si, en plus, on veut pouvoir s’amuser avec les données avec des calculs et la possibilité d’ajouter des diagrammes, vous pouvez récupérer ce classeur de Suivi des menstruations qui ne fait que ça et ne s’occupe pas des symptômes ou de votre vie sexuelle. En prime, il est utilisable avec Collabora Office pour Android (pas super confortablement). Il est très certainement améliorable et vous pouvez aussi le « détourner » pour d’autres usages après tout. Il est possible de le compliquer pour rajouter tout ce que vous voulez, donc les symptômes, le budget, etc. Il repose principalement sur des plages, des styles et des formules et des formats conditionnels.

    Pour finir, je tiens à remercier celles et ceux qui, sur Mastodon, m’ont donné des pistes pour la rédaction de cette dépêche.


    1. Citation reprise par Marie Desange, Cycles menstruels et cycles lunaires : il y a bien un lien mais pas celui que l’on croit, Presse santé, 25 août 2021. 

    2. Si vous voulez en savoir plus sur la question, Cycle menstruel (règles) : calcul, durée, ovulation, schéma du site Le Journal des femmes, est vraiment bien fait. 

    3. Le droit à l’avortement consiste à pouvoir interrompre volontairement une grossesse sans que cela soit un délit, à pouvoir bénéficier de soins médicaux pour ce faire sans avoir à justifier quoi que ce soit ni dépendre d’une autorisation, et à ne pas risquer de poursuites pénales en cas de fausse couche. Amnesty International considère que c’est un soin de santé de base. Les grossesses sont à chaque fois des risques pour les mères : une femme meurt toutes les deux minutes pendant la grossesse ou l’accouchement. 

    4. Sur le sujet de la surveillance et la démocratie, je vous renvoie à article d’Asma Mhalla Techno-politique de la surveillance de la revue Le Grand Continent. 

    5. Tout au moins, je n’ai repéré que ces quatre là. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Eliane Domingos : nouvelle présidente de The Document Foundation

    The Document Foundation, TDF pour les intimes, la fondation qui chapeaute la suite bureautique libre LibreOffice, a élu, le 19 février 2024 son nouveau Conseil d’administration, à sa tête Eliane Domingos de Souza. Elle est élue pour deux ans. C’est aussi une bonne opportunité pour évoquer rapidement le fonctionnement de TDF et le rôle du conseil d’administration (BoD).

    Logo LibreOffice

    Sommaire

    Parcours d’une militante

    Eliane Domingos est consultante en cotravail et formatrice en migration vers LibreOffice. Elle est membre de la communauté LibreOffice depuis plus onze ans et a été membre du BoD de TDF de 2014 à 2016.

    Après avoir commencé à militer pour une bureautique libre avec OpenOffice.org, elle continue ensuite avec LibreOffice. Elle vit à Rio de Janeiro et fait partie de la communauté brésilienne LibreOffice où elle promeut la suite dans diverses manifestations et sur les réseaux sociaux. Elle fait maintenant partie, depuis quelques années, du comité d’organisation du congrès latino-américain (es) de LibreOffice (LATAM).

    Elle a créé et animé le LibreOffice Magazine (en), une publication, en portugais brésilien, de la communauté brésilienne réalisée uniquement avec des logiciels libres : Draw, Inkscape, Gimp et Shutter. Le magazine donnait des nouvelles de la suite, des interviews et des tutoriels. Il a fait l’objet de vingt-sept numéros : d’octobre 2012 à décembre 2017. On peut toujours les télécharger en version PDF et ODG (pt). L’objectif du magazine était de montrer que LibreOffice, c’était plus qu’un tableur et traitement de texte, d’où le choix de Draw. Elle voulait aussi démontrer la puissance de Draw et ce qu’il est possible de faire avec. Comme souvent, le projet s’est arrêté faute de volontaires pour continuer à l’alimenter malgré une forte audience.

    Pendant la « campagne électorale » au BoD elle s’était livrée à l’exercice de la vidéo avec de petites vidéos expliquant l’importance de LibreOffice. En fin d’année 2023, elle avait, notamment, réalisé cette sympathique petite vidéo avec un t-shirt « à programme » dont le slogan, en anglais, était : « TDF and community t♡gether for LibreOffice  » (TDF et la communauté ensemble pour LibreOffice).

    The Document Foundation 

    The Document Foundation (TDF) est une fondation de droit allemand à but non lucratif dont l’objectif est la promotion et le développement de logiciels bureautiques libres accessibles à tous et à toutes gratuitement et basés sur des standards ouverts. Le logiciel, à savoir la suite bureautique libre LibreOffice doit être :

    mis à la disposition de tous, y compris des entreprises et des administrations, pour une utilisation libre et ouverte, sans préjudice de la propriété intellectuelle de leurs propres fichiers, afin d’assurer leur pleine participation à une société numérique (préambule des statuts).

    Pour ce faire TDF, entre autres actions, pilote le développement de la suite LibreOffice et la diffuse sur son site, permet à tout un chacun d’ajouter extensions et modèles sur le site dédié, encourage la traduction de LibreOffice et a embauché récemment des personnes pour travailler sur l’accessibilité de la suite bureautique.

    TDF est pilotée par trois conseils :

    1. le conseil d’administration (le BoD, Board of Directors, en allemand « der Vorstand ») dont Eliane Domingos est l’actuelle présidente,
    2. le conseil des membres (Board of Trustees, en allemand « das Mitglieder-Kuratorium sowie »),
    3. le bureau des membres (Membership Committee, en allemand «  das Mitglieder-Komitee »).

    L’activité au sein de ces conseils est bénévole (article 6 des statuts).

    Ces instances peuvent s’aider d’autres instances comme le comité de direction technique (ESC, Engineering Steering Committee) composé de personnes physiques dotées de compétences transversales dans :

    le développement, le codage, la traduction, l’expérience utilisateur, l’assurance qualité (QA), l’ingénierie de mise en production, la création de paquets, etc. (wiki de LibreOffice)

    Ou encore le conseil consultatif (AB, Advisory Board) qui est une instance statutaire et dont la mission est de conseiller le BoD. Il est composé de personnes morales (en) telles que : Collabora (en), la ville de Munich, KDE, GNOME (en) ou la FSFE.

    Le BoD (conseil d’administration), rôle et composition

    Le conseil d’administration (ou « BoD » pour Board of Directors) est élu avec une représentation proportionnelle des voix individuelles par un scrutin à vote unique transférable en utilisant la méthode Meek. Il est élu par les membres de la communauté pour deux ans. Il comporte sept membres et trois suppléants, dans l’ordre alphabétique de prénoms : Björn Michaelsen, Eike Rathke, Eliane Domingos (présidente), Italo Vignoli, László Németh, Mike Saunders, Osvaldo Gervasi, Paolo Vecchi, Simon Phipps (vice-président) et Sophie Gautier.

    Eliane Domingos succède à Thorsten Behrens (en). C’est la première fois dans l’histoire de TDF qu’il y a autant de femmes (deux) au conseil d’administration.

    Le BoD « est l’administrateur principal des projets et des équipes de la Fondation. Les membres du Conseil sont des représentants judiciaires et extrajudiciaires de la fondation. » Gouvernance de LibreOffice. Il a aussi pour rôle de prévenir d’éventuels conflits d’intérêt au sein de la fondation. Il a, statutairement, la mission de veiller à ce « qu’un tiers maximum des membres du conseil d’administration, du comité des membres et du conseil consultatif travaillent pour la même entreprise, organisation ou unité ou l’une de ses organisations filiales pendant que les employés travaillent. » (statuts, article 8). Le BoD peut exclure des membres d’un comité ou en ajouter si nécessaire pour éviter ces risques. Il a également pour obligation de publier toutes les informations concernant le fonctionnement de TDF et celui des conseils (article 8.3).

    Une promesse pour LibreOffice

    La gouvernance de TDF a, ces dernières années, dérivé du modèle original des statuts. Au menu : manque de transparence, conflits d’intérêts, etc. générant des tensions et un climat délétère pouvant amener des bénévoles et des personnes salariées à quitter le projet. À cela s’ajoute un inconfort sur le mode de délivrance de la version « de bureau » de la suite, des voix s’étant élevées pour qu’elle ne soit plus gratuite. Et enfin, un audit mené en 2023 soulignait qu’il était possible que, compte tenu du fonctionnement actuel de la fondation, elle pourrait ne plus être considérée comme une organisation à but non-lucratif.

    Face à ce triste constat, un groupe de personnes s’est constitué à la fin de l’année pour rédiger un manifeste « Une promesse pour LibreOffice » et présenter une liste. Sur les onze personnes de la liste, cinq ont été élues : Eliane Domingos, évidemment, Mike Saunders (Alllemagne), Paolo Vecchi et Osvaldo Gervasi (Italie) ainsi que Sophie Gautier (France)1.

    Cette promesse, traduite en huit langues dont le français indique, en creux, les dysfonctionnements de TDF. Les signataires s’engagent à les corriger, notamment en 2 :

    • rétablissant les appels d’offres afin d’offrir « des opportunités pour tous, qu’il s’agisse de développeurs individuels ou de grandes organisations »,
    • agissant avec transparence (exit les réunions privées) avec des réunions moins nombreuses mais plus efficaces et à des horaires variables (mondialisation oblige) et en publiant des rapports publics mensuels traduits dans de nombreuses langues,
    • installant un système de démocratie délégative,
    • veillant à ce que la maîtrise de l’anglais ne soit plus une obligation pour participer,
    • organisant au moins une des deux conférences officielles de LibreOffice en dehors de l’Europe,
    • valorisant tous les contributeurs de la même manière pour que plus personne se sente comme un membre de la communauté de « seconde classe ».

    Les signataires de la promesse s’engageant également à ce que TDF soit reconnue dans le monde entier au niveau gouvernemental et à développer l’écosystème.

    Des orientations pour son mandat ?

    Au cours de la mandature 2014 – 2016, le BoD fonctionnait sur la base de réunions hebdomadaires et les membres du BoD n’avaient pas d’attribution particulière. Pour ce mandat, Eliane Domingos pense que certains des administrateurs et administratrices pourraient se voir confier la surveillance d’un secteur pour une meilleure efficacité.

    Ainsi, il pourrait y avoir une personne en charge du marketing, une pour s’occuper des dons, une pour suivre le développement de la suite, etc. Elle espère que cela permettra de rétablir une meilleure ambiance au sein du projet.

    Sur l’aspect financier, elle pense qu’il serait peut-être pertinent de diversifier les sources de paiement pour les dons. Elle se base notamment sur son expérience où, au Brésil, nombre de personnes souhaiteraient pouvoir faire des dons sans pour autant donner leur numéro de carte de paiement. Sur cette question, elle estime également qu’il y aurait des efforts de promotion à faire.

    Enfin, elle défend également une meilleure diversité au sein de TDF.

    Pour compléter ?

    Vous trouverez des liens vers les listes de tous les autres membres des différents conseils d’administration de TDF par mandat en passant, par exemple, via la page de l’actuel BoD. TDF étant de droit allemand, les statuts sont en allemand, une traduction en anglais figure toutefois en haut de la page qui leur est consacrée avec toutes les réserves de rigueur sur le fait que seule la version allemande a force juridique.

    Si vous voulez suivre le travail du BoD, les minutes des réunions seront publiées sur le Nextcloud de TDF.

    Un grand merci à Jean-Baptiste Faure pour sa relecture.


    1. Les candidatures et les élections au BoD ne se font pas sur une base géographique, mais il m’a semblé utile d’indiquer les lieux de résidence. 

    2. Les passages en italiques sont tirés de la « Promesse ». 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Appel à présentation pour le LibreGraphicsMeeting 2024

    Depuis 2006, le LibreGraphicsMeeting réuni une fois par an divers équipes et utilisateurs avancés des logiciels de créations graphiques. Nous parlons ici de Gimp, Krita, Inkscape, Scribus pour les équipes les plus régulières mais d’autres projets viennent régulièrement contribuer au groupe ou se faire connaître, présenter des projets moins visibles, plus ciblés voire des bibliothèques d’outils. Le but de ces rencontres est multiple : permettre aux contributeurs de se retrouver une fois l’an pour définir des objectifs annuels, définir des stratégies interlogicielles afin de favoriser l’interopérabilité comme cela a pu être le cas avec la création de format comme le OpenRaster…

    Les effets du LibreGraphicsMeeting ont été importants dans le workflow de la création graphique mais cela n’est pas fini car le domaine évolue beaucoup en termes de besoin mais aussi en termes d’application avec de nouvelles pratiques et de nouvelles priorités.

    2024 signe le retour du LibreGraphicsMeeting en présentiel, ce qui était l’objectif initial. Il se déroulera à Rennes du 9 au 12 mai dans les locaux d’Activdesign et sera organisé cette année par l’Association francophone des graphistes libres (AFGRAL) en remplacement du Grafik Labor avant de reprendre éventuellement sa mobilité internationale.

    S’agissant d’une édition de reprise, l’objectif est de pouvoir faire un point sur les évolutions et nouveautés de ces dernières années par des conférences, et de permettre les rencontres lors d’atelier ou réunions de travail. Si vous souhaitez participer au LGM, n’hésitez pas à proposer une conférence avant le 2 février 2024, après quoi le comité de programmation se réunira.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Scribouilli v1.0 : un outil simple pour des petits sites et des blogs

    Il y a 10 mois, je vous annonçais dans une dépêche la naissance de la version Beta de Scribouilli. Scribouilli a pour but d’être une solution simple pour réaliser un blog ou un petit site internet de quelques pages utilisable avec des personnes sans grande connaissance informatique.

    Depuis lors, on a pu voir sur les réseaux l’annonce d’une version 1.0 pleine d’améliorations par rapport à ce que je vous avais présenté. Pour faire court, toutes les limitations de la version Beta que j’avais pointées dans la dépêche précédente ont été levées.

    Sommaire

    Hébergement

    Dans sa première version, Scribouilli nécessitait d’avoir un compte GitHub et cela n’est pas du genre à plaire à tout le monde. Désormais, lorsque vous vous lancez avec Scribouilli, vous tombez rapidement sur cet écran :

    Choix hébergement

    Il s’agissait d’une évolution qui était envisagée depuis le départ ou quasiment. L’arrivée relativement rapide de cette évolution a clairement été aidée par le fait que Framasoft a choisi d’utiliser Scribouilli pour les mini-sites dans le cadre de la refonte de framalibre.org. L’usage de GitHub par Scribouilli n’était pas trop au goût de Framasoft. Si vous l’ignorez, Microsoft a racheté GitHub en 2018 et même si GitHub est devenu une référence pour trouver les projets open source, GitHub.com lui-même n’est pas open source.

    Le caractère non-opensource de GitHub est une des raisons de ne pas être fan d’un outil qui passe par GitHub mais GitHub est aussi un monde intimidant pour une personne lambda sans background spécifique en informatique. Dans la première version de Scribouilli, il fallait aller sauvegarder les images du site dans GitHub et puis revenir à Scribouilli pour insérer l’image avec le code markdown adéquat. Désormais, un lien permet d’uploader les images à partir de Scribouilli qui par ailleurs génère le code markdown qui va bien. Il reste donc à copier ce code et le coller à l’endroit adéquat de la page ou article en rédaction. Il n’est donc plus nécessaire de quitter l’interface de Scribouilli.

    L’évolution de l’interface de Scribouilli apporte deux autres améliorations en lien plus ou moins direct avec l’hébergement. Premièrement, dans ses premières versions, le parcours supposait systématiquement que l’on voulait créer un nouveau site. Pour modifier un site, il fallait faire comme si on allait créer un nouveau site et puis cela se passait bien. Désormais, on a explicitement le choix entre créer un nouveau site ou en modifier un existant. La seconde évolution est que pour un même compte GitLab, GitHub ou ScribouGit, il est maintenant possible d’avoir plusieurs sites internet.

    Dernier point en lien avec l’hébergement, l’URL qui était générée dans la version Beta était assez particulière et surtout peu parlante. Désormais, lors de la création d’un nouveau mini-site ou blog, on choisit le nom de celui-ci et l’URL prend la forme : adresse du dépôt / nom du site. Si l’on souhaite un nom de site encore plus sur mesure, il y a moyen avec quelques incantations plus ou moins magiques de lier un nom de domaine personnel à son site.

    Blog

    Dans la dépêche précédente, j’écrivais

    Autant Scribouilli me paraît parfaitement utilisable en l’état pour un site simple de quelques pages, autant son utilisation pour un blog me paraît moins évidente. En effet, le menu deviendra vite illisible si l’on crée une page pour chaque nouveau billet.

    En parlant du menu, remarquons qu’il n’y a pas vraiment moyen de choisir l’ordre dans lequel les pages apparaissent dans le menu. Il me semble que les pages sont classées par ordre alphabétique avec une exception pour la page accueil qui, indépendamment de son nom, apparaît de manière assez logique en première.

    L’absence de création d’un flux RSS est aussi une caractéristique peu gênante pour un site de quelques pages mais qui peut être plus ennuyante dans le cadre d’un blog.

    Et bien aujourd’hui, Scribouilli ne possède plus ces limitations. Dans les paramètres, on peut demander l’ajout d’une page Articles.

    Ajouter une page Articles

    Comme vous pourrez le voir un peu plus bas dans cette dépêche, la page Article sert comme page menu de tous vos posts de blog qui apparaissent dans l’ordre chronologique de création.

    Pour ce qui est du menu général du site qui apparaît à droite dans le bandeau du haut, il y a désormais moyen de modifier l’ordre d’apparition des différentes pages. Une petite exception concerne la page Articles qui apparaît toujours en première dans le menu.

    Finalement, associé à la page Articles, un flux RSS est également généré.

    Ergonomie

    Deux autres évolutions positives que je classifie dans ergonomie concernent la prévisualisation des articles et la possibilité de consulter le code markdown des pages sans devoir relancer tout le cycle de la publication.

    Dans la version Beta, même si on n’avait rien changé à une page dont on venait de vérifier le code, il fallait lancer un cycle complet de publication du site. Aujourd’hui, ce n’est plus le cas.

    La prévisualisation est déroutante pour une personne habituée à écrire pour Linuxfr.org vu que la prévisualisation se déroule en temps réel, il n’est nul besoin de demander une prévisualisation en actionnant un quelconque bouton. La prévisualisation est toujours disponible et visible quand on tape le markdown.

    Modifier l’apparence du site

    Dans la dépêche précédente, je notais que le look était à prendre ou à laisser. La vitesse de développement de Scribouilli m’amenait à me contredire rapidement dans les commentaires. En effet, une possibilité de modifier le code CSS avait été ajoutée à Scribouilli.

    Modifier le code CSS

    Je terminais mon commentaire en indiquant que je n’avais plus qu’à apprendre le CSS. LinuxFR n’étant pas à une sournoiserie près, j’étais désigné dans les primés de mars 2023 des meilleures contributions. Je me suis senti obligé de prendre un livre qui se révélera excellent sur le CSS. LinuxFR récidivant quelques mois plus tard, je me sentais de nouveau obligé de choisir un livre en lien avec les sites internet et le CSS (qui s’avérera tout aussi intéressant). Première morale à cette histoire, contribuez à LinuxFR, vous n’êtes jamais à l’abri de recevoir l’opportunité de compléter votre bibliothèque.

    Seconde morale à mon histoire, je me sens invité à vous partager quelques adaptations que j’ai faites à mon blog à l’aide du CSS. Vous ne perdrez pas de vue que ma connaissance du CSS reste très récente et relativement limitée. Par ailleurs, étant de base plutôt satisfait du look de Scribouilli, ne vous attendez pas à des modifications radicales. Ces exemples permettront de donner une idée du genre de chose possible à réaliser ainsi que d’illustrer certaines limites de la démarche.

    Page d’accueil

    Commençons par la page d’accueil. L’image ci-dessous présente à gauche mon blog avec mes adaptations et à droite son look avant transformation.

    Page d’accueil

    En haut à gauche, on remarque que j’ai ajouté une sorte de logo à mon blog. Les quelques lignes de CSS qui permettent cela :

    header div.container {
      background-image: url(https://github.com/t-isaac/test-website-repo-3796/raw/main/images/logo.avif);
      background-repeat: no-repeat;
      background-position: left center;
      background-size: contain;
    }
    

    Lignes que j’ai dû compléter afin de gérer plus ou moins correctement l’affichage sur des petits écrans (tablettes, ordiphone,…) par une série d’instructions du type:

    @media only screen and (max-width:430px) {
      header div.container{
          background-size: 40%; }
    }
    

    Les personnes les plus attentives auront remarqué que contrairement à ce que j’ai écrit plus haut dans cet article, j’ai réussi à modifier l’ordre d’apparition dans le menu en haut à droite de la page Articles. C’est une petite astuce permise avec le CSS, il suffit de demander d’afficher ce menu dans le sens inverse (de gauche à droite plutôt que de droite à gauche). J’en profite aussi pour légèrement réduire l’écartement entre les deux éléments du menu.

    header ul {
      flex-direction: row-reverse;
      gap: 0.45rem;
    }
    

    Ce petit truc a ses limites. Par exemple, il ne fonctionnera pas si vous souhaitez avoir une section contact et que les pages apparaissent dans l’ordre suivant : Accueil – Articles – Contact. Systématiquement, la page Articles devra apparaître soit en premier, soit en dernier.

    Jusqu’à présent, nous avons parlé du bandeau supérieur qui en fait n’est pas spécifique à la page d’accueil et que l’on retrouvera également sur toutes les autres pages. Le bateau est par contre un élément spécifique de la page d’accueil. Il s’agit d’une image svg. Au niveau du CSS, il faut gérer deux éléments : la couleur pour que le bateau soit toujours de la même couleur que le reste du site et l’alignement de l’image qui par défaut apparaîtrait au-dessus du texte de la page d’accueil.

    svg {
       fill: var(--couleur-primaire);
       stroke: var(--couleur-primaire);
    }
    
    #Voilier {
       float: left;
       margin-left: 0rem;
    }    
    

    Vous pouvez aller vérifier, depuis les captures d'écran, j’ai changé la couleur de mon site et le voilier a suivi le mouvement.

    La page Articles

    Continuons par la page Articles. De nouveau, l’image ci-dessous présente à gauche mon blog avec mes adaptations et à droite son look avant transformation.

    Menu Articles

    L’apparition du flux RSS n’a rien à voir avec mes transformations mais est liée au fait que l’image de droite a été prise avant l’introduction de cet élément dans Scribouilli.

    Je ne suis pas trop fan de la présentation par défaut de Scribouilli. J’ai donc fait pas mal de modifications ici. D’autant plus que j’y ai ajouté quelques modifications pour le fun d’essayer certaines des fonctionnalités du CSS. Reconnaissons que le point négatif de mes modifications est sans doute une moindre lisibilité.

    La première chose que j’ai faite, c’est de supprimer les Lire l’article et les lignes de séparation:

    hr, article.blog-item > a {
      display: none;
    }
    

    Ensuite, je diminue la taille des titres, je les souligne et je prévois une transition pour quand on les survole:

    .blog-item h2 a {
      font-size: 1.25rem;
      text-decoration: underline;
      transition: 0.1s;
    }
    

    Je réduis drastiquement l’espace entre les différents titres de post:

    .blog-item, .blog-item h2 {
      margin-top: 0rem;
      margin-bottom: 0rem;
    }
    

    Ce n’est pas hyper utile et cela donne des trucs bizarres avec les écrans tactiles, mais j’agrandis les titres quand on les survole avec la souris:

    .blog-item h2 a:hover {
      font-size: 1.5rem;
    }
    

    Je termine mes modifications en prévoyant un changement de couleur quand le lien a été visité:

    .blog-item h2 a:visited {
      color: silver;
    }
    

    Alignement des images

    Le dernier type de modification que j’ai apporté concerne l’alignement des images. Ci-dessous, de nouveau à gauche le blog après mes modifications et à droite, le même blog mais sans modification du code CSS de Scribouilli. Par défaut, les images sont alignées sur la gauche et il n’y a aucun texte autour de l’image.

    Alignement des images

    En quelque sorte, j’ai dû tricher. En effet, en se limitant juste au CSS, il n’est pas vraiment possible d’obtenir des alignements différents pour les différentes images. Pour y arriver, je dois introduire mes images non pas avec du markdown mais avec du code HTML. Je définis différentes classes qui sont gérées par du code spécifique dans mon CSS. Par exemple, j’utilise une classe GF pour laquelle j’écris le code CSS suivant qui aligne l’image sur la gauche et prévoit une légère marge pour le texte qui viendra se placer à côté de l’image:

    .GF {
       float: left;
       margin-right: 3rem;
    }
    

    D’autres exemples

    On peut retrouver ici une liste de sites utilisant Scribouilli. Parmi ceux-ci, certains ont également effectué des modifications à l’aide de CSS. Ci-dessous, deux exemples. À gauche, le site de La Frontale qui obtient une impression très différente avec très peu de modification au niveau du CSS. À droite, le site de lahminewski qui est un exemple de modifications plus visibles mais qui restent très simples. On retrouve ici le code CSS qui y est utilisé.

    Autres exemples de site Scribouilli

    Réflexions concernant le CSS

    Les quelques exemples présentés ci-dessus démontrent qu’il n’y a pas besoin de beaucoup de code CSS pour obtenir des effets forts différents les uns des autres. Tout n’est cependant pas possible, Scribouilli apporte une structure de base qui impose parfois quelques contraintes (par exemple concernant la place de la page Articles dans le bandeau supérieur). Si l’on est prêt à utiliser du code HTML dans ses pages, les possibilités de personnalisation augmentent. Comme pour l’alignement des images, le HTML est un passage parfois obligé si l’on a un but précis.

    Même si le CSS (ainsi que le HTML) n’est pas très compliqué, on s’éloigne de l’objectif d’avoir un outil simple et facile pour des personnes non versées en informatiques. Rappelons d’abord qu’il n’y a aucune obligation d’ainsi adapter son propre site Scribouilli. Par ailleurs, rien qu’en jouant avec la couleur du site et avec des images, on peut déjà imprimer une personnalité propre à son site. Finalement, si vous accompagnez une personne sans connaissance informatique mais que vous, vous possédez la compétence pour coder le CSS, il est très simple d’écrire quelques règles CSS qui apporte une identité propre au site et puis de laisser la personne se débrouiller par elle-même pour la gestion du contenu proprement dit du blog ou du site.

    Il est appréciable que Scribouilli soit à la base utilisable de manière très simple mais que cela n’empêche pas des personnalisations assez importantes pour les personnes qui maîtrisent le CSS et le HTML.

    Aider

    Scribouilli reste un outil jeune même s’il a quitté son statut de version Beta. La première chose que vous pouvez faire est de tester l’outil et de faire des retours à l’équipe derrière ce sympathique outil. À en croire le site officiel, l’équipe est toujours preneuse de ces retours.

    J’imagine que si vous êtes sympathiques et un poil compétents, il y a sans doute moyen de collaborer avec les créateurs de Scribouilli. Contactez-les le cas échéant.

    Pour le moment, Scribouilli est développé de manière bénévole. Ce n’est pas prévu pour le moment mais si vous avez très envie de les soutenir financièrement, je suis convaincu que si vous les contactez, il y aura moyen de trouver une possibilité de le faire de manière utile (mais bon, là, je m’avance peut-être un peu).

    Conclusion

    Désormais, Scribouilli est un outil fonctionnel pour réaliser un site de quelques pages ou pour bloguer. Sans rien y connaître, il est simple de mettre en place son blog ou son site. En s’y connaissant un peu, Scribouilli offre pas mal de possibilités de personnalisation rien qu’avec le CSS. Travailler avec le HTML permet d’aller par ailleurs encore plus loin dans la personnalisation de son site ou blog.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Archiver ses vidéos : retour d’expérience

    Préambule : ma vie (et peut-être aussi la vôtre)

    Comme probablement beaucoup d’entre vous, j’ai des milliers de photos et vidéos accumulées au cours des 20 dernières années. C’est très pratique de pouvoir stocker cela sur un seul disque dur. Mais cela pose trois problèmes majeurs :

    1. la pérennité du support ;
    2. le classement des fichiers pour pouvoir en retrouver un en particulier dans… très longtemps.
    3. la possibilité de lire des fichiers dans plusieurs années (je pense à des fichiers Publisher 2.0 que je ne suis plus parvenu à lire par la suite – et non : les versions ultérieures à Publisher 2.0 ne lisent pas ces fichiers.

    Ce texte s’adresse à toute personne qui se pose trois questions :

    1. Pourrai-je visionner mes fichiers vidéos dans 30 ans pour les montrer à mes petits-enfants ?
    2. Comment organiser/classer mes fichiers vidéos pour les retrouver rapidement ?
    3. Comment réencoder mes fichiers vidéos pour limiter la place occupée (ou, dit autrement : quel format utiliser) ?

    Après avoir lu cette dépêche, je vous recommande très fortement de vous reporter aux commentaires qui suivent car vous y trouverez probablement des précisions, liens, corrections ou suggestions qui l’enrichissent.

    • Pour le point 1., aucun support n’étant inaltérable/incassable, la règle tient en une phrase : « sauvegarder sur plusieurs supports (pour parer une éventuelle défaillance), dans différents endroits (en cas d’incendie, de vol, d’inondation…) et si possible en chiffrant ses disques (pour protéger votre vie privée en cas de vol : c’est incroyablement simple sous linux)
    • Pour le point 2., j’avais rédigé un document il y a fort fort longtemps où j’expliquais que le seul classement pérenne était le classement chronologique (je vous laisse vous reporter au document pour comprendre pourquoi l’utilisation de logiciels propriétaires est à proscrire). Pour résumer, je crée un dossier par année (2023) dans lequel il y a douze sous-dossiers (2023_01, 2023_02 etc.) et dans chacun d’eux, je crée un dossier par jour avec la date et le lieu (par exemple, 2023_06_25_saint_denis_la_reunion indique immédiatement où et quand ont été prises les photos et les vidéos à l’intérieur de ce dossier). Les photos sont renommées (et retournées si nécessaire) automatiquement avec l’instruction jhead -autorot -nf%Y_%m_%d__%H_%M_%S_ *.jpg. Les vidéos sont renommées manuellement sous la forme 2023_06_25__video_02_christophe_et_philippe_en_velo.mov 1
    • Pour le point 3., le format JPG étant ouvert, la lisibilité des photos est garantie dans le temps. Pour les vidéos, c’est un peu plus compliqué puisqu’en général, trois formats interviennent :
      • le codec vidéo pour l’image (comme h264, h265, av1, mjpeg…) ;
      • le codec audio pour le son (comme mp3)
      • le format de conteneur (comme avi, mp4, mts…)

    C’est là où on en revient à l’histoire de ma vie.


    1. note : je n’ai jamais trouvé comment récupérer les métadonnées des vidéos pour les utiliser dans le nom du fichier, comme je le fais avec jhead. 

      Sommaire

      I Il était une fois MA vie !

      Après plus de 20 ans de stockage, mon disque dur de 1 To frisait les 90 % de remplissage. Alors, oui, 1 To, c’est très commun aujourd’hui : il me suffisait d’acheter un disque de 4 To et le problème était réglé.

      Oui… mais non. Je n’aime pas occuper de la place. Je pense que c’est une mauvaise habitude que d’avoir des téraoctets disponibles ou des gigaoctets sur une carte SD pour son smartphone que l’on utilise sans se poser de questions en ayant l’impression d’un stockage illimité. Car un jour, cela nous revient dans les dents (carte SD/disque dur qui plante sans sauvegarde, réinstallation de tout le système, sauvegarde de ses milliers de photos que l’on se décide - un jour - de ranger dans un dossier A_RANGER1 puis A_RANGER2 puis A_RANGER3, etc. puis on abandonne).

      En ayant un espace de stockage limité, on doit apprendre à le gérer.

      Les plus anciens se souviennent peut-être des magnétoscopes : on achète des cassettes, on enregistre des films en se disant « je le regarderai un jour » et on se retrouve avec des centaines de cassettes qui prennent la poussière. Ben c’est pareil avec les disques durs : on a des téraoctets en pagaille et on se dit : « je garde, on ne sait jamais. Et un jour (qui n’arrivera jamais), je ferai le tri ! »
      J’en reviens donc à mon disque dur quasi plein. Je fais une recherche sur mes fichiers vidéos et regarde le débit binaire (bitrate par la suite) : 40 000 kb/s soit environ 5 Mo/s pour des vidéos FullHD et jusqu’à 100 Mb/s (12 Mo/s) pour des vidéos 4k (évidemment, cela dépend de l’appareil à l’origine de la vidéo). Voici les différents bitrate que j’ai pu rencontrer :
      • fichier mp4 4K drone : 100 Mb/s ;
      • fichier mp4 4K go pro : 60 Mb/s
      • fichier mov FullHD : environ 16Mb/s
      • ficher avi 640*480 : environ 15 MB/ (mjpeg et format son araw)
      • fichier avi 320*240 : entre 1 et 2,5 Mb/s

      Loin d’être un expert dans la compression vidéo, le poids des fichiers m’interpelle quand même. En effet, un site de téléchargement de films - que je n’ai jamais fréquenté car c’est illégal - a pour objectif d’optimiser le ratio qualité/poids et donc d’offrir une bonne qualité visuelle pour un poids réduit. Ainsi, un film en FullHD de 90 min a un poids de 1400 Mo soit un bitrate d’environ 2 Mb/s (250 ko/s avec le codec H264). Un film en 4K de 90 min a un poids de 4 Go soit un bitrate d’environ 4Mb (500 ko/s avec le codec H265). Et il paraît – je ne le sais pas directement car je n’ai jamais fréquenté ce site dont je ne connais même pas l’existence – que la qualité des films sur le site en question est bonne, visuellement parlant s’entend.

      Il était donc temps de se mettre au travail et de réencoder mes vidéos personnelles.

      L’objectif de ce document est donc triple (et permettra de répondre aux questions 1. et 3. que s’est posé le lecteur ou la lectrice dans le préambule :

      • ré encoder ses vidéos automatiquement via un script bash (en utilisant le logiciel libre ffmpeg ) sans perte de qualité visible  ;
      • réduire le poids des fichiers de façon notable (par notable, j’entends ici une réduction d’au moins 20 %, ce qui est totalement subjectif, mais j’assume) ;
      • s’assurer de la pérennité de ses vidéos (i.e. être capable de les visionner dans 20 ans) ;

      II Mon environnement

      • Le matériel : Lenovo V45 (payé 300 € environ avec un AMD A4-9125 radeon R3, 8Go de mémoire vive et un SSD Samsung de 1To, le tout sous kubuntu 22,04).
      • Les logiciels : ffmpeg version 4.4.2, vlc, krename (pour renommer ses fichiers par lot), kfind pour retrouver des fichiers avec des extensions précises (je ne maîtrise pas du tout l’outil en ligne de commande find), avidemux pour faire du montage vidéo basique (couper quelques minutes d’une vidéo par exemple), dolphin pour naviguer dans les fichiers et, surtout, indicator-cpufreq (qui permet de réduire la fréquence du processeur et éviter que le ventilateur ne tourne en permanence).

      III Les choix techniques

      Je ne devais utiliser que des logiciels libres et des formats ouverts. Pour les logiciels : mon choix s’est porté sur ffmpeg pour l’encodage car c’est LA référence pour la conversion de vidéos, même si l’usage de la ligne de commande peut rebuter cetains (mais vous verrez par la suite que les scripts simplifient grandement la vie). Pour les formats :

      • MP3 pour l’audio : il n’est plus protégé par un brevet depuis 2017 et me convenait parfaitement, en choisissant un débit de 250kb/s (ce qui est sûrement excessif mais la place occupée par le son dans une vidéo est faible par rapport à la vidéo). Je sais qu’il y a vorbis mais le mp3 me semble plus « universel », notamment si l’on regarde la vidéo sur un téléviseur
      • MKV pour le conteneur : c’est un format ouvert et qui est lu sur tous les téléviseurs sur lesquels j’ai pu le tester.
      • H265 pour le format vidéo : c’est un format sorti en 2013 soumis à brevet mais il est possible d’utiliser une bibliothèque libre (x265) pour effectuer l’encodage (c’est cette bibliothèque qu’utilise ffmpeg). Là encore, lorsque j’ai testé des vidéos encodées en h265 sur différents téléviseurs pas trop vieux, je n’ai jamais eu de problème. Sachez qu’il existe le format AV1, plus récent, plus efficace en termes de compression, libre et qui répond à mes besoins. Mais deux éléments m’ont fait renoncer à l’utiliser :
        • l’encodage (avec ma machine) est extrêmement lent (j’ai abandonné l’encodage de 30 secondes de vidéo quand, après une heure, il en était toujours à la première seconde !) ;
        • il n’est pas encore généralisé : peu de téléviseurs peuvent lire ce format (si vous en connaissez, je suis preneur). Il est fort probable que dans une dizaine d’années, je réencoderai mes vidéos en AV1, mais laissons cela pour plus tard.

      J’ai également choisi d’encoder mes vidéos en deux passes car cela me permet de décider du débit binaire (et donc de la taille du fichier finale) tout en ayant une meilleure qualité qu’en une passe.
      J’ai utilisé le programme indicator-cpufreq qui me permet de réduire au minimum la fréquence de mon processeur (ici 1,2 Gh) afin d’éviter que le ventilateur ne tourne sans arrêt (à noter qu’une mise en veille repasse la fréquence au maximum et il n’est plus possible de la réduire, sauf à redémarrer l’ordinateur). Avec une fréquence réduite au minimum, le ventilateur ne se déclenche que quelques secondes toutes les minutes et le processeur ne dépasse pas les 50°C (c’est hardinfo qui me le dit).

      IV Les problèmes rencontrés et les contraintes (spoiler : il faut du temps !)

      • L’encodage en deux passes permet d’obtenir une meilleure qualité visuelle (de ce que j’ai compris) mais au prix d’un temps de calcul doublé. Ainsi, une vidéo d’une minute (en FullHD) a nécessité environ 100 minutes d’encodage pour obtenir le fichier final. Autant vous dire que mon ordinateur a tourné pendant environ 5 mois près de 20 heures par jour en moyenne. En revanche, j’ai découvert comment arrêter un processus (kill - STOP numero_pid_util) lorsque j’avais besoin de retrouver toute la puissance du processeur et comment le reprendre plus tard (kill - CONT numero_pid_util). Par ailleurs, je n’ai pas trouvé comment utiliser la carte graphique pour le réencodage, car il paraît que c’est plus rapide
      • Je ne connais pas l’instruction ou l’option (si elle existe) de ffmpeg qui permet de conserver les métadonnées des vidéos. Ainsi, la conversion effectuée avec les scripts ci-dessous supprime toutes les métadonnées (pourtant, cela semble possible)
      • Je n’ai pas trouvé, malgré mes recherches, comment reprendre la première passe d’un encodage après une coupure ou un bug (ffmpeg génère un fichier log durant la première passe, fichier qu’il devrait être possible de réutiliser afin de reprendre là où il s’est arrêté). Il m’a donc fallu, parfois, reprendre l’encodage d’une vidéo à zéro.
      • La procédure avant encodage demande de l’organisation :
        • Rechercher toutes ses vidéos est relativement aisé et rapide : kfind permet d’effectuer une recherche sur de multiples formats. Ensuite, un copier-coller sur un autre disque dur permet de les isoler.
        • Il est nécessaire de connaître le bitrate de chacune d’elle. Une recherche Internet et hop, le script qui va bien (voir la partie sur les scripts) génère un fichier CSV pour nous faciliter le travail.
        • Il faut ensuite regrouper les vidéos par débit et définition : ainsi, une vidéo 640*480 de 10 Mb/s ne pouvait pas être dans le même répertoire qu’une vidéo en 320*240 de 5 Mb/s également puisque le bitrate final n’était pas le même. Là, pas de secret, il faut le faire manuellement. Mais rassurez-vous, bien souvent, les vidéos d’une même période ont toute le même bitrate.
        • L’étape suivante a consisté à choisir le débit final des vidéos suivant leur définition de façon à ce que la vidéo finale subisse une compression pas ou peu visible à l’œil par rapport à l’original (ce qui est très subjectif). J’ai donc choisi (en partant des débits de YiFY et un peu au doigt mouillé) :
          • 10 Mb/s pour de la 4K (porté très rarement à 12 Mb/s si la vidéo comportait beaucoup de mouvements) ;
          • 4 Mb/s pour de la FullHD ;
          • environ 2 Mb/s pour de la 640*480
          • 1 Mb/s pour de la 320*240
      • Un bug est apparu lors de la conversion des fichiers MJPEG directement en H265 : les couleurs finales étaient complètement différentes des originales. Je ne suis pas le seul à avoir subi ce qui semble être un bug. Au final, j’ai contourné ce désagrément en convertissant d’abord ces fichiers en xvid avec un gros bitrate pour limiter la perte de qualité (opération très rapide) puis les xvid en H265, ce qui a réglé le problème.
      • J’imagine que, comme beaucoup d’entre nous, je souhaite limiter mon impact environnemental. N’ayant pas de panneaux photovoltaïques, mon empreinte carbone est probablement élevée car j’ai été contraint de laisser tourner mon ordinateur jour et nuit en consommant de l’électricité pas toujours verte. En contrepartie, j’économise l’achat d’un nouveau disque dur. Cela me permet de me donner bonne conscience.

      V Les scripts utilisés

      Ces scripts (qui fonctionnent sous Linux. Pour Windows, il faudra adapter…) ont été écrits à partir de ce que j’ai trouvé sur Internet car ma maîtrise de ce genre d’outils est très fragile voire inexistante (j’ai donc pas mal bidouillé et ils peuvent sûrement être optimisés). Je vous dirais volontiers qu’ils sont sous licence libre ou dans le domaine public mais n’ayant pas noté mes sources, je les livre ci-dessous sans aucune garantie de quoi que ce soit (la seule chose que je peux garantir, c’est que j’ai fait pas mal de modifications par rapport aux scripts originaux).
      Je vous rappelle que pour utiliser ces scripts, vous devez faire un copier-coller du script dans un fichier texte (en utilisant kate par exemple), l’enregistrer puis le rendre exécutable. Ensuite, vous placez ce script dans le répertoire de vos vidéos, et, dans une console, vous tapez ./nom_du_script
      Je pense avoir mis suffisamment de commentaires pour comprendre ce que fait chaque script. Si cela n’était pas le cas, signalez les erreurs ou les suggestions dans les commentaires.
      Voici un résumé pour chacun d’eux :

      1. convertion_par_lot_videos_en_265 : c’est le script que j’ai le plus utilisé pour convertir des vidéos en H265 en choisissant une ou deux passes et le bitrate.
      2. convertion_par_lot_videos_en_265_une_passe_crf : convertir en une seule passe en choisissant la qualité voulue
      3. convertion_par_lot_videos_en_xvid : convertir des vidéos au format XVID, lorsque la conversion des MJPEG vers H265 pose problème
      4. convertion_vers_mkv_par_lot : convertir tous les formats de conteneur en MKV (j’ai eu parfois des problèmes avec certaines extensions, le passage en MKV réglait le problème) ;
      5. convertion_videos_en_son_par_lot : ne garder que le son (pour des vidéos youtube que l’on souhaite uniquement écouter par exemple) ;
      6. convertir_son_en_mp3_garder_video : réeconde uniquement le son en MP3, ne touche pas la vidéo
      7. extraire_image_precise_d_une_video : permet d’extraire une image précise (par exemple la 123) d’une ou plusieurs vidéos. Ce script m’a permis de comparer l’image d’origine et l’image réencodée. J’utilisais ensuite Gimp pour visualiser les différences entre les deux images.
      8. recuperer_bitrate_video_par_lot : récupère tous les bitrates des vidéos d’un même répertoire et l’exporte dans un fichier CSV (données séparées par une espace) ;
      9. recuperer_toutes_infos_video_par_lot : exporte dans un fichier csv les dimensions de l’image, le fps etc. mais pas le bitrate (je n’ai pas trouvé comment fusionner ce script avec le précédent)
      10. stabiliser_video_par_lot_en_testant_les_10_qualites : script pour stabiliser une vidéo avec une image « secouée » en testant les 10 qualités possibles automatiquement. Vous pouvez faire des tests, chez moi, ce n’était pas probant. Le script est à revoir probablement.
      11. stabiliser_video_par_lot_version : idem que ci-dessus mais vous choisissez le paramètre de la stabilisation.
      12. creer_video_cote_a_cote_par_lot : pour comparer deux vidéos en en créant une nouvelle avec les deux côte à côte (je l’utilise pour comparer la vidéo d’origine et la vidéo stabilisée).
      13. supprimer_bande_son_video : ne conserve que la vidéo, supprime le son (pour des vidéos où le son ne présente aucun intérêt). Et c’est parti !

      convertion_par_lot_videos_en_265

      #/bin/bash
      # conversion par lot de fichier video au format H265 avec audio en mp3 qualité 256k
      # nice -19 signifie que le programme aura la priorité la plus faible, ce qui ne devrait pas beaucoup ralentir l'exécution des autres programmes (en théorie tout au moins...)
      # si vous souhaitez interrompre le programme pour avoir accès à tout le processeur, tapez l'instruction top puis identifiez le PID UTIL des processeurs ffmpeg concernés puis tapez kill - STOP numero_pid_util. Pour relancer le processus, tapez kill - CONT numero_pid_util
      echo "Ce script va réencoder vos vidéos (MKV MP4 MTS AVI MOV WEBM FLV MPG MPEG WMV 3GP RM ASX VOB F4V MKS M4V OGV M2V MPV TS M2TS AVC HEVC M1V M2V MPV) en H265, le son en MP3 256k et au format de conteneur MKV en 1 ou 2 passes. Vous allez pouvoir choisir le bitrate d'encodage pour la vidéo, le codec et le nombre de passe. Les extensions des vidéos peuvent être en minuscules ou majuscules mais pas un mélange des deux. Les fichiers originaux seront déplacés dans le dossier originaux et les fichiers convertis dans le dossier convertis_x265"
      echo -n "Entrez le bitrate -sans espace - que vous souhaitez utiliser : (4000 recommandé pour de la video FullHD, 10000 pour de la 4K) "
      read bitrate
      # les lignes (rm x265_2pass.log / rm x265_2pass.log.cutree / rm x265_2pass.log.cutree.temp / rm x265_2pass.log.temp) suppriment les fichiers générés lors des deux passes
      # pour conserver l'audio, remplacer -c:a libmp3lame -b:a 256k par -c:a copy
      # pour réduire la qualité audio, remplacer le 256k dans "-c:a libmp3lame -b:a 256k" par un nombre plus petit (par exemple 128k ou 92k)
      echo -n "Souhaitez-vous une passe ou deux passes ? Taper 1 pour une passe (plus rapide mais de moins bonne qualité) ou 2 pour deux passes (plus lent mais la vidéo finale est de meilleure qualité) :  "
      read passe
      if [ "$passe" = "1" ] ; then
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_x265
      #crée un répertoire où seront déplacés les fichiers convertis
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
          nice -19 ffmpeg -i "$i" -c:v "libx265" -b:v "${bitrate}k" -"x265"-params pass=1 -c:a libmp3lame -b:a 256k "$i.mkv"
          mv "$i.mkv" ./convertis_x265
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
          done
      elif [ "$passe" = "2" ]; then
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_x265
      #crée un répertoire où seront déplacés les fichiers convertis
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
          nice -19 ffmpeg -y -i "$i" -c:v "libx265" -b:v "${bitrate}k" -"x265"-params pass=1 -an -f null /dev/null && \
          #première passe
          nice -19 ffmpeg -i "$i" -c:v "libx265" -b:v "${bitrate}k" -"x265"-params pass=2 -c:a libmp3lame -b:a 256k "$i.mkv"
          mv "$i.mkv" ./convertis_x265
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      #les lignes suivantes suivantes suppriment les fichiers temporaires de la première passe en cas d'interruption.
          rm x265_2pass.log
          rm x265_2pass.log.cutree
          rm x265_2pass.log.cutree.temp
          rm x265_2pass.log.temp
          rm x264_2pass.log
          rm x264_2pass.log.cutree
          rm x264_2pass.log.cutree.temp
          rm x264_2pass.log.temp
          done
      else
          echo "Il faut taper 1 ou 2, rien d'autre. Relancez le script !"
      fi
          rm x265_2pass.log
          rm x265_2pass.log.cutree
          rm x265_2pass.log.cutree.temp
          rm x265_2pass.log.temp
          rm x264_2pass.log
          rm x264_2pass.log.cutree
          rm x264_2pass.log.cutree.temp
          rm x264_2pass.log.temp

      convertion_par_lot_videos_en_265_une_passe_crf

      #!/bin/bash
      # conversion par lot de fichier video au format H265 avec audio en mp3 qualité 320k
      # nice -19 signifie que le programme aura la priorité la plus faible, ce qui ne devrait pas beaucoup ralentir l'exécution des autres programmes.
      # si vous souhaitez interrompre le programme pour avoir accès à tout le processeur, tapez l'instruction top puis identifiez le PID UTIL des processeurs ffmpeg concernés puis tapez kill - STOP numero_pid_util. Pour relancer le processus, tapez kill - CONT numero_pid_util
      
      echo "Ce script va réencoder vos vidéos (MKV, MP4, MTS, AVI, MOV, WEBM FLV) en H265, le son en MP3 256k et au format de conteneur MKV en 1 passe. Vous allez pouvoir choisir CRF (constant rate factor) pour la vidéo. Les extensions des vidéos peuvent être en minuscules ou majuscules mais pas un mélange des deux."
      echo -n "Entrez le CRF que vous souhaitez utiliser : (entre 1 et 51 - 1 pour la meilleure qualité, 51 pour la plus mauvaise) - 28 est recommandé : "
      read crf
      
      echo -n "Entrez la vitesse que vous souhaitez utiliser : (ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow) - votre choix joue sur la vitesse de traitement et la qualité. Superfast sera très rapide mais de moins bonne qualité. medium est le choix recommandé. Votre choix : "
      read speed
      
      # on peut modifier le fichier de sortie en ajoutant un répertoire : "$i.mkv" devient "/home/perso/mon_repertoire/$i.mkv"
      # les lignes (rm x265_2pass.log / rm x265_2pass.log.cutree / rm x265_2pass.log.cutree.temp / rm x265_2pass.log.temp) suppriment les fichiers générés lors des deux passes
      # pour conserver l'audio, remplacer -c:a libmp3lame -b:a 256k par -c:a copy
      # pour réduire la qualité audio, remplacer le 256k dans "-c:a libmp3lame -b:a 256k" par un nombre plus petit (par exemple 128k ou 92k)
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_x265
      #crée un répertoire où seront déplacés les fichiers convertis
      
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ;
          do
          nice -19 ffmpeg -i "$i" -c:v libx265 -crf "$crf" -preset "$speed" -c:a libmp3lame -b:a 256k "$i.mkv"
      
          mv "$i.mkv" ./convertis_x265
          #déplace les fichiers convertis
      
          mv "$i" ./originaux
          #déplace les fichiers originaux
          done
      
      #les lignes suivantes suivantes suppriment les fichiers temporaires de la première passe en cas d'interruption.
          rm x265_2pass.log
          rm x265_2pass.log.cutree
          rm x265_2pass.log.cutree.temp
          rm x265_2pass.log.temp
          rm x264_2pass.log
          rm x264_2pass.log.cutree
          rm x264_2pass.log.cutree.temp
          rm x264_2pass.log.temp

      convertion_par_lot_videos_en_xvid

      #!/bin/bash
      # ce script balaie tous les fichiers d'un même répertoire et va convertir les AVI en XVID et conserver le son d'origine
      # nice -19 signifie que le programme aura la priorité la plus faible, ce qui ne devrait pas beaucoup ralentir l'exécution des autres programmes.
      # si vous souhaitez interrompre le programme pour avoir accès à tout le processeur, tapez l'instruction top puis identifiez le PID UTIL des processeurs ffmpeg concernés puis tapez kill - STOP numero_pid_util. Pour relancer le processus, tapez kill - CONT numero_pid_util
      
      echo "Ce script va réencoder vos vidéos AVI en XVID, conserver le son d'origine et au format de conteneur MKV en 2 passes. Les extensions des vidéos (AVI ou avi) peuvent être en minuscules ou majuscules mais pas un mélange des deux. La convertion directe de MJPEG vers 265 pose des problèmes de couleurs. Il faut donc passer par XVID d'abord (voir https://stackoverflow.com/questions/71397605/ffmpeg-mjpeg-h-265-smeared-color-on-output-video-file )"
      # on peut modifier le fichier de sortie en ajoutant un répertoire : "$i.mkv" devient "/home/perso/mon_repertoire/$i.mkv"
      # pour conserver l'audio, remplacer -c:a libmp3lame -b:a 256k par -c:a copy
      # pour réduire la qualité audio, remplacer le 256k dans "-c:a libmp3lame -b:a 256k" par un nombre plus petit (par exemple 128k ou 92k)
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      
      mkdir convertis_xvid
      #crée un répertoire où seront déplacés les fichiers convertis
      
          for i in *.avi *.AVI ; do
          nice -19 ffmpeg -y -i "$i" -c:v mpeg4 -vtag xvid -b:v 16000k -pass 1 -an -f avi /dev/null
          ffmpeg -i "$i" -c:v mpeg4 -vtag xvid -b:v 16000k -pass 2 -c:a copy "$i.mkv"
      
          mv "$i.mkv" ./convertis_xvid
          #déplace les fichiers convertis
      
          mv "$i" ./originaux
          #déplace les fichiers originaux
      
          done

      convertion_vers_mkv_par_lot

      #!/bin/bash
      # conversion par lot de fichiers vers mkv - mofifier l'extension si nécessaire - supprimer les extensions d'origine avec krename ensuite. Attention, s'il y a déjà des fichiers MKV, ils seront reconvertis en MKV
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_mkv
      #crée un répertoire où seront déplacés les fichiers convertis
      
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
      
      
      #    autre chose trouvé sur internet avec bug : ffmpeg -flags +genpts -i "$i" -c copy -sn "$i.mkv"
      
      nice -19 ffmpeg -y -i "$i" -c:v copy -c:a copy "$i.mkv"
        mv "$i.mkv" ./convertis_mkv
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      
      done

      convertion_videos_en_son_par_lot

      #!/bin/bash
      # conversion par lot de fichiers vers mkv - mofifier l'extension si nécessaire - supprimer les extensions d'origine avec krename ensuite. Attention, s'il y a déjà des fichiers MKV, ils seront reconvertis en MKV
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_mkv
      #crée un répertoire où seront déplacés les fichiers convertis
      
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
      
      
      #    autre chose trouvé sur internet avec bug : ffmpeg -flags +genpts -i "$i" -c copy -sn "$i.mkv"
      
      nice -19 ffmpeg -y -i "$i" -c:v copy -c:a copy "$i.mkv"
        mv "$i.mkv" ./convertis_mkv
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      
      done

      convertir_son_en_mp3_garder_video

      #!/bin/bash
      echo -n "Ce script va convertir le son des videos en mp3 sans toucher la video et ajouter l'extension .MKV à la fin du fichier. Choisissez la qualité mp3 (256 recommandé) : "
      read bitratemp3
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir convertis_mp3
      #crée un répertoire où seront déplacés les fichiers convertis
      
      
      for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
      
          nice -19 ffmpeg -i "$i" -c:v copy -c:a libmp3lame -b:a "${bitratemp3}k" "$i.mkv"
      
          mv "$i.mkv" ./convertis_mp3
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      done

      extraire_image_precise_d_une_video

      #!/bin/bash
      
      
      echo -n "Entrez le numéro de l'image que vous souhaitez extraire (attention, la numérotation commence à 0 donc si vous souhaitez la frame 536, il faut saisir 535) "
      read num_frame
      
      
      for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
      
      
      
      nice -19 ffmpeg -i "$i" -vf "select=eq(n\,$num_frame)" -vframes 1 screenshot_frame_"$num_frame"_"$i".png
      
      done

      recuperer_bitrate_video_par_lot

      #!/bin/bash
      
      #recherche le bitrate des videos de façon récursive
      find . \( -iname "*.mkv" -or -iname "*.mov" -or -iname "*.mts" -or -iname "*.mp4" -or -iname "*.mpg" -or -iname "*.mpeg" -or -iname "*.flv" -or -iname "*.avi" -or -iname "*.webm" -or -iname "*.wmv" -or -iname "*.3gp" -or -iname "*.rm" -or -iname "*.asx" -or -iname "*.vob" -or -iname "*.f4v" -or -iname "*.mks" -or -iname "*.m4v" -or -iname "*.ogv" -or -iname "*.m2v"  -or -iname "*.mpv" -or -iname "*.ts" -or -iname "*.m2ts" -or -iname "*.avc" -or -iname "*.hevc" -or -iname "*.m1v" -or -iname "*.m2v" -or -iname "*.mpv" \) -print0 | xargs -0 -i{} sh -c " echo -n '{} ' && ffmpeg -i '{}' 2>&1 | sed -n -e 's/^.*bitrate: //p' " > result_bitrate.csv
      #ecrit le bitrate de toutes les videos d'un dossier dans le fichier result_mts.csv.
      # Ouvrir avec tableur et choisir séparateur ESPACE pour mieux visualiser les bitrate

      recuperer_toutes_infos_video_par_lot

      #!/bin/bash
      
      #recherche les informations des videos
      find . \( -iname "*.mkv" -or -iname "*.mov" -or -iname "*.mts" -or -iname "*.mp4" -or -iname "*.mpg" -or -iname "*.mpeg" -or -iname "*.flv" -or -iname "*.avi" -or -iname "*.webm" -or -iname "*.wmv" -or -iname "*.3gp" -or -iname "*.rm" -or -iname "*.asx" -or -iname "*.vob" -or -iname "*.f4v" -or -iname "*.mks" -or -iname "*.m4v" -or -iname "*.ogv" -or -iname "*.m2v"  -or -iname "*.mpv" -or -iname "*.ts" -or -iname "*.m2ts" -or -iname "*.avc" -or -iname "*.hevc" -or -iname "*.m1v" -or -iname "*.m2v" -or -iname "*.mpv" \) -print0 | xargs -0 -i{} sh -c " echo -n '{} ' && ffmpeg -i '{}' 2>&1 | sed -n -e 's/^.*Video: //p' " > result_toutes_les_infos.csv
      
      
      #ecrit les informations toutes les videos d'un dossier dans le fichier result_toutes_les_infos.csv.
      #Ouvrir avec tableur et choisir séparateur ESPACE pour mieux visualiser les bitrate

      stabiliser_video_par_lot_version

      #!/bin/bash
      # stabiliser des videos par lot
      
      echo -n "Sélectionnez la stabilité de la vidéo que vous souhaitez : 1 (très stable) jusqu'à 10 (très instable)  "
      read stabilite
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir stabilisee
      #crée un répertoire où seront déplacés les fichiers convertis
      
      for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
      
          nice -19 ffmpeg -i "$i" -vf vidstabdetect=shakiness=$stabilite:accuracy=15 -f null - && \
      
      #shakiness=10 peut etre modifié en mettant shakiness = nombre_entre_1_et_10 : 1 video stable, 10 video très instable
      
          nice -19 ffmpeg -i "$i" -vf vidstabdetect=shakiness=$stabilite:accuracy=15 -f null -&& nice -19 ffmpeg -i "$i" -vf vidstabtransform=smoothing=30:input="transforms.trf" "stabilisee_$i"
      
      rm transforms.trf
      
      mv "stabilisee_$i" ./stabilisee
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      done

      creer_video_cote_a_cote_par_lot

      #!/bin/bash
      #ce script va créer une vidéo à partir de deux vidéos, l'une que l'on peut nommer ma_video.mkv et l'autre qui doit alors se nommer stabilisee_ma_video.mkv
      #les deux vidéos seront côte à côte, ce qui permet de les comparer
      for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB ; do
      
      
      # la video d'origine correspond à $i et l'autre video doit commencer par "stabilisee" mais il suffit de changer le prefixe si necessaire
      
          ffmpeg -i "$i" -i "stabilisee_$i" -filter_complex "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" "cote_a_cote_$i"
      
      
      done

      supprimer_bande_son_video

      #!/bin/bash
      #supprimer la bande son de toutes les videos (au format voir ci-dessous) d'un même répertoire et crée un fichier MKV sans bande son. Ne réencode pas la vidéo.
      
      mkdir originaux
      # crée un répertoire où seront déplacés les fichiers originaux après conversion
      mkdir sans_son
      #crée un répertoire où seront déplacés les fichiers convertis
      
      
          for i in *.mkv *.MKV *.mp4 *.MP4 *.mts *.MTS *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.mpg *.MPG *.mpeg *.MPEG *.wmv *.WMV *.3gp *.3GP *.rm *.RM *.asx *.ASX *.vob *.VOB *.f4v *.F4V *.mks *.MKS *.m4v *.M4V *.ogv *.OGV *.m2v *.M2V *.mpv *.MPV *.ts *.TS *.m2ts *.M2TS *.avc *.AVC *.hevc *.HEVC *.m1v *.M1V *.m2v *.M2V *.mpv *.MPV ; do
          nice -19 ffmpeg -i "$i" -c copy -an "$i.mkv"
      
          mv "$i.mkv" ./sans_son
          #déplace les fichiers convertis
          mv "$i" ./originaux
          #déplace les fichiers originaux
      
      
          done

      stabiliser_video_par_lot_en_testant_les_10_qualites

      #!/bin/bash
      # test toutes les qualités de stabilisation pour un même fichier
      
      # test les 10 qualités de stabilité
      
              for qualite in 1 2 3 4 5 6 7 8 9 10 ; do
                  for i in *.mkv ; do
      
                  # nice -19 ffmpeg -i "$i" -vf vidstabdetect=shakiness=$qualite:accuracy=15 -f null - && \
      
                  #shakiness=10 peut etre modifié en mettant shakiness = nombre_entre_1_et_10 : 1 video stable, 10 video très instable
      
                  nice -19 ffmpeg -i "$i" -vf vidstabdetect=shakiness=$qualite:accuracy=15 -f null -&& nice -19 ffmpeg -i "$i" -vf vidstabtransform=smoothing=30:input="transforms.trf" "stabilisee_$i_$qualite.mp4"
      
                  rm transforms.trf
      
                  done
      
      
              done

      En conclusion

      Il faut du temps et de l’envie pour se lancer dans cette aventure, même si le CPU fait 80 % du travail. Mais les 20 % restant ne sont pas à négliger. Entre les copier-coller qu’il ne faut pas rater, le classement des vidéos par bitrate ou dimension, les vidéos réencondées qu’il faut visionner (en accéléré) pour s’assurer qu’elles sont correctes, etc. il faut vraiment rester concentré pour éviter d’oublier une vidéo ou, pire, de l’effacer alors qu’elle n’a pas été réencondée.

      Les avantages

      Mais je ne regrette pas tout ce temps, surtout pour avoir revisionné quasiment toutes mes vidéos, celle de mes enfants bébé (le coup de vieux en pleine figure), les moments en famille, les grands-parents disparus… Cela a été des moments vraiment agréables.

      Cela m’a également permis de ranger des vidéos qui n’étaient pas dans le bon répertoire ou de renommer celles qui comportaient une erreur dans leur nom.

      J’ai maintenant toutes mes vidéos avec le même format de conteneur (MKV), et les mêmes codec vidéo et audio, ce qui facilitera grandement un réencodage ultérieur.

      Et puis – c’était l’un des objectifs – le gain de place est très important puisque mon disque dur est passé de 90 % à 48 % d’occupation (j’ai fait aussi un peu de ménage donc ce gain ne provient pas que du réencodage des vidéos).

      Les inconvénients

      Est-ce une bonne idée de mettre tous ses œufs dans le même panier (un seul format de conteneur, un seul codec video, un seul codec audio) , même si ces formats sont libres et, pour H265, lisible avec des logiciels libres, ce qui est tout de même une bonne assurance pour l’avenir ?

      Du temps, du temps, et encore du temps : il faut en avoir pour ce projet (mais j’espère que les scripts vous permettront d’en gagner)

      Cela consomme de l’énergie et, si beaucoup de gens veulent réencoder leurs vidéos, l’impact environnemental ne sera pas négligeable.

      L’opération monopolise un ordinateur (nice -19 ne m’a pas paru très efficace quand je lançais trois encodages simultanément!). Mais cela peut être l’occasion d’en utiliser un qui dort dans un placard et qui pourrait ainsi resservir.

      Si c’était à refaire…

      • Je le referai, sans aucun doute !
      • J’essaierai de conserver les métadonnées (date, heure, coordonnées GPS) de mes vidéos (même si les informations les plus importantes sont dans leur nom) ;
      • Je tenterai d’utiliser le GPU pour le réencodage, ce qui réduirait le temps de calcul.

      Note pour le prochain confinement :

      [1] : je n'ai pas réussi à trouver l'équivalent de la commande jhead -autorot -nf%Y_%m_%d_%H%M_%S_ *.jpg pour les videos

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      ❌
      ❌