• Li chevron_right

      Contribuer à OpenStreetMap avec l'éditeur iD

      PhRæD · pubsub.eckmul.net / linuxfr_news · Saturday, 26 December, 2020 - 16:15 · 6 minutes

    <div><p>Si Wikipédia est l’un des sites les plus connus au monde, il en est un qui mérite au moins tout autant notre attention : c’est <a href="https://www.openstreetmap.org">OpenStreetMap</a> ou <strong>OSM</strong> (dans la suite de ces lignes).</p> <p>OSM est à la cartographie ce que Wikipédia est à la connaissance : un projet libre, collaboratif ouvert à tous.<br> Toutefois, comme son « modèle », si beaucoup de monde connait et utilise, peu de personnes savent que l’on peut y contribuer.</p> <p>Si vous avez connaissance d’une modification à apporter, alors faites-la ! Les développeurs de OSM ont tout prévu pour vous y aider, dont l'éditeur iD.</p> </div><ul><li>lien nᵒ 1 : <a title="https://www.openstreetmap.org" hreflang="fr" href="https://linuxfr.org/redirect/107561">OSM</a></li><li>lien nᵒ 2 : <a title="https://learnosm.org/fr" hreflang="fr" href="https://linuxfr.org/redirect/107562">Le guide du contributeur débutant</a></li><li>lien nᵒ 3 : <a title="https://learnosm.org/fr/beginner/id-editor/" hreflang="fr" href="https://linuxfr.org/redirect/107563">Le guide de iD</a></li><li>lien nᵒ 4 : <a title="https://wiki.openstreetmap.org/wiki/Key:highway" hreflang="en" href="https://linuxfr.org/redirect/107564">Comment qualifier une route</a></li></ul><div><h2 id="toc-cartographie-participative">Cartographie participative</h2> <p>Les développeurs du projet ont fait un énorme travail pour proposer un éditeur en ligne accessible et documenté, j’ai nommé iD.</p> <p>iD est l’éditeur proposé par défaut lorsque l’on clique sur « modifier » sur une page d’OSM. Comme déjà écrit, il dispose d'<a href="https://wiki.openstreetmap.org/wiki/Key:highway">un manuel très détaillé et <em>en français</em></a>.</p> <h2 id="toc-pourquoi-participer">Pourquoi participer ?</h2> <p>Je pratique beaucoup la balade à vélo, et OSM (couche carte cyclable - pensez à afficher l’interface qui répond le mieux à votre besoin) est une vraie mine d’or.<br> Depuis quelque temps, non seulement j’utilise, mais désormais j’enrichis : au cours de mes pérégrinations, si je remarque un chemin sympa non cartographié, à mon retour, il me suffit de quelques clics pour actualiser la carte des environs.<br> Ça me sert de pense-bête, et surtout ça offre aux autres la possibilité d’intégrer ce nouveau chemin dans leurs propres balades.</p> <p>Dans le même ordre d’idée, je cartographie les véloroutes du coin en me basant sur les livrets fournis par l’office de tourisme (dernière en date : <a href="https://www.openstreetmap.org/relation/11646970">la voie verte La Flèche - Bazouges</a>).</p> <p>Dernier exemple, en ces temps de retour au local, j’actualise régulièrement les changements d’enseignes de mon centre-ville.</p> <h2 id="toc-pour-débuter">Pour débuter</h2> <h3 id="toc-quelques-notions-de-base">Quelques notions de base</h3> <p>iD propose trois objets de base :</p> <ul> <li>le <em>point</em> (ou nœud) : permet de cartographier un panneau routier, un arbre, un commerce (si le bâtiment qui l’abrite est multi-commerces), etc.</li> <li>la <em>ligne</em> : à utiliser pour les routes, chemins, cours d’eau, etc.</li> <li>la <em>surface</em> : pour les bâtiments, parkings, parcs, etc.</li> </ul> <h3 id="toc-les-attributs">Les attributs</h3> <p>À chacun de ces éléments, il est possible d’associer des attributs qui permettent de qualifier l’objet, donnant à l’affichage un rendu particulier.<br> Pour savoir comment cartographier un attribut, il faut fouiller dans le <a href="https://wiki.openstreetmap.org/wiki">wiki</a>.</p> <h3 id="toc-les-relations">Les relations</h3> <p>Une cartographie n’est qu’une représentation de la réalité : certains éléments sont plus faciles à cartographier que d’autres (les routes et chemins notamment) par les objets de base, mais ça peut devenir compliqué quand un même objet partage plusieurs fonctions : une portion de route peut à la fois appartenir à une très longue rue, un itinéraire de car, une portion de <a href="https://fr.wikipedia.org/wiki/Sentier_de_grande_randonn%C3%A9e">GR</a>, etc.<br> C’est là qu’entre en jeu la notion de <em>relation</em>.<br> Pour cartographier une véloroute par exemple, il ne s’agit pas de recréer avec une ligne l’itinéraire en entier : il s’agit plutôt de <em>relier</em> toutes les portions des lignes déjà existantes entre elles pour constituer la véloroute, qui sera donc une <em>relation</em>.<br> Une relation possède ses propres attributs qui se surajoutent à ceux des éléments qui la composent.<br> Ainsi, si une propriété de la relation change, il n’est pas nécessaire de modifier tous les éléments qui la composent.<br> À l’inverse, on peut vouloir garder certaines propriétés des éléments : ainsi pour une véloroute, si toute la véloroute est dédiée aux vélos, seules certaines portions sont en site propre.</p> <h3 id="toc-la-mise-à-jour">La mise à jour</h3> <p>Attention à bien comprendre une chose : OSM est une base de données d’éléments cartographiques, et comme très bien expliqué dans <a href="//linuxfr.org/users/gbetous/journaux/servir-ses-propres-tuiles-osm">cette dépêche</a>, construire la carte à partir de ces éléments est assez coûteux en temps de calcul.<br> De ce fait, selon l’élément ou l’attribut mis à jour, il peut se passer du temps avant l’apparition de cette modification sur la carte.</p> <h2 id="toc-À-vos-cartes">À vos cartes !</h2> <p>Il n’est pas beaucoup plus difficile de contribuer à OSM qu’à Wikipedia. iD y est pour beaucoup, alors n’hésitez plus !</p> </div><div><a href="https://linuxfr.org/news/contribuer-a-openstreetmap-avec-l-editeur-id.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122673/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/contribuer-a-openstreetmap-avec-l-editeur-id#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      Sécuriser le travail collaboratif en ligne

      Benoît Sibaud · pubsub.eckmul.net / linuxfr_news · Saturday, 26 December, 2020 - 12:25 · 16 minutes

    <div><p>Cette dépêche est initialement basée sur le <a href="//linuxfr.org/users/mariepa/journaux/4-outils-open-source-pour-securiser-le-travail-collaboratif-en-ligne">journal de MariePa</a>, qui a été complétée et enrichie pour lister des solutions libres pour le travail collaboratif sécurisé. Il y est donc question de clients libres, de serveurs libres, de chiffrement bout en bout, de confidentialité des données, etc.</p> </div><ul><li>lien nᵒ 1 : <a title="https://linuxfr.org/users/mariepa/journaux/4-outils-open-source-pour-securiser-le-travail-collaboratif-en-ligne" hreflang="fr" href="https://linuxfr.org/redirect/107536">Journal à l’origine de la dépêche</a></li></ul><div><h2 class="sommaire">Sommaire</h2> <ul class="toc"> <li><a href="#toc-messagerie-instantan%C3%A9e---visio-conf%C3%A9rence">Messagerie instantanée / visio-conférence</a></li> <li> <a href="#toc-courriels">Courriels</a><ul> <li><a href="#toc-sur-votre-ordinateur-voire-votre-serveur">Sur votre ordinateur voire votre serveur</a></li> <li><a href="#toc-sur-smartphone">Sur smartphone</a></li> <li><a href="#toc-services-tiers">Services tiers</a></li> <li><a href="#toc-%C3%80-installer-soi-m%C3%AAme">À installer soi-même</a></li> </ul> </li> <li><a href="#toc-partage-de-donn%C3%A9es-en-ligne">Partage de données en ligne</a></li> <li><a href="#toc-%C3%89dition-collaborative">Édition collaborative</a></li> </ul> <p>Dans les lignes qui suivent, vous allez découvrir les logiciels de communication open-source qui sont dotés de cette option de sécurité.</p> <h2 id="toc-messagerie-instantanée---visio-conférence">Messagerie instantanée / visio-conférence</h2> <p>Certains de ces services sont recensés sur LinuxFr.org avec l’<a href="//linuxfr.org/tags/visioconf%C3%A9rence/public">étiquette visioconférence</a> lorsqu’elle est disponible. La plupart des outils de visio-conférence fournissent le service de messagerie instantanée, par contre de nombreux logiciels de messagerie instantanée n’offrent pas de fonctionnalité de visio-conférence.</p> <ul> <li> <a href="https://element.io/"><strong>Element</strong></a> - précédemment <em>Riot.im</em> - pour la messagerie instantanée chiffrée ou non, en groupe ou en individuel, avec des passerelles vers les canaux IRC. Visio-conférence incluse. <ul> <li>Existe avec une interface web</li> <li>Existe pour smartphone (dont <a href="https://f-droid.org/en/packages/im.vector.app">F-Droid</a>)</li> <li>Utilisation du protocole de fédération Matrix, laissant l’utilisateur choisir le serveur auquel il veut se connecter (et il existe différents serveurs libres)</li> </ul> </li> <li> <a href="https://galene.org"><strong>Galène</strong> </a> code source sur <a href="https://github.com/jech/galene/">Github</a> <ul> <li>Nécessite peu de ressource au niveau du serveur.</li> <li>Voir la <a href="//linuxfr.org/news/galene-un-serveur-de-videoconference-libre">récente dépêche dédiée</a> </li> <li>Serveur 100% libre (licence MIT), à utiliser avec un navigateur comme client</li> </ul> </li> <li> <a href="https://jami.net/"><strong>Jami</strong></a> : Messagerie instantanée, appels audio et vidéo, partage d’écran, conférences. <ul> <li>Complètement pair à pair, ne nécessite pas de serveurs pour fonctionner</li> <li>Chiffré de bout en bout</li> <li>100% libre (licence GPLv3, <a href="https://directory.fsf.org/wiki/GNU">paquet GNU</a>, <a href="https://directory.fsf.org/wiki/Collection:High_Priority_Projects">High Priority Project</a>)</li> <li>Existe pour smartphone (dont <a href="https://f-droid.org/packages/cx.ring/">F-Droid</a>)</li> <li>Existe pour <a href="https://play.google.com/store/apps/details?id=cx.ring">Android TV</a> </li> </ul> </li> <li> <a href="https://jitsi.org/"><strong>Jitsi</strong></a> <ul> <li>Existe avec une interface web</li> <li>Existe pour smartphone (dont <a href="https://f-droid.org/en/packages/org.jitsi.meet/">F-Droid</a>)</li> <li>100% libre (APLv2), pour les clients et le serveur Videobridge</li> </ul> </li> <li> <a href="https://nextcloud.com/talk/"><strong>NextCloud Talk</strong></a> : Appels audio ou vidéo en tête-à-tête ou en groupe, conférences Web et messages instantanés <ul> <li>Communications entièrement chiffrées et transmises par votre propre serveur</li> <li>100% libre (licence GPLv3)</li> <li>Existe pour smartphone (dont <a href="https://f-droid.org/fr/packages/com.nextcloud.talk2/">F-Droid</a>)</li> </ul> </li> <li> <a href="https://f-droid.org/fr/packages/org.smssecure.smssecure/"><strong>Silence</strong></a> sur smartphone. <ul> <li>application de SMS chiffrés (nécessite que vos interlocuteurs disposent de Silence pour qu’ils restent chiffrés)</li> <li>100% libre (licence GPLv3)</li> </ul> </li> </ul> <p>Element :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f656c656d656e742e696f2f696d616765732f686f6d65706167652d616c6c2d706c6174666f726d732d315f312e706e67/homepage-all-platforms-1_1.png" alt="Messagerie Element" title="Source : https://element.io/images/homepage-all-platforms-1_1.png"></p> <p>Galene :<br> <img src="//img.linuxfr.org/img/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313630383931363338382e706e67/1608916388.png" alt="Galene" title="Source : http://pix.toile-libre.org/upload/original/1608916388.png"></p> <p>Jami :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f6a616d692e6e65742f6173736574732f696d616765732f636f6e666572656e6365732e706e673f763d62626136653135396538/conferences.png?v=bba6e159e8" alt="Messagerie Jami" title="Source : https://jami.net/assets/images/conferences.png?v=bba6e159e8"></p> <p>Jitsi :<br> <img src="//img.linuxfr.org/img/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313630383931373333392e706e67/1608917339.png" alt="Jitsi" title="Source : http://pix.toile-libre.org/upload/original/1608917339.png"></p> <p>Talk (Nextcloud) :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6e657874636c6f75642f7370726565642f6d61737465722f646f63732f63616c6c2d696e2d616374696f6e2e706e67/call-in-action.png" alt="Messagerie Talk" title="Source : https://raw.githubusercontent.com/nextcloud/spreed/master/docs/call-in-action.png"></p> <p>Silence :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f662d64726f69642e6f72672f7265706f2f6f72672e736d737365637572652e736d737365637572652f656e2d55532f70686f6e6553637265656e73686f74732f6c6973745f756e726561642e706e67/list_unread.png" alt="Messagerie Silence" title="Source : https://f-droid.org/repo/org.smssecure.smssecure/en-US/phoneScreenshots/list_unread.png"></p> <h2 id="toc-courriels">Courriels</h2> <h3 id="toc-sur-votre-ordinateur-voire-votre-serveur">Sur votre ordinateur voire votre serveur</h3> <p>Par ordre alphabétique :</p> <ul> <li> <a href="https://fr.wikipedia.org/wiki/GNOME_Evolution"><strong>evolution</strong></a> : le client de courriel historique de GNOME (GPL/LGPL)</li> <li> <a href="https://apps.nextcloud.com/apps/mail"><strong>Mail</strong></a> dans Nextcloud, particulièrement bien intégré, mais l'affichage des fils de discussion est difficile à suivre (AGPLv3).</li> <li> <a href="https://apps.nextcloud.com/apps/rainloop"><strong>Rainloop</strong></a> dans NextCloud. Mais, le carnet d’adresses n’est pas synchronisé avec l’application Contact (AGPLv3).</li> <li> <a href="https://www.thunderbird.net/fr/"><strong>Thunderbird</strong></a> : dans les dernières versions, le support d’<a href="https://fr.wikipedia.org/wiki/OpenPGP" title="Définition Wikipédia">OpenPGP</a> est inclus (le greffon Enigmail est devenu inutile). Licences MPL-1.1 / LGPL v2.1 / GPL v2 / MPL-2.0</li> </ul> <p>Rainloop sur NextCloud :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f7069657272652d616c61696e2d622f7261696e6c6f6f702d6e657874636c6f75642f6d61737465722f73637265656e73686f74732f323031362e31302e32302d73637265656e73686f742e6a7067/2016.10.20-screenshot.jpg" alt="Rainloop sur NextCloud" title="Source : https://raw.githubusercontent.com/pierre-alain-b/rainloop-nextcloud/master/screenshots/2016.10.20-screenshot.jpg"></p> <p>Mail sur NextCloud :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f313337343137322f37393535343936362d32373865313630302d383039662d313165612d383265612d3761306437326132373034662e706e67/79554966-278e1600-809f-11ea-82ea-7a0d72a2704f.png" alt="NextCloud Mail" title="Source : https://user-images.githubusercontent.com/1374172/79554966-278e1600-809f-11ea-82ea-7a0d72a2704f.png"></p> <p>Thunderbird :<br> <img src="//img.linuxfr.org/img/68747470733a2f2f7777772e7468756e646572626972642e6e65742f6d656469612f696d672f6c31306e2f66722f7468756e646572626972642f6c616e64696e672f73637265656e73686f742d6c696e75782e706e67/screenshot-linux.png" alt="Thunderbird" title="Source : https://www.thunderbird.net/media/img/l10n/fr/thunderbird/landing/screenshot-linux.png"></p> <p>GNOME Evolution (avec une surcouche de couleur pour <a href="https://help.gnome.org/users/evolution/stable/intro-main-window.html.fr">illustrer les différentes zones dans la documentation</a>) :</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f68656c702e676e6f6d652e6f72672f75736572732f65766f6c7574696f6e2f737461626c652f666967757265732f77696e646f772d6f766572766965772d6c61796572732e706e67/window-overview-layers.png" alt="GNOME Evolution" title="Source : https://help.gnome.org/users/evolution/stable/figures/window-overview-layers.png"></p> <h3 id="toc-sur-smartphone">Sur smartphone</h3> <p>Quelques clients sont disponibles directement sur le dépôt de logiciels libres <a href="https://f-droid.org">F-Droid</a> :</p> <ul> <li> <a href="https://f-droid.org/en/packages/eu.faircode.email/">FairEmail</a> : application de messagerie électronique entièrement fonctionnelle, open source et axée sur la confidentialité (certaines fonctionnalités nécessitent un <a href="https://email.faircode.eu/donate/">don</a> unique d’au minimum un euro). Licence GPL v3</li> <li> <a href="https://f-droid.org/fr/packages/com.fsck.k9/">K-9 Mail</a> : un des seuls clients de courriel pour smartphone qui permet de rédiger des messages en texte seul. Multi-compte. Très bien intégré. Licence APL v2</li> <li> <a href="https://f-droid.org/en/packages/org.dystopia.email/">SimpleEmail</a> : logiciel libre de messagerie minimaliste et respectueuse de la vie privée. Licence GPL v3</li> </ul> <p>Captures d’écran :</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f64726f69642e746f6f6c732f77702d636f6e74656e742f75706c6f6164732f323032302f30362f6b392d6d61696c2e6a7067/k9-mail.jpg" alt="K9mail" title="Source : https://droid.tools/wp-content/uploads/2020/06/k9-mail.jpg"><br> <img src="//img.linuxfr.org/img/68747470733a2f2f662d64726f69642e6f72672f7265706f2f65752e66616972636f64652e656d61696c2f656e2d55532f70686f6e6553637265656e73686f74732f385f636f6d706f73652e706e67/8_compose.png" alt="FailEmail" title="Source : https://f-droid.org/repo/eu.faircode.email/en-US/phoneScreenshots/8_compose.png"><br> <img src="//img.linuxfr.org/img/68747470733a2f2f662d64726f69642e6f72672f7265706f2f6f72672e647973746f7069612e656d61696c2f656e2d55532f70686f6e6553637265656e73686f74732f31315f73637265656e73686f742e706e67/11_screenshot.png" alt="SimpleEmail" title="Source : https://f-droid.org/repo/org.dystopia.email/en-US/phoneScreenshots/11_screenshot.png"></p> <h3 id="toc-services-tiers">Services tiers</h3> <p>Par ordre alphabétique :</p> <ul> <li> <a href="https://chatons.org/fr/find-by-services"><strong>Les CHATONS</strong></a> : un bel annuaire, pour ce collectif rassemblant des acteurs proposant des services en ligne libres, éthiques, décentralisés et solidaires</li> <li> <a href="https://www.lautre.net"><strong>Lautre.net</strong></a> : web et courriels, association prônant le logiciel libre, la neutralité du net et l’autonomie des membres.</li> </ul> <h3 id="toc-À-installer-soi-même">À installer soi-même</h3> <p>Par ordre alphabétique, non seulement le client est disponible, mais aussi le volet serveur permettant l’auto-hébergement :</p> <ul> <li> <a href="https://alternc.com"><strong>AlternC</strong></a> : <a href="https://www.lautre.net">Lautre.net</a> et <a href="https://www.marsnet.org/">Mars.net</a> se basent sur AlternC pour leur fonctionnement</li> <li><a href="https://freedombox.org/"><strong>FreedomBox</strong></a></li> <li> <a href="https://labriqueinter.net/"><strong>La Brique Internet</strong></a> pour son propre hébergement sur un routeur, avec utilisation de Yunohost.</li> <li> <a href="https://yunohost.org/"><strong>Yunohost</strong></a> (AGPL)</li> </ul> <h2 id="toc-partage-de-données-en-ligne">Partage de données en ligne</h2> <p><a href="https://fr.wikipedia.org/wiki/Nextcloud"><strong>NextCloud</strong></a> (AGPLv3) : pour échanger, chiffrer des documents, gérer ses rendez-vous, ses calendriers, ses contacts. Synchronisation avec le smartphone et d’autres ordinateurs. Possibilité de chiffrer les documents des utilisateurs rendant les fichiers illisibles en cas de compromission du serveur.<br> <a href="https://owncloud.com"><strong>ownCloud</strong></a> (AGPLv3) : similaire à NextCloud, dont il est l'origine en 2016.<br> <a href="https://www.seafile.com"><strong>SeaFile</strong></a> (AGPLv3 pour le serveur, APLv2 ou GPLv2 ou 3 suivant les composants) : partages et chiffrements des fichiers.</p> <p>Ces applications permettent plusieurs niveaux et mécanismes de chiffrement : </p> <ul> <li>le chiffrement en transit via le protocole HTTPS et les protocoles TLS les plus récents, </li> <li>le chiffrement au repos qui s’effectue à l’aide d’une clé maître placée dans le stockage ou dans un module matériel de sécurité,</li> <li>le chiffrement de bout-en-bout ajoute une couche de sécurité supplémentaire (si vous avez confiance dans le serveur) qui assure que les fichiers ne sont accessibles qu’aux utilisateurs prévus.</li> </ul> <p>L’application de chiffrement de bout-en-bout est librement disponible et activable pour NextCloud et Seafile.</p> <h2 id="toc-Édition-collaborative">Édition collaborative</h2> <ul> <li> <a href="https://www.libreoffice.org/download/libreoffice-online/">LibreOffice Online</a> (MPLv2) : serveur pour afficher et éditer collaborativement des documents variés dans un navigateur web</li> <li> <a href="https://www.onlyoffice.com/fr/collaboration-platform.aspx">OnlyOffice Groups</a> (APLv2) : serveur pour la collaboration gérant les documents, les projets, le CRM et les courriels</li> <li> <a href="https://cryptpad.fr/">CryptPad</a> (AGPLv3) : logiciel libre de collaboration chiffrée avec « équipes », partage de fichiers, et discussion chiffrée avec un groupe d’utilisateurs. Voir par exemple <a href="//linuxfr.org/news/cryptpad-version-3-3-nouvelle-fonctionnalite-teams">la dépêche sur la version 3.3 (la dernière disponible étant la 3.25)</a> </li> </ul> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e6c696272656f66666963652e6f72672f6173736574732f55706c6f6164732f4c696272654f66666963652d4f6e6c696e652d5772697465722e706e67/LibreOffice-Online-Writer.png" alt="Libroffice Online" title="Source : https://www.libreoffice.org/assets/Uploads/LibreOffice-Online-Writer.png"><br> <img src="//img.linuxfr.org/img/68747470733a2f2f63727970747061642e66722f637573746f6d697a652f696d616765732f7061645f73637265656e73686f742e706e673f7665723d332e32352e302d36/pad_screenshot.png?ver=3.25.0-6" alt="CryptPad" title="Source : https://cryptpad.fr/customize/images/pad_screenshot.png?ver=3.25.0-6"><br> <img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632d7777772e6f6e6c796f66666963652e636f6d2f696d616765732f776f726b706c6163652f6361726f7573656c2f66722f736c6964655f646f63756d656e74732e706e67/slide_documents.png" alt="OnlyOffice Groups" title="Source : https://static-www.onlyoffice.com/images/workplace/carousel/fr/slide_documents.png"></p> </div><div><a href="https://linuxfr.org/news/securiser-le-travail-collaboratif-en-ligne.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122610/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/securiser-le-travail-collaboratif-en-ligne#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      Revue de presse de l'April pour la semaine 51 de l'année 2020

      echarp · pubsub.eckmul.net / linuxfr_news · Thursday, 24 December, 2020 - 15:58 · 4 minutes

    <div><p>Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.</p> <ul> <li><a href="https://www.lemonde.fr/idees/article/2020/12/17/gafam-une-mise-au-pas-legitime-au-niveau-europeen_6063698_3232.html"> [Le Monde.fr] Gafam : une mise au pas légitime au niveau européen</a></li> <li><a href="https://www.silicon.fr/open-source-projets-critiques-354455.html"> [Silicon] Open source : à la recherche des projets critiques</a></li> <li><a href="https://www.liberation.fr/amphtml/debats/2020/12/14/stophealthdatahub-les-donnees-de-sante-en-otage-chez-microsoft_1808434">[Libération] #StopHealthDataHub : les données de santé en otage chez Microsoft</a></li> <li><a href="https://www.ladepeche.fr/2020/12/14/internet-google-gmail-ou-encore-youtube-confrontes-a-une-panne-mondiale-9257083.php"> [LaDepeche.fr] Panne de Google : ce que l’on sait sur l'incident qui a paralysé internet ce lundi</a></li> </ul> </div><ul><li>lien nᵒ 1 : <a title="https://www.april.org" hreflang="fr" href="https://linuxfr.org/redirect/107582">April</a></li><li>lien nᵒ 2 : <a title="https://www.april.org/revue-de-presse" hreflang="fr" href="https://linuxfr.org/redirect/107583">Revue de presse de l&#39;April</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/revue-de-presse-de-l-april-pour-la-semaine-50-de-l-annee-2020" hreflang="fr" href="https://linuxfr.org/redirect/107584">Revue de presse de la semaine précédente</a></li><li>lien nᵒ 4 : <a title="https://filsdu.net" hreflang="fr" href="https://linuxfr.org/redirect/107585">🕸 Fils du Net</a></li></ul><div><h2 id="toc--le-mondefr-gafam-une-mise-au-pas-légitime-au-niveau-européen"><a href="https://www.lemonde.fr/idees/article/2020/12/17/gafam-une-mise-au-pas-legitime-au-niveau-europeen_6063698_3232.html"> [Le Monde.fr] Gafam : une mise au pas légitime au niveau européen</a></h2> <p>Le jeudi 17 décembre 2020. </p> <blockquote> <p>Éditorial. Pour respecter les nouvelles contraintes imposée par la Commission européenne le 15 décembre, les géants du numérique devront adapter leur modèle. Si leur puissance leur octroie beaucoup de droits, il est temps qu’ils en assument maintenant les devoirs.</p> </blockquote> <p>Et aussi : </p> <ul> <li><a href="https://www.lemonde.fr/economie/article/2020/12/15/gafa-bruxelles-devoile-son-plan-pour-mieux-lutter-contre-les-abus-des-geants-du-numerique_6063487_3234.html"> [Le Monde.fr] GAFA : Bruxelles dévoile son plan pour mieux lutter contre les abus des géants du numérique (¤)</a></li> <li><a href="https://www.lemonde.fr/idees/article/2020/12/15/l-europe-a-besoin-de-lois-qui-limitent-le-pouvoir-des-grandes-entreprises-du-numerique-sur-nos-vies_6063412_3232.html"> [Le Monde.fr] « L’Europe a besoin de lois qui limitent le pouvoir des grandes entreprises du numérique sur nos vies » (¤)</a></li> <li><a href="https://www.lemonde.fr/economie/article/2020/12/15/un-consensus-international-inedit-emerge-pour-couper-les-ailes-des-gafa_6063463_3234.html"> [Le Monde.fr] « Un consensus international inédit émerge pour couper les ailes des GAFA » (¤)</a></li> </ul> <h2 id="toc--silicon-open-source-à-la-recherche-des-projets-critiques"><a href="https://www.silicon.fr/open-source-projets-critiques-354455.html"> [Silicon] Open source: à la recherche des projets critiques</a></h2> <p>✍ Clément Bohic, le mardi 15 décembre 2020. </p> <blockquote> <p>Comment estimer le degré d’importance d’un projet open source ? L’OSSF tente d’établir la bonne formule algorithmique.</p> </blockquote> <h2 id="toc--libération-stophealthdatahub-les-données-de-santé-en-otage-chez-microsoft"><a href="https://www.liberation.fr/amphtml/debats/2020/12/14/stophealthdatahub-les-donnees-de-sante-en-otage-chez-microsoft_1808434"> [Libération] #StopHealthDataHub: les données de santé en otage chez Microsoft</a></h2> <p>Le lundi 14 décembre 2020. </p> <blockquote> <p>Contestable en matière de sécurité, le projet de centralisation des données de santé des Français est inconciliable avec le respect des droits à la protection des informations personnelles, alertent des associations, personnalités publiques, syndicats des secteurs de la santé et de la défense des libertés.</p> </blockquote> <p>Voir aussi : </p> <ul> <li><a href="https://www.april.org/pour-des-logiciels-libres-au-service-de-la-sante-repondre-a-l-appel-a-don-de-interhop">Pour des logiciels libres au service de la santé, répondre à l’appel à don d’Interhop</a></li> </ul> <h2 id="toc--ladepechefr-panne-de-google-ce-que-lon-sait-sur-lincident-qui-a-paralysé-internet-ce-lundi"><a href="https://www.ladepeche.fr/2020/12/14/internet-google-gmail-ou-encore-youtube-confrontes-a-une-panne-mondiale-9257083.php"> [LaDepeche.fr] Panne de Google: ce que l’on sait sur l’incident qui a paralysé internet ce lundi</a></h2> <p>Le lundi 14 décembre 2020. </p> <blockquote> <p>Les services du géant américain, de son moteur de recherche à YouTube en passant par Gmail ou encore le service Google Maps, ont subi une panne de près d’une heure lundi 14 décembre. Voici ce que l’on sait.</p> </blockquote> </div><div><a href="https://linuxfr.org/news/revue-de-presse-de-l-april-pour-la-semaine-51-de-l-annee-2020.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122688/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/revue-de-presse-de-l-april-pour-la-semaine-51-de-l-annee-2020#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      openSUSE Leap 15.2

      bbo · pubsub.eckmul.net / linuxfr_news · Thursday, 24 December, 2020 - 13:55 · 11 minutes

    <div><p>Le 2 juillet 2020, le projet openSUSE a annoncé la publication de Leap 15.2. Cette dépêche va tenter, avec six mois de retard, de balayer quelques nouveautés et d’expliquer le cycle de publication.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6f70656e535553452f617274776f726b2f6d61737465722f6c6f676f732f64697374726f732f4c6561702d677265656e2e737667/Leap-green.svg" alt="Logo de Leap" title="Source : https://raw.githubusercontent.com/openSUSE/artwork/master/logos/distros/Leap-green.svg"></p> <p>openSUSE Leap est une distribution GNU/Linux communautaire éditée et maintenue par le projet openSUSE. Cette version 15.2 est construite à partir des sources du 2ème <em>Service Pack</em> de <em>SUSE Linux Enterprise 15</em> (abrégé SLE 15 SP2) et sera maintenue jusqu’à fin 2021.</p> </div><ul><li>lien nᵒ 1 : <a title="https://doc.opensuse.org/release-notes/x86_64/openSUSE/Leap/15.2/" hreflang="fr" href="https://linuxfr.org/redirect/106019">Note de version Leap 15.2</a></li><li>lien nᵒ 2 : <a title="https://en.opensuse.org/Features_15.2" hreflang="en" href="https://linuxfr.org/redirect/106090">Nouveautés de Leap 15.2</a></li><li>lien nᵒ 3 : <a title="https://software.opensuse.org/distributions/leap" hreflang="en" href="https://linuxfr.org/redirect/107558">Obtenir openSUSE Leap</a></li><li>lien nᵒ 4 : <a title="https://fr.opensuse.org/Annonce_de_version_15.2" hreflang="fr" href="https://linuxfr.org/redirect/107559">Traduction de l&#39;annonce de version officielle</a></li><li>lien nᵒ 5 : <a title="https://lists.opensuse.org/opensuse-security-announce/2020-11/msg00040.html" hreflang="en" href="https://linuxfr.org/redirect/107560">Annonce de la fin de vie de Leap 15.1 au 31 janvier 2021</a></li></ul><div><h2 class="sommaire">Sommaire</h2> <ul class="toc"> <li> <ul> <li><a href="#toc-cycle-de-publication">Cycle de publication</a></li> <li> <a href="#toc-les-nouveaut%C3%A9s">Les nouveautés</a><ul> <li><a href="#toc-socle">Socle</a></li> <li><a href="#toc-station-de-travail">Station de travail</a></li> <li><a href="#toc-yast">YaST</a></li> </ul> </li> <li> <a href="#toc-plateformes">Plateformes</a><ul> <li><a href="#toc-migration-facilit%C3%A9e-vers-un-support-entreprise">Migration facilitée vers un support Entreprise</a></li> </ul> </li> <li><a href="#toc-projet-opensuse">Projet openSUSE</a></li> </ul> </li> </ul> <h3 id="toc-cycle-de-publication">Cycle de publication</h3> <p>Leap est une distribution à sortie fixe construite à partir des sources de SLE (une partie des RPM de Leap sont construits avec les mêmes « spec file » que SLE). Le schéma de publication est le suivant :</p> <ul> <li>une version <strong>majeure</strong> est planifiée tous les 36 à 48 mois environ. Les versions majeures sont alignées sur les versions de SLE ;</li> <li>une version <strong>mineure</strong> est planifiée tous les 12 mois environ. Les versions mineures sont alignées sur les <em>Service Packs</em> de SLE.</li> </ul> <p>Les utilisateurs ont six mois pour effectuer la migration entre deux versions mineures (soit dix-huit mois de maintenance par version mineure) car SUSE a fait le choix de laisser sixmois de chevauchement entre les SP de SLE :</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f646f63756d656e746174696f6e2e737573652e636f6d2f736c65732f31352d5350312f73696e676c652d68746d6c2f534c45532d757067726164652f696d616765732f6e65772d6d61696e74656e616e63652d6d6f64656c2e706e67/new-maintenance-model.png" alt="Cycle de vie des versions majeures et mineures de SLE" title="Source : https://documentation.suse.com/sles/15-SP1/single-html/SLES-upgrade/images/new-maintenance-model.png"></p> <p>Ce mode de fonctionnement a une conséquence directe : chaque version mineure possède des dépôts dédiés et une action explicite de l’administrateur est obligatoire pour passer à la mineure suivante.</p> <p>Mais SLE suit <a href="https://www.suse.com/c/how-suse-builds-its-enterprise-linux-distribution-part-4/">un modèle Consolidation/Rafraîchissement pour les Service Packs</a> (a.k.a. modèle <em>Tick-Tock</em>) :</p> <ul> <li>les versions impaires sont des versions de <em>consolidation</em> : principalement des corrections de bugs, l’amélioration des fonctionnalités existantes et quelques nouvelles fonctionnalités ;</li> <li>les versions paires sont des versions de <em>rafraîchissement</em> : en plus de ce qu’on trouve dans les impaires, il y aura plus de mises à jour de logiciels (le kernel par exemple) mais qui peuvent rester conservatrices (GNOME et Plasma, quand ils sont mis à jour, ne le sont pas sur les toutes dernières versions par exemple)</li> </ul> <p>Il ne s’agit pas d’une règle rigide qui s’applique à toute la distribution. Des logiciels vont bouger à chaque version (LibreOffice par exemple). D’autres ne vont pas bouger (systemd ou la version de GCC par défaut, par exemples). C’est plutôt un principe. Mais qui s’applique plutôt bien, même sur les paquets gérés communautairement.</p> <p>En espérant que cela clarifie un peu les questions qui se posent parfois autour de ce « <em>dist-upgrade</em> qui ne met pas tout à jour » :-)</p> <h3 id="toc-les-nouveautés">Les nouveautés</h3> <p>Cette version amène de nouveaux paquets dans les dépôts officiels. Notamment, et sans être exhaustif :</p> <ul> <li>l’orchestrateur de conteneurs Kubernetes et son gestionnaire de paquet, Helm ; </li> <li>des paquets liés à l’intelligence artificielle : Tensorflow, PyTorch et ONNX ;</li> <li>Grafana, pour la visualisation de données.</li> </ul> <h4 id="toc-socle">Socle</h4> <p>Le noyau Linux passe du 4.12 au 5.3 (avec le matériel graphique récent rétroporté) et une version <a href="https://software.opensuse.org/package/kernel-rt">temps-réel</a> est aussi arrivée dans les dépôts. </p> <p>GCC 9 a été rajouté dans les dépôts, ce qui vient compléter les versions 7 et 8 déjà présentes depuis respectivement 15.0 et 15.1.</p> <h4 id="toc-station-de-travail">Station de travail</h4> <p><img src="//img.linuxfr.org/img/68747470733a2f2f656e2e6f70656e737573652e6f72672f696d616765732f642f64332f4b44455f4c696272654f66666963655f53746172745f31355f322e706e67/KDE_LibreOffice_Start_15_2.png" alt="Démarrage de LibreOffice sur Leap 15.2 avec l'environnement Plasma de KDE" title="Source : https://en.opensuse.org/images/d/d3/KDE_LibreOffice_Start_15_2.png"></p> <p>Tous les environnements de bureau majeurs ont été mis à jour :</p> <ul> <li>GNOME 3.26 &gt; 3.34 ;</li> <li>Plasma 5.12 LTS &gt; 5.18 LTS ;</li> <li>Xfce 4.12 &gt; 4.14 ;</li> <li>Mate 1.20 &gt; 1.24.</li> </ul> <p>On peut aussi noter l’arrivée d’un <em>pattern</em> (petit nom des méta-paquets/groupe de paquets) proposant une belle intégration de Sway !</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f656e2e6f70656e737573652e6f72672f696d616765732f312f31342f537761795f6f70656e535553455f31352e322e706e67/Sway_openSUSE_15.2.png" alt="Pattern OpenSUSEway" title="Source : https://en.opensuse.org/images/1/14/Sway_openSUSE_15.2.png"></p> <p><a href="//linuxfr.org/news/firefox-68-et-68-esr-par-le-menu">Firefox</a> et <a href="//linuxfr.org/news/thunderbird-68-0">Thunderbird</a> restent proposés en versions 68 ESR. Il s’agit de logiciels qui ne sont pas figés pendant le cycle. Ils sont continuellement mis à jour en suivant les versions supportées à long terme du projet amont. Et, comme d’habitude, <a href="https://en.opensuse.org/Additional_package_repositories#Mozilla">le dépôt Mozilla</a> permettra aux utilisateurs le souhaitant de passer sur les versions les plus récentes de ces logiciels.</p> <h4 id="toc-yast">YaST</h4> <p><img src="//img.linuxfr.org/img/68747470733a2f2f796173742e6f70656e737573652e6f72672f6173736574732f696d616765732f796173742d6c6f676f2e706e67/yast-logo.png" alt="Logo de YaST" title="Source : https://yast.opensuse.org/assets/images/yast-logo.png"></p> <p>L’outil d’installation et de configuration d’openSUSE voit quelques changements :</p> <ul> <li>début de la séparation des fichiers de configuration entre <code>/etc</code> et <code>/usr/etc</code>. Tous les modules de YaST supporte cette nouvelle structure ;</li> <li>amélioration de la compatibilité avec le <em>Windows Subsystem for Linux</em>, notamment dans les ajustements effectués par YaST au moment du 1ᵉʳ démarrage ;</li> <li>meilleures performances du gestionnaire de logiciels ;</li> <li>meilleure compatibilité avec les langues de droite à gauche, comme l’arabe ;</li> <li>au niveau du partitionneur : <ul> <li>possibilité de créer et de gérer un système de fichiers Btrfs qui s’étend sur plusieurs périphériques ;</li> <li>possibilité, pour les utilisateurs avancés, de <a href="https://yast.opensuse.org/blog/2019/10/09/advanced-encryption-options-land-in-the-yast-partitioner/">configurer plus finement le chiffrement des volumes</a>.</li> </ul> </li> </ul> <h3 id="toc-plateformes">Plateformes</h3> <p>Leap supporte officiellement la plateforme x86_64. Des images lives sont disponibles pour essayer Leap sans l’installer et un partenariat avec la société Tuxedo permet d’acheter des ordinateurs avec Leap 15.2 pré-installé.</p> <p>Des portages pour les architectures Power (ppc64le) et ARM (aarch64, armv7) sont également disponibles et maintenus par des membres de la communauté.</p> <p>Enfin, Leap propose des images Open Stack et pour les services de cloud public (Linode, Amazon Web Services, Azure et Google Compute Engine).</p> <h4 id="toc-migration-facilitée-vers-un-support-entreprise">Migration facilitée vers un support Entreprise</h4> <p>Comme c’est le cas depuis Leap 15.0, SUSE supporte la migration de Leap vers SLE, ce qui permet de développer sur Leap puis de migrer en vue des certifications et/ou pour avoir un support étendu.</p> <h3 id="toc-projet-opensuse">Projet openSUSE</h3> <p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746875622e636f6d2f6f70656e535553452f617274776f726b2f7261772f6d61737465722f6c6f676f732f6f6666696369616c2f6c6f676f2d636f6c6f722e706e67/logo-color.png" alt="Logo officiel d'openSUSE" title="Source : https://github.com/openSUSE/artwork/raw/master/logos/official/logo-color.png"></p> <p>Le projet openSUSE est un effort communautaire mondial qui cherche à promouvoir l’utilisation des systèmes d’exploitation basés sur le noyau Linux et, plus généralement, des logiciels libres.</p> <p>Ce projet développe les outils Open Build Service (dont une instance est maintenue par le projet et qui peut être utilisée par d’autres distributions), openQA et YaST, ainsi que deux distributions testées automatiquement : Leap, une distribution stable avec un support de trois ans et Tumbleweed, une distribution en publication continue.</p> </div><div><a href="https://linuxfr.org/news/opensuse-leap-15-2.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/119909/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/opensuse-leap-15-2#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      Geotrek — Émission « Libre à vous ! » du 8 décembre 2020 — Podcasts et références

      Frederic Couchet · pubsub.eckmul.net / linuxfr_news · Thursday, 24 December, 2020 - 08:57 · 3 minutes

    <div><p>Quatre-vingt-sixième émission <a href="https://april.org/libre-a-vous">« Libre à vous ! »</a> de l’April. <a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20201208/libre-a-vous-20201208.ogg">Podcast</a> et programme :</p> <ul> <li><p>sujet principal : <strong>Geotrek</strong> (suite logicielle libre pour gérer et valoriser sentiers et activités touristiques) avec Camille Monchicourt, responsable du pôle Système d'informations au Parc national des Ecrins et animateur du projet Geotrek, Amandine Sahl, administratrice du système d'informations Parc national des Cévennes, et Jean-Christophe Becquet vice-président de l'April</p></li> <li><p>la chronique de Noémie Bergez sur <strong>« La CNIL force Carrefour à positiver sur la protection des données »</strong></p></li> <li><p>la chronique d'Antanak sur le thème <strong>« libérer aussi des pratiques »</strong></p></li> </ul> </div><ul><li>lien nᵒ 1 : <a title="https://cause-commune.fm/" hreflang="fr" href="https://linuxfr.org/redirect/107537">Radio Cause Commune</a></li><li>lien nᵒ 2 : <a title="https://april.org/libre-a-vous" hreflang="fr" href="https://linuxfr.org/redirect/107538">Libre à vous !</a></li><li>lien nᵒ 3 : <a title="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20201208/libre-a-vous-20201208.ogg" hreflang="fr" href="https://linuxfr.org/redirect/107539">Podcast de la 86ᵉ émission</a></li><li>lien nᵒ 4 : <a title="https://april.org/lav.xml" hreflang="fr" href="https://linuxfr.org/redirect/107540">S&#39;abonner au podcast</a></li><li>lien nᵒ 5 : <a title="https://listes.libreavous.org/wws/subscribe/actus" hreflang="fr" href="https://linuxfr.org/redirect/107541">S&#39;abonner à la lettre d&#39;actus</a></li><li>lien nᵒ 6 : <a title="https://photos.april.org/index.php?/category/348" hreflang="fr" href="https://linuxfr.org/redirect/107542">Photos de l&#39;émission</a></li></ul><div><p>Rendez‐vous en direct chaque mardi de 15 h 30 à 17 h sur 93,1 MHz en Île‐de‐France. L’émission est diffusée simultanément sur le <a href="https://cause-commune.fm/">site Web de la radio Cause Commune</a>.</p> <p>Vous pouvez laisser un message sur le répondeur de la radio, pour réagir à l’un des sujets de l’émission ou poser une question. Le numéro du répondeur : +33 9 72 51 55 46.</p> <p>La prochaine émission sera diffusée mardi 5 janvier 2021, notre invité principal sera Henri Verdier, Ambassadeur pour le Numérique. Si vous avez des questions, n’hésitez pas à les mettre en commentaires de cette dépêche.</p> </div><div><a href="https://linuxfr.org/news/geotrek-emission-libre-a-vous-du-8-decembre-2020-podcasts-et-references.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122612/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/geotrek-emission-libre-a-vous-du-8-decembre-2020-podcasts-et-references#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      TapTempo pour Arduino Uno

      xulops · pubsub.eckmul.net / linuxfr_news · Wednesday, 23 December, 2020 - 11:01 · 25 minutes

    <div><p>Puisqu’elle n’existe pas encore, voici une version de TapTempo pour Arduino Uno, utilisant Arduino IDE sous Linux.</p> <p>Arduino est une marque italienne proposant des cartes de développement open-source basées sur des micro-contrôleurs AVR, ARM et Cortex-A3.</p> <p>L’Arduino Uno est la carte la plus connue et la plus accessible : compter environ deux euros en Chine pour des copies d’Arduino, et moins de dix euros en France. Elle est équipée d’un micro-contrôleur Atmel ATmega328P, dont les caractéristiques techniques sont : architecture Atmel AVR, 16MHz, 8bit, 32ko Flash, 1ko EEPROM, 2ko de SRAM. On est donc loin des PC avec CPU en GHz et RAM en Go.</p> </div><ul><li>lien nᵒ 1 : <a title="https://linuxfr.org/wiki/taptempo" hreflang="fr" href="https://linuxfr.org/redirect/107546">Le projet TapTempo</a></li><li>lien nᵒ 2 : <a title="https://linuxfr.org/news/taptempo-en-verilog" hreflang="fr" href="https://linuxfr.org/redirect/107547">TapTempo en Verilog</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/portage-de-taptempo-en-vhdl" hreflang="fr" href="https://linuxfr.org/redirect/107548">Portage de TapTempo en VHDL</a></li><li>lien nᵒ 4 : <a title="https://fr.wikipedia.org/wiki/Arduino" hreflang="fr" href="https://linuxfr.org/redirect/107569">Page wikipédia Arduino</a></li><li>lien nᵒ 5 : <a title="https://www.arduino.cc/" hreflang="fr" href="https://linuxfr.org/redirect/107570">Site officiel Arduino</a></li><li>lien nᵒ 6 : <a title="https://www.arduino.cc/en/guide/linux" hreflang="en" href="https://linuxfr.org/redirect/107571">Installation d’Arduino IDE sous Linux</a></li><li>lien nᵒ 7 : <a title="https://randomnerdtutorials.com/" hreflang="en" href="https://linuxfr.org/redirect/107572">Site sur les IoT à base d’Arduino, ESP8266, ESP32 et leurs capteurs/accessoires</a></li></ul><div><h2 class="sommaire">Sommaire</h2> <ul class="toc"> <li><a href="#toc-les-avantages-de-la-carte">Les avantages de la carte</a></li> <li><a href="#toc-le-programme">Le programme</a></li> <li><a href="#toc-les-fonctions-setup-et-loop">Les fonctions setup et loop</a></li> <li><a href="#toc-usage-m%C3%A9moire">Usage mémoire</a></li> <li><a href="#toc-avec-dautres-micro-contr%C3%B4leurs">Avec d’autres micro-contrôleurs</a></li> </ul> <h2 id="toc-les-avantages-de-la-carte">Les avantages de la carte</h2> <p>Les avantages de cette carte sont :</p> <ul> <li>14 entrées/sorties numériques, dont 6 PWM ;</li> <li>6 entrées analogiques ;</li> <li>port série, bus I2C et SPI ;</li> <li>consommation électrique autour de 50mA sous 5V ;</li> <li>un nombre phénoménal de capteurs et accessoires en tous genres et pas chers (shield moteur, capteurs ultrason, température, pression, humidité, vibration…) ;</li> <li>un port USB pour transférer le programme dans le micro-contrôleur, et retourner des infos au PC via le port série de la carte ;</li> <li>un IDE (Arduino IDE sous GPL 2.0) qui fonctionne sous Linux et prend en charge toute la partie transfert du code. Il fait également office de moniteur série, et plotter/grapheur bien pratique pour suivre l’évolution de valeurs de capteurs dans le temps.</li> </ul> <p>C’est donc une carte simple et idéale pour apprendre à faire des robots, automatiser sa serre de jardin ou son aquarium, faire une serrure à carte sans contact, etc.</p> <p>Pour l’exemple TapTempo, j’utilise une « Funduino UNO », copie chinoise à bas prix, un écran LCD de deux lignes de 16 caractères avec interface I2C, et un bouton poussoir câblé entre l’entrée numérique n°2 et la masse.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f78756c6f70732e6e65742f696d6167652f61757472652f61726475696e6f5f756e6f5f636f6d70617469626c652e6a7067/arduino_uno_compatible.jpg" alt="Copie chinoise d’Arduino Uno" title="Source : https://xulops.net/image/autre/arduino_uno_compatible.jpg"></p> <p>Comme je n’aime pas les câbles Dupont mâles, j’utilise ici une carte supplémentaire qui vient se poser sur l’Arduino Uno, qui ne fait que rendre plus accessible les pins de connexion (un sensor shield). C’est facultatif et ça marche très bien sans. Le câblage est d’ailleurs simple à réaliser.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f78756c6f70732e6e65742f696d6167652f61757472652f736368656d615f6361626c6167652e706e67/schema_cablage.png" alt="Câblage du TapTempo sur Arduino Uno" title="Source : https://xulops.net/image/autre/schema_cablage.png"></p> <h2 id="toc-le-programme">Le programme</h2> <p>Le programme est écrit dans Arduino IDE qui permet de faire du C et C++. On peut utiliser d’autres IDE et d’autres langages (LUA, microPython). Voici le TapTempo basique :</p> <pre><code class="c"> <span class="cp">#include</span> <span class="cpf">&lt;LiquidCrystal_I2C.h&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;Wire.h&gt;</span><span class="cp"></span> <span class="n">LiquidCrystal_I2C</span> <span class="nf">lcd</span><span class="p">(</span><span class="mh">0x27</span><span class="p">,</span><span class="mi">16</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span> <span class="c1">// parametres de l'ecran à cristaux liquides</span> <span class="c1">// quelques constantes et variables globales</span> <span class="k">const</span> <span class="n">byte</span> <span class="n">TAP_PIN</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="c1">// bouton poussoir connecté sur l'entrée 2</span> <span class="kt">bool</span> <span class="n">bouton_status</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span> <span class="kt">unsigned</span> <span class="kt">long</span> <span class="n">t</span><span class="p">[</span><span class="mi">6</span><span class="p">];</span> <span class="c1">// stocke 6 taps pour avoir 5 intervalles</span> <span class="n">byte</span> <span class="n">i</span><span class="p">;</span> <span class="n">byte</span> <span class="n">n</span><span class="p">;</span> <span class="kt">unsigned</span> <span class="kt">long</span> <span class="n">tempo</span><span class="p">;</span> <span class="kt">void</span> <span class="nf">setup</span><span class="p">()</span> <span class="p">{</span> <span class="n">lcd</span><span class="p">.</span><span class="n">init</span><span class="p">();</span> <span class="n">lcd</span><span class="p">.</span><span class="n">backlight</span><span class="p">();</span> <span class="n">lcd</span><span class="p">.</span><span class="n">setCursor</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"TapTempo Arduino"</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">setCursor</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"Tempo : ...."</span><span class="p">);</span> <span class="n">pinMode</span><span class="p">(</span><span class="n">TAP_PIN</span><span class="p">,</span> <span class="n">INPUT_PULLUP</span><span class="p">);</span> <span class="c1">// on s'évite une résistance</span> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">6</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="n">bouton_status</span><span class="p">)</span> <span class="p">{</span> <span class="n">bouton_status</span> <span class="o">=</span> <span class="n">digitalRead</span><span class="p">(</span><span class="n">TAP_PIN</span><span class="p">);</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="n">bouton_status</span> <span class="o">=</span> <span class="n">digitalRead</span><span class="p">(</span><span class="n">TAP_PIN</span><span class="p">);</span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="n">bouton_status</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// ok, un appui est detecté</span> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">];</span> <span class="n">t</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">millis</span><span class="p">();</span> <span class="k">if</span> <span class="p">(</span><span class="n">t</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">-</span> <span class="n">t</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3000</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// calcul de la moyenne des 5 derniers taps</span> <span class="n">tempo</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">n</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">6</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="n">t</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="n">tempo</span> <span class="o">+=</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">];</span> <span class="n">n</span><span class="o">++</span><span class="p">;</span> <span class="p">}</span> <span class="p">}</span> <span class="n">tempo</span> <span class="o">=</span> <span class="mi">60000</span> <span class="o">/</span> <span class="p">(</span><span class="n">tempo</span> <span class="o">/</span> <span class="n">n</span><span class="p">);</span> <span class="c1">// affichage du resultat</span> <span class="n">lcd</span><span class="p">.</span><span class="n">setCursor</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">tempo</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">" "</span><span class="p">);</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// premier tap, on attend le suivant</span> <span class="p">}</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="n">millis</span><span class="p">()</span> <span class="o">-</span> <span class="n">t</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">3000</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// rien depuis 3s (tempo &lt; 20), on reinitialise</span> <span class="n">lcd</span><span class="p">.</span><span class="n">setCursor</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="n">lcd</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"...."</span><span class="p">);</span> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">6</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="n">t</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> <span class="n">delay</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span> <span class="c1">// pour ne pas se taper le rebond du bouton</span> <span class="p">}</span></code></pre> <h2 id="toc-les-fonctions-setup-et-loop">Les fonctions setup et loop</h2> <p>Arduino IDE impose la présence de deux fonctions : <em>setup</em> et <em>loop</em>.</p> <p>La fonction <em>setup</em> ne s’exécute qu’une seule fois, lorsque l’Arduino Uno est mis sous tension ou après un <em>reset</em> (le tranfert d’un nouveau code dans le micro-contrôleur est toujours automatiquement suivi d’un <em>reset</em>).</p> <p>Elle est assez facile à comprendre, elle initialise l’écran (facultatif), les entrées/sorties utilisées (ici uniquement le pin 2 pour le bouton poussoir), et le tableau des taps. On peut juste s’appesantir un peu sur le INPUT_PULLUP qui indique au micro-contrôleur qu’il doit activer la résistance interne de pullup de cette entrée. Si cette entrée est déclarée en INPUT seulement, il faut alors ajouter une résistance (10kOhm par exemple) entre l’entrée 2 et le 5V, afin de ramener l’entrée proche de 5 volts (HIGH, true) lorsque le bouton n’est pas pressé. Sinon l’entrée ne serait connectée à rien, donc avec un potentiel électrique indéterminé. Lorque le bouton est pressé, l’entrée est en connexion directe avec la masse, donc quasiment à 0V (LOW, false).</p> <p>La fonction <em>loop</em>, comme son nom l’indique, s’exécute en boucle.</p> <p>On commence par regarder si le bouton était pressé à la fin de la boucle précédente (bouton_status à false), si oui, on lit l’état du bouton jusqu’à relâchement. Sinon, le bouton était relâché, on peut donc regarder si maintenant il est pressé ou pas.</p> <p>Suit le classique calcul du tempo basé sur les 5 dernières mesures et l’affichage. L’affichage et le tableau se réinitialisent si pas de tap pendant plus de 3 secondes.</p> <p>La fonction <em>loop</em> se termine par un mystérieux délai de 10 ms, dont l’unique but est de ne pas capter le rebond du bouton. En effet, un bouton poussoir ne passe pas toujours franchement d’un état ouvert à l’état fermé, il rebondit, pouvant donner des séries d’ouvertures-fermetures perturbantes pendant quelques millisecondes. Sur ce bouton, la transition est normale (avec légère surtension pendant 2ms) au moins 9 fois sur 10, mais des rebonds sont présents sur environ un dixième des taps. Ces rebonds ne dépassent toutefois jamais les 3ms.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f78756c6f70732e6e65742f696d6167652f61757472652f7265626f6e64732e6a7067/rebonds.jpg" alt="Rebonds du bouton" title="Source : https://xulops.net/image/autre/rebonds.jpg"></p> <p>Avec un délai de 10 ms, il n’y a donc pas de risques que les rebonds viennent perturber le programme.<br> Patienter un centième de seconde ne gêne pas à l’usage, j’ai mesuré avec précision (à l’unité près, je ne pense pas que descendre sous la virgule soit d’un grand intérêt musical) entre 20 BPM et 240 BPM, l’erreur la plus grande vient de mon doigt qui appuie sur le bouton (et du cerveau qui commande le doigt), bref je n’arrive pas à suivre, faudrait faire un robot (à base d’Arduino Uno ?) qui appuie sur le bouton à ma place.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f78756c6f70732e6e65742f696d6167652f61757472652f74617074656d706f5f6d6f6e746167652e6a7067/taptempo_montage.jpg" alt="Montage en fonctionnement" title="Source : https://xulops.net/image/autre/taptempo_montage.jpg"></p> <h2 id="toc-usage-mémoire">Usage mémoire</h2> <p>En incluant les bibliothèques I2C (wire.h) et LiquidCrystal pour l’écran LCD, la compilation donne : </p> <ul> <li>4092 octets de FLASH utilisés sur les 32ko disponibles ;</li> <li>323 octets de SRAM utilisés sur les 2ko disponibles.</li> </ul> <p>En n’utilisant pas l’écran LCD et en envoyant le tempo mesuré sur le port série :</p> <ul> <li>2454 octets de FLASH utilisés ;</li> <li>218 octets de SRAM utilisés.</li> </ul> <p>Pour comparaison, pour un programme vide (juste les deux fonctions sans autre ligne de code), la compilation donne respectivement 444 octets de FLASH et 9 octets de SRAM utilisés. Ça peut sembler bizarre, mais le compilateur ajoute toujours un appel pour surveiller les événements sur le port série.<br> Pas de drame, tout cela reste léger.</p> <h2 id="toc-avec-dautres-micro-contrôleurs">Avec d’autres micro-contrôleurs</h2> <p>Les ESP8266 et ESP32, qui sont des micro-contrôleurs wifi de la société Expressif, ont aussi la cote en ce moment, principalement pour les remontées de mesures à distance, alertes par courriel… Pour ces micro-contrôleurs bien mieux équipés (160 MHz, 4 Mo RAM) qu’un Arduino Uno, le programme serait le même, Arduino IDE se chargeant de compiler et transférer le programme au micro-contrôleur. Il faudra penser cependant à ajouter une résistance de pullup suivant les modèles, tous les micro-contrôleurs ne sont pas pourvus de ces résistances internes. L’ESP32 est pourvu d’entrées tactiles (capacitive touch sensor), il serait intéressant de remplacer le bouton poussoir par une simple plaque métallique et regarder s’il est possible de s’affranchir des problèmes de rebonds.</p> </div><div><a href="https://linuxfr.org/news/taptempo-pour-arduino-uno.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122644/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/taptempo-pour-arduino-uno#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      25 ans de GIMP et version de développement 2.99.2 : premiers pas vers GIMP 3 !

      Jehan · pubsub.eckmul.net / linuxfr_news · Wednesday, 23 December, 2020 - 09:44 · 73 minutes

    <div><p>GIMP a fêté ses 25 ans d’existence le 21 novembre 2020. Passé de petit projet d’étudiants qui l’ont abandonné du jour au lendemain à projet majeur incontestable du graphisme mondial qui a fait bouger les lignes du logiciel Libre… ce logiciel aura eu un impact sur le monde.</p> <p>Peu avant cet anniversaire, la version de développement GIMP 2.99.2 est sortie le 25 octobre. Bien que ce ne soit qu’une version de développement, il s’agit de la première étape publique du chemin menant à GIMP 3 !</p> <p>Nouveautés marquantes de GIMP 2.99.2 :</p> <ul> <li>Interface utilisateur maintenant en GTK3, incluant donc la prise en charge native pour Wayland et les écrans haute densité de pixels (HiPPI).</li> <li>Réorganisation et nettoyage du code</li> <li>Nouvelle interface de développement (<em>API</em>) pour les greffons</li> <li>Les greffons peuvent maintenant être écrits en Python 3, JavaScript, Lua, et Vala.</li> <li>L’invasion spatiale (colorimétrique) continue</li> <li>Cache de rendu pour des performances améliorées</li> </ul> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d73706c6173682d322e39392e322e6a7067/gimp-splash-2.99.2.jpg" alt="Splash screen de GIMP 2.99.2 par Aryeom, CC by-sa" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-splash-2.99.2.jpg"><br> <em>Splash screen de GIMP 2.99.2 par <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em></p> <p><em>Note de la modération : LinuxFR a la chance d’avoir parmi ses contributeurs : Jehan, très actif dans le développement de GIMP depuis quelques années déjà (entre <a href="//linuxfr.org/tags/zemarmot/public">autres choses</a>). Grâce à lui, non seulement vous découvrez les nouveautés de chaque version de GIMP dans la langue de <s>Molière</s> Gims, mais en plus vous lisez bien souvent une version enrichie de l’annonce initiale en anglais. C’est notamment le cas avec cette dépêche.</em></p> </div><ul><li>lien nᵒ 1 : <a title="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/" hreflang="en" href="https://linuxfr.org/redirect/107335">Annonce de sortie de GIMP 2.99.2</a></li><li>lien nᵒ 2 : <a title="https://www.gimp.org/news/2020/11/21/25-years-of-gimp/" hreflang="en" href="https://linuxfr.org/redirect/107586">Annonce des 25 ans de GIMP</a></li><li>lien nᵒ 3 : <a title="https://www.gimp.org/donating/" hreflang="en" href="https://linuxfr.org/redirect/107587">Page de donation de GIMP</a></li><li>lien nᵒ 4 : <a title="https://film.zemarmot.net/fr/" hreflang="fr" href="https://linuxfr.org/redirect/107588">Projet ZeMarmot (dont fait partie l’auteur de l’article, développeur majeur de GIMP)</a></li><li>lien nᵒ 5 : <a title="https://gitlab.gnome.org/GNOME/gimp/" hreflang="en" href="https://linuxfr.org/redirect/107589">Dépôt de sources et suivi de bugs</a></li><li>lien nᵒ 6 : <a title="https://linuxfr.org/news/gimp-2-10-22-consolidation-des-formats" hreflang="fr" href="https://linuxfr.org/redirect/107590">Dépêche précédente sur LinuxFr (GIMP 2.10.22)</a></li></ul><div><h2 class="sommaire">Sommaire</h2> <ul class="toc"> <li> <a href="#toc-interface-utilisateur-en-gtk3">Interface utilisateur en GTK3</a><ul> <li><a href="#toc-vraie-prise-en-charge-des-%C3%A9crans-%C3%A0-haute-densit%C3%A9-de-pixels">Vraie prise en charge des écrans à haute densité de pixels</a></li> <li><a href="#toc-prise-en-charge-am%C3%A9lior%C3%A9e-des-p%C3%A9riph%C3%A9riques-dentr%C3%A9e">Prise en charge améliorée des périphériques d’entrée</a></li> <li><a href="#toc-personnalisation-du-th%C3%A8me">Personnalisation du thème</a></li> <li> <a href="#toc-prise-en-charge-de-wayland">Prise en charge de Wayland</a><ul> <li><a href="#toc-les-portails">Les « portails » ?</a></li> </ul> </li> </ul> </li> <li><a href="#toc-s%C3%A9lectionner-plusieurs-calques-%C3%A0-la-fois">Sélectionner plusieurs calques à la fois</a></li> <li> <a href="#toc-interface-de-programmation-api-pour-les-greffons">Interface de programmation (<em>API</em>) pour les greffons</a><ul> <li><a href="#toc-api-orient%C3%A9e-objets">API orientée Objets</a></li> <li><a href="#toc-usage-de-gio-pour-la-gestion-des-fichiers">Usage de GIO pour la gestion des fichiers</a></li> <li><a href="#toc-d%C3%A9claration-des-greffons">Déclaration des greffons</a></li> <li><a href="#toc-prise-en-charge-de-langages-de-programmation-vari%C3%A9s-bindings">Prise en charge de langages de programmation variés (<em>bindings</em>)</a></li> <li><a href="#toc-greffons-goat-exercise-promenade-de-ch%C3%A8vre">Greffons <em>goat exercise</em> (« promenade de chèvre »)</a></li> <li><a href="#toc-documentation-de-d%C3%A9veloppement">Documentation de développement</a></li> </ul> </li> <li><a href="#toc-extensions">Extensions</a></li> <li><a href="#toc-linvasion-spatiale">L’invasion spatiale</a></li> <li><a href="#toc-cache-de-rendu">Cache de rendu</a></li> <li><a href="#toc-r%C3%A8gles-dimport-am%C3%A9lior%C3%A9es">Règles d’import améliorées</a></li> <li><a href="#toc-curseurs-compacts">Curseurs compacts</a></li> <li><a href="#toc-am%C3%A9lioration-continue-du-code">Amélioration continue du code</a></li> <li> <a href="#toc-paquets-t%C3%A9l%C3%A9chargeables">Paquets téléchargeables</a><ul> <li><a href="#toc-flatpak-beta-disponible">Flatpak "<em>beta</em>" disponible</a></li> <li><a href="#toc-windows">Windows</a></li> <li><a href="#toc-macos">macOS</a></li> </ul> </li> <li><a href="#toc-et-ensuite">Et ensuite ?</a></li> <li> <a href="#toc-gimp-a-25-ans">GIMP a 25 ans!</a><ul> <li><a href="#toc-un-peu-dhistorique">Un peu d’historique</a></li> <li><a href="#toc-un-logiciel-qui-fait-avancer-tout-le-monde">Un logiciel qui fait avancer tout le monde</a></li> <li><a href="#toc-apports-de-zemarmot">Apports de ZeMarmot</a></li> </ul> </li> <li><a href="#toc-financer-le-d%C3%A9veloppement-de-gimp">Financer le développement de GIMP</a></li> </ul> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322d39392d322d6f766572766965772e6a7067/gimp-2-99-2-overview.jpg" alt="Poster du film libre « Coffee Run » par Hjalti Hjálmarsson" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2-99-2-overview.jpg"><br> <em>GIMP 2.99.2 avec le poster du film <a href="https://cloud.blender.org/films/coffee-run">Coffee Run</a> par Hjalti Hjálmarsson</em></p> <h2 id="toc-interface-utilisateur-en-gtk3">Interface utilisateur en GTK3</h2> <p>La première différence est bien sûr visuelle, avec un sentiment d’interface un peu plus moderne, ainsi que l’utilisation possible de nouveaux éléments d’interface. Diverses boîtes de dialogue profitent aussi maintenant de décorations de fenêtre côté client. Cependant les différences esthétiques sont loin d’être l’attrait majeur de GTK3.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e31302e32322d322e39392e322e6a7067/gimp-2.10.22-2.99.2.jpg" alt="GIMP 2.10.22 and 2.99.2 interfaces côté à côte" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.10.22-2.99.2.jpg"><br> <em>Gauche : GIMP 2.10.22 - Droite : GIMP 2.99.2</em></p> <h3 id="toc-vraie-prise-en-charge-des-écrans-à-haute-densité-de-pixels">Vraie prise en charge des écrans à haute densité de pixels</h3> <p>L’une des faiblesses majeures de GTK+2 est l’absence de prise en charge d’écrans à haute densité de pixels (par exemple de petits écrans avec une haute résolution ou de grands écrans avec une extrêmement haute résolution). Ces derniers ne sont pas majoritaires mais deviennent de plus en plus répandus, notamment chez les professionnels du secteur graphique. GIMP 2.10 avait une prise en charge limitée (dont j’étais d’ailleurs à l’origine de l’implémentation), comme une rustine de code, qui aidait dans certains cas intermédiaires mais n’était pas appropriée aux usages plus intensifs.</p> <p>GTK3 fournit donc une vraie prise en charge dans GIMP qui suivra désormais les préférences système pour le redimensionnement d’interface.</p> <p><em>État</em> : fini.</p> <h3 id="toc-prise-en-charge-améliorée-des-périphériques-dentrée">Prise en charge améliorée des périphériques d’entrée</h3> <p>Par « périphérique d’entrée », on entend surtout les tablettes graphiques et tablette-écrans. Ces périphériques étaient bien sûr déjà pris en charge, mais avec pas mal d’insuffisances jusqu’à GIMP 2. Notamment il fallait brancher la tablette avant de démarrer GIMP et l’activer explicitement dans les préférences du logiciel. Pire, débrancher la tablette en cours d’usage pouvait rendre GIMP instable (un problème que j’ai plus ou moins mitigé dans GTK+2, pendant la série 2.8, l’un de mes premiers <a href="https://gitlab.gnome.org/GNOME/gtk/-/commit/8368de2bc35056d466f0a536eadc353c69c0e6e3">patchs majeurs</a> mais qui néanmoins n’est pas la solution idéale que nous apporte GTK3).</p> <p>GIMP 3 (et donc cette version de développement aussi) nous permet ainsi le branchement à chaud. En d’autres termes: démarrez GIMP, branchez la tablette, c’est bon. Vous êtes maintenant paré pour dessiner avec prise en charge de la pression, de l’angle et de toute autre entrée du stylet.</p> <p>L’une des choses que l’on souhaite améliorer maintenant est la simplification de la configuration avancée de ces périphériques d’entrée.</p> <p>Pour ce qui est de la prise en charge des évènements tactiles multi-point (pour zoomer, faire tourner ou se déplacer sur le canevas par exemple), nous avons un peu expérimenté cela à un moment. Nous n’avons néanmoins pas achevé cela, car nous avons vite réalisé qu’il ne s’agissait pas d’une priorité en comparaison d’autres fonctionnalités.</p> <p>Le tactile est une fonctionnalité très sympathique, mais elle peut aussi s’avérer gênante. D’ailleurs de nombreux artistes professionnels finissent par désactiver le tactile pour ainsi éviter des actions non voulues (au point que de nos jours, les tablettes haut de gamme tendent à sortir avec un interrupteur physique permettant de désactiver matériellement le tactile, même si on peut aussi le désactiver logiciellement). C’est pourquoi ce n’est pas une priorité. Nous ne savons donc pas si GIMP v3.0 sortira avec prise en charge des gestes multi-points. Bien sûr, nous accueillons avec plaisir tout patch de quiconque voudrait en faire sa priorité et ainsi s’assurer que GIMP ait cette fonctionnalité.</p> <p><em>État</em> : encore du travail à faire dans la simplification de la configuration des tablettes maintenant que certaines fonctionnalités historiques ne sont plus utiles ou peuvent être présentées de manière plus compréhensible. Il existe aussi des fonctionnalités spécifiques à Wayland pour les tablettes que nous pourrions ajouter en fonction du temps disponible et de l’intérêt exprimé.</p> <h3 id="toc-personnalisation-du-thème">Personnalisation du thème</h3> <p>Nous héritons aussi bien entendu du système de thème de GTK3, basé sur le langage de style CSS. Cela signifie malheureusement que tous les thèmes personnalisés des versions passées ne seront pas compatibles avec GIMP 3.0 et les sorties futures. Le bon côté des choses est qu’il s’agit d’un standard bien connu et répandu, ce qui devrait rendre la personnalisation de l’interface de GIMP bien plus accessible à un plus grand monde.</p> <p>De même, les thèmes d’icônes symboliques sont bien mieux pris en charge. Les couleurs s’adapteront aux couleurs de premier et arrière plans définies dans le thème. Si vous avez déjà changé le thème de GIMP 2.10.x, en passant d’un thème sombre à un thème clair, vous vous souvenez probablement que vous deviez aussi changer le thème d’icône manuellement. Ce n’est plus nécessaire vu que les icônes seront automatiquement recolorées en fonction de votre thème.</p> <p>Enfin le « thème sombre » est un concept central de GTK3, ce qui signifie que même les décorations de fenêtre seront recolorées si le système de fenêtre le permet (voir la capture plus haut).</p> <p>Notons aussi qu’un même thème peut proposer à la fois une variante sombre et claire. C’est pourquoi la page de préférences de <em>Thème</em> propose une case à cocher <em>« Utiliser la variante de thème sombre si disponible »</em>. De même, un thème d’icône peut proposer à la fois des versions symboliques et couleurs, ce pourquoi la page « Thème d’icône » propose la case à cocher "<em>Utiliser les icônes symboliques si disponibles</em>". Vous êtes ainsi libre de personnaliser GIMP selon vos préférences.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d7468656d65732e6a7067/gimp-2.99.2-themes.jpg" alt="Theme switching" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-themes.jpg"><br> <em>Passer de la variante sombre à claire en cochant une case, ce qui recolore aussi les icônes symboliques</em></p> <p><em>État</em> : en attente de contributeurs de thème.</p> <p>Côté code, les changements relatifs à la personnalisation du thème sont finis, maintenant nous avons besoin d’un thème par défaut ! Vous pourrez remarquer que GIMP 2.99.2 ne liste qu’un thème “Système”, qui utilise donc principalement les couleurs de votre thème GTK système. Il s’agit donc d’une régression par rapport à 2.10 qui proposait des thèmes aux couleurs neutres (clair, obscur et intermédiaire). Nous souhaitons donc réintroduire un thème par défaut avec des variantes clair/obscur ainsi qu’un thème gris-intermédiaire.</p> <p>Pour rappel, le problème principal des thèmes systèmes est qu’ils couvrent des cas d’usage “bureautiques” alors que le travail graphique nécessite des couleurs neutres, sans teinte, pour ne pas polluer sa perception des couleurs. C’est la raison principale pour laquelle GIMP vient désormais avec un thème neutre et des icônes symboliques.</p> <p>Bien entendu, les thèmes et icônes colorés sont toujours utilisables. D’ailleurs nous sommes certains que la communauté créera très rapidement de jolis thèmes personnalisés. Une très bonne manière de contribuer à GIMP sans être développeur !</p> <h3 id="toc-prise-en-charge-de-wayland">Prise en charge de Wayland</h3> <p>Le portage vers GTK3 devrait théoriquement nous permettre de bénéficier sans rien avoir à faire de la prise en charge de Wayland sous Linux. C’est presque le cas, mais pas tout à fait. Malheureusement, quelques bugs ont déjà été rapportés pour GIMP tournant sous Wayland. Certains d’entre eux sont clairement bloquants pour une publication de GIMP 3 (comme des comportements étranges de l’interface graphique ou d'<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/4092">énormes fuites mémoire</a>). D’autres sont moins sérieux mais quand même gênants, comme celui où l’écran d’accueil est trop grand sur des affichages HiPPI parce que Wayland ne rapporte pas proprement la mise à l’échelle.</p> <p>À moins que ces problèmes ne soient résolus, nous ne pensons pas pouvoir affirmer que la prise en charge de Wayland nous convient. Nous serons reconnaissants pour tout correctif pour y remédier, qu’ils soient envoyés à GIMP, GTK ou toute partie concernée de la pile technologique. Si l’idée de nous aider vous intéresse, voici la <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues?scope=all&amp;utf8=%E2%9C%93&amp;state=opened&amp;label_name%5B%5D=Environment%3AWayland">liste de bugs concernant Wayland</a>.</p> <p>Une prise en charge convenable de Wayland signifie également que quelques fonctionnalités doivent être réimplémentées à travers ce que l’on appelle des portails. Nous avons déjà fait cela pour le greffon de capture d’écran (qui utilise les portails Freedesktop, GNOME et KDE), et il y a également un travail en cours pour corriger la sélection de couleur à l’écran (fonctionne déjà sur KDE, pas encore avec les portails GNOME et Freedesktop; malheureusement Wayland vient avec pas mal de duplication de travail en fonction des bureaux).</p> <p>Quant au portail des fichiers, c’est probablement quelque chose qui n’arrivera pas pour GIMP 3.0 parce que certaines fonctionnalités de la boîte de dialogue de fichier GTK restent indispensables. Mais ça pourrait être proposé plus tard à l’occasion de la refonte planifiée du mécanisme d’exportation.</p> <p>Enfin il faut savoir que Wayland a actuellement une prise en charge inexistante de la correction de couleurs, c’est d’ailleurs une très grosse cause de conflit actuellement entre certains utilisateurs de logiciels de graphisme sous Linux et les développeurs de Wayland. Il faut donc savoir que même si GIMP tournait très bien sous Wayland, les serveurs Wayland ne sont pas encore utilisables pour un usage graphique professionnel, et ce au niveau protocolaire.</p> <p><em>État</em> : quelques bugs bloquants en particulier requièrent une attention. Les contributions sont bienvenues.</p> <h4 id="toc-les-portails">Les « portails » ?</h4> <p>Propos de Jehan extrait du <em>chat</em> de rédaction de la dépêche pour qui veut en savoir plus sur ce que sont les portails :</p> <blockquote> <p>Les portails sont un changement de paradigme qui vient avec Wayland et les empaquetages comme Flatpak. Il implique de revoir la logique de certaines interactions. On y viendra, on a déjà réfléchi depuis des années à des changements dans le concept d’export notamment qui pourront aller avec ce changement de paradigme.<br> Les portails sont un concept de « services du bureau Linux » (techniquement simplement un service D-Bus) pour diverses fonctionnalités : au lieu d’accéder directement aux services bas niveau (serveur d’affichage, système de fichiers, etc.), on demande à un service « je veux ça ». En l’occurrence, on demanderait au service « on veut ouvrir un fichier », puis on perd la main et on attend une réponse du service (entre-temps, le service aura probablement montré un sélecteur de fichier à l’utilisateur, lequel aura sélectionné un fichier, mais l’application ne connaît pas le détail).<br> Ça va avec les nouveaux systèmes de permissions qui font progressivement leur entrée dans Linux. À terme, l’idée est qu’une application ne voit plus aucun fichier, ne peut plus accéder au réseau sans le faire savoir, ne voit pas les autres applications ni ce qu’il y a sur l’écran, etc.<br> C’est intéressant niveau sécurité mais apporte énormément de limitations. Pour un usage avancé, les possibilités des portails sont encore très très limitées parce que ça permet d’ouvrir <em>un</em> sélecteur de fichier. On ne sait pas lequel. Ça peut en effet être le sélecteur GTK comme celui de Qt, celui de Windows ou de macOS, etc. Donc ça veut dire qu’on ne peut plus personnaliser cette boîte de dialogue.<br> Typiquement les autres types de portails qui seraient à gérer par une application complexe (telle que GIMP) sont : les captures d’écran (image voire vidéo), la sélection des couleurs à l’écran, les périphériques d’entrée/sortie (imprimantes, scanners, webcams…), la gestion des écrans (une application sous Wayland ne sait plus sa position et n’a plus la possibilité de choisir sa position à l’écran, ni même ne sait combien d’écrans il y a, ou ne connaît les profils de couleurs, ce qui est d’ailleurs un gros problème pour les logiciels graphiques qui ne peuvent être utilisés professionnellement sous Wayland, etc.), l’accès au réseau, la communication avec les autres applications, etc.</p> </blockquote> <h2 id="toc-sélectionner-plusieurs-calques-à-la-fois">Sélectionner plusieurs calques à la fois</h2> <p>Gérer un projet complexe contenant des dizaines ou des centaines de calques est devenu beaucoup plus facile grâce à la possibilité de sélectionner plusieurs calques à la fois. La réalisatrice de dessins animés <a href="https://film.zemarmot.net/">Aryeom</a> réclamait cette possibilité depuis 2015 et son projet <em>ZeMarmot</em> en a donc pris en charge le développement. Nouvel exemple de la collaboration fructueuse entre artiste et développeur : chaque détail a été précisé après discussion et a d’abord été testé en production.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d6d756c74692d6c617965722d73656c656374696f6e2e706e67/gimp-2.99.2-multi-layer-selection.png" alt="Selecting multiple layers in Layers dockable" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-multi-layer-selection.png"><br> <em>4 calques sélectionnés, prêts à être déplacés ou transformés en même temps</em></p> <p>On peut sélectionner plusieurs calques dans la fenêtre des calques avec les combinaisons de touches classiques (<code>Shift+click</code> pour une série de calques et <code>Ctrl+click</code> pour sélectionner ou désélectionner). On peut réorganiser les calques par série : déplacer, réordonner, supprimer, dupliquer, fusionner, etc. tous les calques sélectionnés d’un coup.</p> <p>Plusieurs outils fonctionnent sur tous les calques sélectionnés. Par exemple les outils de transformation (déplacement, rotation, échelle, perspective, transformation unifiée…) transformeront tous les calques sélectionnés (en plus des calques liés par l’icône de chaîne). On peut aussi découper plusieurs calques d’un coup ou copier-coller une projection de calques fusionnés. L’outil <em>pipette</em> peut même prendre un mélange de couleurs réparties sur plusieurs calques (similaire à l’option "<em>Échantillonner sur tous les calques</em>" en version partielle, c’est-à-dire sans avoir à masquer les calques non-désirés).</p> <p>Il ne s’agit que de quelques exemples parce qu’une grosse partie du code est impactée par ce changement : le concept d’un seul calque actif est omniprésent dans les actions. Vous en apprendrez plus en lisant <a href="https://www.patreon.com/posts/report-on-for-in-37266151">le rapport de développement</a>.</p> <p><em>État</em> : bien avancé, mais toujours en cours.</p> <p>Quelques outils fonctionnent encore en calque unique et doivent être modifiés avant la version finale. Ce faisant, nous casserons probablement des choses, c’est pourquoi nous sortirons d’autres versions de développement. De plus, nous pourrions bientôt étendre la sélection de plusieurs éléments aux chemins et canaux.</p> <p>Enfin, la peinture et les opérations GEGL (filtres) sont encore limitées aux calques uniques. Permettre de peindre ou de retoucher des pixels sur plusieurs calques à la fois, nécessite probablement des changements d’interface (à concevoir) pour éviter les effets indésirables, comme des opérations trop longues ou qu’on ne pourrait annuler.</p> <h2 id="toc-interface-de-programmation-api-pour-les-greffons">Interface de programmation (<em>API</em>) pour les greffons</h2> <p>Nous avons dû briser l’interface de programmation pour les greffons afin d’introduire beaucoup d’améliorations, tout en faisant attention à ne pas briser ce qu’il n’y avait pas lieu d’être.</p> <p>Porter un greffon constitué d’un seul fichier de GIMP 2.10 à GIMP 3 prend d’habitude entre 5 et 30 minutes. Nous travaillons à l’écriture d’une documentation de portage, qui sera publiée en même temps que GIMP 3.</p> <p>Si vous êtes un développeur de greffons, une des premières étapes à suivre est de s’assurer que vous n’utilisez pas de fonctions obsolètes. Nous avons compilé une <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/devel-docs/GIMP3-plug-in-porting-guide/removed_functions.md">liste de fonctions retirées avec leur remplacement</a>. Vous pouvez déjà effectuer cette partie du portage tout en ciblant les versions GIMP 2.10.x.</p> <h3 id="toc-api-orientée-objets">API orientée Objets</h3> <p>Parmi les changements notables, nous avons écarté les identifiants d’objets (<em>object IDs</em>) pour utiliser directement des objets. En particulier dans GIMP 3, <code>GimpImage</code>, <code>GimpItem</code>, <code>GimpDrawable</code>, <code>GimpLayer</code>, <code>GimpVectors</code>, <code>GimpChannel</code> et <code>GimpPDB</code> sont des objets (d’autres classes d’objets existent déjà ou pourraient être ajoutées plus tard).</p> <p>Cela permet une programmation plus sécurisée en ayant des objets typés dont la classe peut facilement être vérifiée, et donc implique des messages d’erreur plus adaptés (avec les <em>IDs</em>, qui sont simplement des nombres entiers, il n’était pas rare d’avoir des bogues bizarres à cause d’<em>IDs</em> incorrectes, compliquant la recherche de bogues).</p> <p>La programmation objet amène également l’héritage de classes. Typiquement, une <code>GimpLayer</code> est aussi une <code>GimpDrawable</code>, elle-même étant une <code>GimpItem</code>. Cela signifie que vous pouvez utiliser n’importe quelles méthodes des classes parentes et facilement savoir à quelle classe elles appartiennent.</p> <p>Une conséquence non-C est que cela permet des ponts pour adapter les API à leur propre modèle objet. Ainsi, dupliquer une instance <code>GimpImage</code> nommée par exemple <code>img</code> en Python 3 peut être fait avec l’API assez pythonesque <code>img2 = img.duplicate()</code>.</p> <p><em>État</em> : le portage objet est quasi terminé. Nous voulons également utiliser la signalisation objet, qui est en cours de réalisation et devrait au final permettre de connecter des gestionnaires de signaux directement aux objets pour gérer des évènements venant du cœur de l’application (chose impossible dans GIMP 2, sauf à lancer des requêtes périodiquement).</p> <h3 id="toc-usage-de-gio-pour-la-gestion-des-fichiers">Usage de GIO pour la gestion des fichiers</h3> <p>Un autre changement dans l’interface de programmation des greffons (<em>API</em>) est l’usage de <code>GFile</code> pour abstraire les fichiers, c’est-à-dire donc avec GLib/GIO.</p> <p>Cela peut paraître un peu ennuyeux au premier abord (cela peut ajouter une étape additionnelle de création et de gestion de <code>GFile</code>), néanmoins cela permet une gestion des fichiers plus robuste. En particulier, il n’est plus nécessaire de se préoccuper du codage des chemins d’accès et de conversions (un problème lorsque les développeurs supposent que tout le monde utilise le même codage) et donc moins de chemins erronés et de code non-portable. En outre, on n’a plus à se poser la question des schémas de notation de chemins différents entre systèmes d’exploitations (tels que le caractère de séparation de répertoire ou les notations de système de fichier). Travailler avec des <code>GFile</code> rend la représentation interne d’un fichier transparente, donc l’usage d’un fichier plus robuste.</p> <p>Un autre avantage majeur est que l’interface obtient automatiquement toutes les capacités des modules GIO installés, tels que le chargement/enregistrement sur des URI distantes (et possiblement à travers des canaux chiffrés comme HTTPS). Cela ouvre donc des possibilités sans code spécifique côté applicatif.</p> <p>L’usage de GIO pour le traitement de fichier avait déjà été fait dans le code principal de GIMP pour la sortie initiale de GIMP 2.10.0. Nous permettons maintenant aux dévelopeurs de greffons d’en profiter également dans GIMP 3.0.</p> <p><em>État</em>: terminé, excepté pour les <em>bindings</em> historiques.</p> <p>Les <em>bindings</em> nouvelle génération par introspection <code>GObject</code> ont un accès complet à l’interface <code>GLib</code>/<code>GIO</code> et sont donc parfaitement capables de créer des <code>GFile</code> à travers des chemins d’accès et des URIs. Par contre les <em>bindings</em> historiques, tels que <code>script-fu</code> (Scheme), n’ont pas accès à l’API <code>GFile</code>. Nous devons travailler sur ce sujet (un patch existe même déjà mais a besoin de revue de code).</p> <h3 id="toc-déclaration-des-greffons">Déclaration des greffons</h3> <p>L’interface de programmation des greffons a connu une refonte majeure dans les fonctions de déclaration du greffon. Cela se fait maintenant en sous-classant une classe <code>GimpPlugIn</code> et en re-définissant certaines méthodes pour lister et documenter les procédures créées par le greffon. Cela permet une déclaration bien plus propre, explicite et évolutive que l’interface précédente, et cela devrait donc aider les développeurs de greffons.</p> <p>La manière dont les paramètres des procédures de vos greffons sont maintenant gérés a également été standardisée, en particulier en utilisant les propriétés <code>GObject</code> d’un objet de configuration. C’est plus facile à gérer en tant que logique générique. En particulier, le même objet de configuration nous permet de générer de nombreuses fonctionnalités. Par exemple, il aidera à générer des dialogues à la demande pour des greffons qui ne veulent pas <em>tripatouiller</em> du GTK ou un autre toolkit par eux-mêmes. Cela simplifie également et standardise la sauvegarde de paramètres pour des appels ultérieurs ou une même procédure.</p> <p>Au final, cela fait également partie du travail de fond pour une future fonctionnalité d’enregistrement de macro (très peu probable de la voir dans GIMP 3.0, mais c’est une partie du travail amenant à cette fonctionnalité puisque nous serons capables de sauver de manière fiable les paramètres utilisés lors du lancement des greffons.</p> <p><em>État</em> : bien que la partie principale de cette API soit terminée, la version finale nécessite d’autres ajustements, comme la représentation des paramètres qui n’est pas encore figée.</p> <h3 id="toc-prise-en-charge-de-langages-de-programmation-variés-bindings">Prise en charge de langages de programmation variés (<em>bindings</em>)</h3> <p>L’interface de programmation (<em>API</em>) est maintenant entièremement <em>introspectée</em> grâce à <a href="https://gi.readthedocs.io/en/latest/">GObject Introspection</a>. Cela implique que GIMP peut maintenant être scripté avec une large variété de langages informatiques. Voici ceux que nous avons testé à ce jour, et dont nous pouvons donc confirmer la viabilité (en plus de C et C++ bien sûr) :</p> <ul> <li>Python 3</li> <li>JavaScript</li> <li>Lua</li> <li>Vala</li> </ul> <p>L’une des principales différences avec l’ancienne méthode pour faire des interfaces intermédiaires pour scripter GIMP (par exemple GIMP 2.10 avait une interface Python 2) est que nous ne nécessitons plus de couche logicielle intermédiaire. C’est donc un énorme gain en maintenance et en stabilité.</p> <p>En outre les interfaces non-C de GIMP 2 se basaient habituellement sur le protocole de communication de GIMP appelé <code>PDB</code>, lequel n’est en fait qu’un sous-ensemble des fonctionnalités de la bibliothèque C <code>libgimp</code>. Au contraire, les nouvelles interfaces sont générées à partir de <code>libgimp</code> même, par conséquent les greffons en Python 3, Javascript, Lua ou Vala (ainsi que toute future prise en charge par introspection) auront les mêmes possibilités d’action que les greffons en C. C’est un nouveau monde qui s’ouvre aux développeurs de greffons GIMP !</p> <p>Une autre conséquence est que les interfaces résultantes sont globalement les mêmes dans tous ces langages de programmation, aux spécificités de syntaxe près.<br> Par exemple, si pour trouver l’intersection d’un <code>drawable</code> avec une sélection se fait ainsi en C :</p> <pre><code class="C"><span class="n">success</span> <span class="o">=</span> <span class="n">gimp_drawable_mask_intersect</span> <span class="p">(</span><span class="n">drawable</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">x</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">y</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">width</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">height</span><span class="p">);</span></code></pre> <p>En Javascript, ce sera :</p> <pre><code class="js"><span class="kd">let</span> <span class="p">[</span> <span class="nx">intersect</span><span class="p">,</span> <span class="nx">x</span><span class="p">,</span> <span class="nx">y</span><span class="p">,</span> <span class="nx">width</span><span class="p">,</span> <span class="nx">height</span> <span class="p">]</span> <span class="o">=</span> <span class="nx">drawable</span><span class="p">.</span><span class="nx">mask_intersect</span><span class="p">();</span></code></pre> <p>En Python 3:</p> <pre><code class="python"><span class="n">intersect</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">height</span> <span class="o">=</span> <span class="n">drawable</span><span class="o">.</span><span class="n">mask_intersect</span><span class="p">()</span></code></pre> <p>Un autre exemple sympa est la manière dont les tableaux C avec paramètre additionnel de longueur sont gérés dans les langages qui ont une structure de données appropriée (et en particulier ne nécessitant pas l’information de longueur dans un argument à part).<br> Ainsi alors que vous copiez les pixels de multiples <em>drawables</em> ainsi en C :</p> <pre><code class="C"><span class="cm">/* Where @drawables is a C array of drawables, and @num_drawables</span> <span class="cm"> * indicates the size of this array.</span> <span class="cm"> */</span> <span class="n">gimp_edit_copy</span> <span class="p">(</span><span class="n">num_drawables</span><span class="p">,</span> <span class="n">drawables</span><span class="p">);</span></code></pre> <p>En Python 3, vous faites la même chose avec une liste Python, laquelle n’a pas besoin de l’argument <code>num_drawables</code> maintenant redondant avec les possibilités de la structure liste Python :</p> <pre><code class="python"><span class="n">Gimp</span><span class="o">.</span><span class="n">edit_copy</span><span class="p">([</span><span class="n">drawable1</span><span class="p">,</span> <span class="n">drawable2</span><span class="p">,</span> <span class="n">drawable3</span><span class="p">])</span></code></pre> <p>Bonus : non seulement les greffons non-C ont maintenant accès à toutes les fonctions proposées par GIMP, mais ils ont aussi accès à bien d’autres interfaces qui sont utilisées comme dépendances de GIMP. Ainsi un greffon peut utiliser n’importe quelle fonction de GLib/GIO, GTK, Pango, Cairo mais surtout babl et GEGL (ouvrant de nouvelles portes pour la manipulation de pixels et l’accès à une belle liste d’opérations graphiques). C’était probablement une des plus grosses limitations de l’interface Python 2 précédente, laquelle n’avait pas la possibilité de manipuler les pixels avec GEGL.</p> <p><em>État</em> : certains des développeurs ont regretté des fonctions spécifiques à l’ancienne interface Python 2, et en particulier la capacité de créer des dialogues simplement (sans utiliser GTK directement). Cette possibilité n’est pas dans GIMP 2.99.2 mais existera bien dans GIMP 3.0. En fait, après la sortie de GIMP 2.99.2, j’ai déjà ré-implémenté cela avec plus de fonctionnalités (c’est-à-dire des moyens de personnaliser l’organisation visuelle des options dans la boîte de dialogue notamment). Ce sera donc disponible dès GIMP 2.99.4 et sera extrêmement plus puissant que ce que l’interface Python 2 proposait.<br> Mais <strong>surtout</strong> : ce sera disponible à tous les langages, pas juste Python ou Scheme ! C’est l’un des autres gros avantages d’interfaces générées par introspection. Au lieu d’implémenter des supers fonctionnalités dans chaque couche de langage (similairement mais avec une implémentation et des possibilités différentes), on les fournit sur l’interface de base en C. En conséquence, tout développeur — quel que soit son langage de prédilection — aura accès à toutes les fonctionnalités.</p> <p>Enfin, notons que <code>Script-fu</code> ne fait pas partie des interfaces générées par introspection (bien qu’il existe des interfaces <em>GObject Introspection</em> pour Scheme, mais nous ne les avons pas encore testées) et fonctionne donc encore avec une couche d’extension supplémentaire, « à l’ancienne », avec toutes les limitations que cela implique. En outre, des problèmes à cause du changement d’interface ont déjà été soulevés (notamment l’impossibilité de créer des <code>GFile</code> comme mentionné plus haut). Nous devrons régler cela d’ici la sortie de GIMP 3.0.</p> <h3 id="toc-greffons-goat-exercise-promenade-de-chèvre">Greffons <em>goat exercise</em> (« promenade de chèvre »)</h3> <p>Pour chacune des interfaces de langages testées, nous avons créé un greffon appelé <em>promenade de chèvre</em> (<em>sic</em> - terme utilisé dans la traduction française officielle), lequel est une démo de création de greffon. C’est comme un <em>Hello World!</em> mais pour GIMP.</p> <p><em>NdT : Goat est une blagounette avec GEGL dont l’acronyme alternatif (« Genetically Engineered Goat, Large ») décrit son logo, <a href="https://fr.wikipedia.org/wiki/Fichier:GEGL.png">une chèvre à cinq pattes</a>.</em></p> <p>Chaque <em>promenade de chèvre</em> fait exactement la même chose dans son propre langage : elle crée une fenêtre de dialogue avec un label, des boutons et une <em>text view</em> (démo GTK+ et GLib/GIO) ; un des boutons déclenche un filtre modifiant le calque sélectionné (démo GEGL et démo GIMP API) ; tout cela pendant qu’elle montre son propre code source à l’intérieur de la <em>text view</em> (facilitant ainsi l’inspection de code depuis GIMP) et avec un bouton vous envoyant vers le fichier du dépôt (si vous préférez récupérer la dernière version, confortablement dans votre éditeur de code).</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d676f61742d6578657263697365732e6a7067/gimp-2.99.2-goat-exercises.jpg" alt="Promenade-chèvre dans 5 langages" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-goat-exercises.jpg"><br> <em>Les 5 versions du greffon</em> promenade de chèvre <em>en Python 3, Javascript, Lua, C et Vala</em></p> <p>Ces greffons sont assez importants puisque nous prévoyons d’améliorer l’écosystème des greffons avec GIMP 3. Il constitue la première étape de greffons de démonstration auto-documentés (tout en faisant quelque chose d’un peu plus intéressant qu’un simple « Hello World »).</p> <p><em>État</em> : le code actuel des <em>promenades de chèvres</em> n’est pas toujours synchronisé avec les API les plus récentes puisque ce sont des éléments en constante évolution. Ils seront mis à jour avant la sortie finale.</p> <h3 id="toc-documentation-de-développement">Documentation de développement</h3> <p>Nous avons commencé à mettre par écrit de la documentation concernant le développement de greffons dans GIMP 3, et commencerons à publier progressivement quelques didacticiels. Nous espérons même être capable de remettre à flot notre site web pour développeurs qui a doucement sombré depuis de trop nombreuses années. Nous espérons que GIMP 3 viendra redonner un coup de fouet à l’écosystème des greffons de GIMP.</p> <p><em>État</em> : encore à un stade précoce, nous souhaitons la bienvenue à plus de contributeurs pour rendre cela possible.</p> <h2 id="toc-extensions">Extensions</h2> <p>Les extensions sont un nouveau format de fichier qui est simplement un regroupement de données (brosses, écrans d’accueil, motifs, dynamiques…) ou de greffons, associés à des méta-données (nom, description, copies d’écran, version, pré-requis…). Le but sera de permettre aux développeurs de greffons de publier leurs travaux sur des dépôts pour que tout le monde puisse chercher des greffons venant de tiers, les installer ou désinstaller, activer ou désactiver, et les mettre à jour directement dans GIMP.</p> <p>Le menu <code>Edit &gt; Manage Extensions</code> montre la fenêtre principale de dialogue. Dans l’onglet « System Extensions » en particulier, vous noterez « Official Demo Plug-ins » qui est notre première extension. Elle regroupe en fait toutes les greffons Promenades-chèvres dont nous avons parlé plus haut. Si vous le désactivez, vous remarquerez après un redémarrage (pour le moment, vous devez redémarrer GIMP pour en voir les effets) que le menu catégorie <code>Filters &gt; Development &gt; Goat Exercises</code> aura disparu.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d676f61742d65786572636973652d657874656e73696f6e2e706e67/gimp-2.99.2-goat-exercise-extension.png" alt="Une extension Promenade-chèvre" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-goat-exercise-extension.png"><br> <em>Les promenades de chèvres sont elles-mêmes notre première démo d’extension.</em></p> <p>Nous reviendrons sur cette fonctionnalité après que nous y aurons travaillé davantage. En particulier, nous fournirons de la documentation sur la manière de créer des extensions. C’est vraiment quelque chose que les créateurs de greffons et de ressources devraient garder en ligne de mire, puisque cela les aidera à partager leurs créations avec d’autres.</p> <p><em>État</em> : encore plus de travail à faire du côté de GIMP, particulièrement pour communiquer à propos des dépôts, et beaucoup plus de travail encore pour le dépôt officiel et le site web des extensions.</p> <h2 id="toc-linvasion-spatiale">L’invasion spatiale</h2> <p>"<em>Space invasion</em>" est le nom de code interne du travail initialement entamé en <a href="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/#prepare-for-the-space-invasion">2018</a> dont le but était de mettre en place une prise en charge adaptée de l’espace colorimétrique sur l’ensemble du traitement des pixels. Dans les séries de GIMP 2.10, malgré une prise en charge de la gestion des couleurs dans le cœur du logiciel, les profils étaient quelquefois perdus pendant le traitement d’une opération et seulement réintroduits dans le résultat final, ce qui pouvait donner lieu à des valeurs erronées dans certains cas. </p> <p>Quiconque souhaitant comprendre plus avant ces problématiques peut lire l'<a href="https://www.patreon.com/posts/20264674">article de Øyvind Kolås</a> et en particulier <a href="https://gegl.org/NEWS.html#_gegl_0_4_6_2018_07_23">la note de sortie détaillée de GEGL 0.4.6</a> dans laquelle il explique tout cela très bien.</p> <p>Quelques améliorations de ce travail ont déjà été progressivement rétro-intégrées à diverses versions de GIMP 2.10.x, mais GIMP 3.0 devrait être la sortie ultime pour laquelle nous espérons régler cela à 100%.</p> <p><em>Status</em> : la branche de développement est beaucoup plus avancée sur ce sujet que la série des versions 2.10, mais davantage de travail est nécessaire. Divers aspects de GIMP sont toujours limités aux seules valeurs sRGB que ce soit pour l’affichage ou le traitement.</p> <h2 id="toc-cache-de-rendu">Cache de rendu</h2> <p>GIMP 3 a maintenant un cache de rendu qui conserve le résultat d’un changement d’échelle, la gestion des couleurs, des filtres d’affichage et des masques de canevas (pour les outils tels que <em>Fuzzy Select</em>). Cela donne une sensation de rapidité de l’interface en comparaison à la version GTK2 de GIMP.</p> <p>Il y a maintenant également un paramètre <em>Zoom Quality</em> dans <em>Preferences -&gt; Display</em>. Quand il est positionné sur <em>Fast</em>, GIMP fera une interpolation au voisin le plus proche depuis le mipmap de niveau immédiatement supérieur au lieu d’un filtrage linéaire ou fenêtré. Cela donne un coup de pouce léger mais permanent à l’affichage et à l’ensemble des modifications. Nous avons quelques idées pour améliorer cela davantage, comme de remplacer les pixels interpolés rapidement par une interpolation de meilleure qualité (mais plus lente) après un certain temps.</p> <p><em>État</em> : fini.</p> <h2 id="toc-règles-dimport-améliorées">Règles d’import améliorées</h2> <p>L’option de <strong>Politique de profil de couleur</strong> propose dorénavant un nouveau choix : "<em>Convertir au profil colorimétrique RVB préféré</em>" et l’action par défaut “Convertir” de la fenêtre d’importation convertira l’image au profil préféré (s’il a été défini, autrement on se réfère au profil prédéfini sRGB). La conversion au profil prédéfini sera toujours disponible comme une action secondaire. Si vous voulez toujours travailler avec le même profil donné, vous pouvez ainsi définir ce dernier ainsi que le comportement par défaut du logiciel à l’importation.</p> <p>De plus, une nouvelle <strong>Politique de rotation</strong> est proposé dans la fenêtre des Préférences, à côté de la <em>Politique de profil de couleur</em> (à la page <code>Préférences &gt; Importation et exportation d’images</code>) avec 3 options : « Demander ce qu’il faut faire », « Rejeter la méta-donnée sans rotation », et « Effectuer la rotation puis rejeter la méta-donnée ».</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d696d706f72742d706f6c69636965732d70726566732e6a7067/gimp-2.99.2-import-policies-prefs.jpg" alt="Import Policies" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-import-policies-prefs.jpg"><br> <em>Politique de profil de couleur mise à jour et nouvelle Politique de rotation</em></p> <p>Les règles de rotation par méta-donnée étaient jusque-là gérées du côté des greffons d’importation, avec des fenêtres de dialogue générées par <code>libgimpui</code> et sauvées dans un <em>parasite</em> global. Toute la logique et l’interface graphique ont été déplacées dans le cœur du logiciel, au côté de la « Politique de profil de couleur ». Ceci implique que les greffons n’ont même plus besoin de gérer cela puisque ça se passera désormais génériquement et automatiquement comme spécifié par l’utilisateur à chaque nouvelle importation.</p> <p><em>État</em> : fini.</p> <h2 id="toc-curseurs-compacts">Curseurs compacts</h2> <p>Le <em>curseur compact</em> fut introduit dans <a href="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/#compact-sliders">GIMP 2.10.18</a>. Dans la série des 2.10, il a été laissé comme une fonctionnalité optionnelle qui pouvait être désactivée dans la fenêtre de <em>Préférences</em>. Dans GIMP 3, c’est maintenant l’unique choix possible, sans option.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f30362f67696d702d322d39392d322d72656c65617365642f67696d702d322e39392e322d636f6d706163742d7370696e2d7363616c652e706e67/gimp-2.99.2-compact-spin-scale.png" alt="Compact slider" title="Source : https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-compact-spin-scale.png"><br> <em>Nouveau curseur compact comme seule et unique option</em></p> <p>Remarquez que la couleur bleu clair sur la copie d’écran n’est pas un choix de notre fait : cette couleur est définie par le thème (or comme on le disait, on n’a pas encore de thème spécifique, il s’agit donc d’un thème système quelconque). Ce widget utilise les couleurs par défaut de <code>GtkProgressBar</code>. Elles peuvent donc être ajustées dans un thème personnalisé en changeant les couleurs de <code>GtkProgressBar</code> ou seulement les couleurs de ce widget en particulier (une fois de plus, bienvenue aux contributeurs de thèmes!).</p> <p><em>État</em> : fini.</p> <h2 id="toc-amélioration-continue-du-code">Amélioration continue du code</h2> <p>Pendant que nous portions d’anciennes fonctionnalités et en implémentions de nouvelles, beaucoup de travaux connexes ont été faits sur la structure du code. De nombreuses parties du code principal ont été réorganisées pour une meilleure maintenance.</p> <p>Bien que tout n’ait pas encore été porté, un travail de fond a été mis en place, tel que l’interface <code>GimpAction</code> pour ajouter une couche d’abstraction aux <code>GtkAction</code> (nous préparant à nous en séparer réellement à échéance, ce qui est une des grosses parties restantes pour la migration vers GTK3).</p> <p>De nombreuses autres parties sont constamment retravaillées et améliorées au cours d’un travail de fond incessant.</p> <p><em>État</em> : la réorganisation du code est une tâche constamment active, l’a toujours été et le sera toujours. Elle ne s’arrêtera jamais vraiment.</p> <h2 id="toc-paquets-téléchargeables">Paquets téléchargeables</h2> <h3 id="toc-flatpak-beta-disponible">Flatpak "<em>beta</em>" disponible</h3> <p>Cette version est disponible dans la branche “beta” de notre <a href="https://flathub.org/apps/details/org.gimp.GIMP">paquet Flathub officiel</a>, qui est une branche de publication masquée (vous ne trouverez pas cette information sur la page publique sur le site de Flathub). Voici la commande qui vous permettra d’installer GIMP 2.99.2 :</p> <pre><code>flatpak install --user https://flathub.org/beta-repo/appstream/org.gimp.GIMP.flatpakref </code></pre> <p>À partir de là, vous pourrez mettre à jour vers de nouvelles versions de développement dès qu’elles seront disponibles par ce biais (si votre bureau intègre Flatpak, il pourra même vérifier automatiquement de lui-même et les proposer).</p> <p>Il faut noter que Flatpak ne permet qu’une seule branche visible à la fois pour une même application, de sorte que si vous avez installé à la fois les versions stable et de développement avec Flatpak, votre bureau ne montrera que l’un ou l’autre. Pour changer de branche visible, il faut lancer la commande correspondante parmi les deux proposées ci-dessous :</p> <pre><code>flatpak make-current --user org.gimp.GIMP beta flatpak make-current --user org.gimp.GIMP stable </code></pre> <p>Certains ont aussi créé des raccourcis qui lancent explicitement la commande <code>flatpak<br> run org.gimp.GIMP//beta</code> (ou <code>stable</code> respectivement), comme solution de secours pour obtenir des icônes pour les deux versions.</p> <h3 id="toc-windows">Windows</h3> <p>Comme d’habitude, nous proposons un installateur pour GIMP sous Windows, que vous trouverez sur la <a href="https://www.gimp.org/downloads/devel/">page de téléchargement de développement</a>.</p> <p>Il peut manquer quelques fonctionnalités. En particulier, vous ne trouverez pas d’interface JavaScript sur le paquet Windows en raison de la complexité de certaines dépendances. Nous corrigerons ce souci dans de futures pré-versions en chemin vers GIMP 3.</p> <h3 id="toc-macos">macOS</h3> <p>Notre empaqueteur pour macOS n’est toujours pas complètement revenu, donc malheureusement nous n’avons pas de paquet macOS officiel. Comme toujours, nous vous rappelons que GIMP est un logiciel libre développé par une communauté. Chacun peut devenir un mainteneur officiel, et avoir plusieurs contributeurs sur la question permet d’assurer une meilleure pérennité.</p> <p>Si vous êtes intéressé, n’hésitez pas à nous contacter sur notre canal développeur sur <a href="https://www.gimp.org/irc.html">IRC</a> : <code>#gimp</code>.</p> <h2 id="toc-et-ensuite">Et ensuite ?</h2> <p>Comme vous le voyez, énormément de choses ont été faites (le fichier <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/4f201556967d9e7c868601698e9e3d957c1c27ea/NEWS#L46"><code>NEWS</code></a> donne bien plus de détails). Le gros du travail a déjà été fait. Ce qui reste maintenant est le peaufinage. Ce n’est cependant pas si simple, car les décisions finales et l’attention aux petits détails sont le plus difficile. Nous voulons publier un GIMP 3 d’envergure, et devons donc être particulièrement méticuleux. Voilà où nous en sommes et c’est pourquoi nous publions cette première version de développement.</p> <p>Ce <a href="https://www.patreon.com/posts/what-remains-to-40087754">rapport de développement</a> détaille assez précisément tout ce qui reste à faire, et vous remarquerez à quel point il suit vraiment de près les changements de GIMP 2.99.2. C’est notamment du côté de l’API — bien que la plupart des utilisateurs ne la voient pas — qu’il faut notamment s’assurer de ne pas faire d’erreur avant publication, car notre API devra rester stable tout au long de la série des 3.x. Une fois que ce sera fait, nous voudrons garder les interfaces de <code>libgimp</code> 3.0.0 inchangées à moins d’une exception (par exemple parce que nous découvrons des bogues qui rendent une fonction inutile). Cela nous prendra du temps.</p> <p>Il y a certainement d’autres points sur lesquels de l’aide fera la différence, que ce soit dans les greffons, le code, l’interface utilisateur ou l’interface de programmation. C’est pourquoi nous avons besoin de plus de paires d’yeux pour résoudre autant de petits problèmes que possible.</p> <h2 id="toc-gimp-a-25-ans">GIMP a 25 ans!</h2> <p>Il y a pas mal d’anniversaires ronds de logiciels libres dernièrement. Pour ne pas déroger à la règle, GIMP vient de <a href="https://www.gimp.org/news/2020/11/21/25-years-of-gimp/">fêter ses 25 ans</a>!… un âge dont peu de logiciels encore en activité peuvent se targuer.</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e67696d702e6f72672f6e6577732f323032302f31312f32312f32352d79656172732d6f662d67696d702f323032302d47494d502d32352d74682d62697274686461792e6a7067/2020-GIMP-25-th-birthday.jpg" alt="“Joyeux 25ᵉ anniversaire GIMP!” par Aryeom, Creative Commons by-sa 4.0" title="Source : https://www.gimp.org/news/2020/11/21/25-years-of-gimp/2020-GIMP-25-th-birthday.jpg"><br> <em>“Joyeux 25ᵉ anniversaire GIMP!” par Aryeom, Creative Commons by-sa 4.0</em></p> <p><em>Note</em>: une <a href="https://youtu.be/rvPQ5KtM6aY">vidéo accélérée (<em>timelapse</em>) de ce dessin est disponible, avec commentaires</a> audios (et textuels dans des sous-titres notamment français). J’aime particulièrement beaucoup les commentaires, car ils apportent un autre niveau d’implication et de réflexion sur ce qui peut sembler être juste un petit dessin irréfléchi pour beaucoup de gens.<br> Le fichier source du dessin (format de GIMP <code>XCF</code>, comme d’habitude sous licence Creative Commons by-sa 4.0, vous autorisant à étudier et modifier l’œuvre pour faire une œuvre dérivée!) est disponible sur la <a href="https://www.patreon.com/posts/25-years-of-gimp-44863356">page Patreon associée</a>.</p> <h3 id="toc-un-peu-dhistorique">Un peu d’historique</h3> <p>En effet, c’est le 21 novembre 1995 qu’un étudiant, Peter Mattis <a href="https://www.gimp.org/about/prehistory.html#november-1995-an-announcement">annonce pour la première fois</a> un logiciel appelé « The GIMP » (<em>the General Image Manipulation Program</em>, le “General” deviendra par la suite “GNU” et l’article "<em>the</em>" disparaîtra), et livre un premier code publiquement, développé avec son collègue Spencer Kimball. Notons que les 2 étudiants abandonneront rapidement GIMP (vers 1998), sans vraiment penser à la relève (je pense qu’ils ne s’attendaient pas à l’engouement que cela créerait), qui fut donc majoritairement développé par la communauté depuis.</p> <p>D’ailleurs dans un <a href="https://retina.elpais.com/retina/2020/12/18/tendencias/1608306962_883235.html">article récemment paru dans El Paìs</a>, second plus gros journal papier d’Espagne et journal en ligne le plus lu en langue espagnole, les 2 compères (maintenant beaux-frères) expliquent encore régulièrement utiliser GIMP même s’ils pensent qu’il n’y a probablement plus aucune ligne d’eux dedans de nos jours.<br> Je ne donne pas ce lien vers cet article au hasard, car il sort des centaines d’articles sur GIMP tous les ans, mais pour celui-ci (sorti il y a quelques jours), la journaliste nous a contactés (équipe actuelle de GIMP) ainsi que vraisemblablement les 2 auteurs originaux, et pour une fois on y trouve un vrai travail de synthèse journalistique (et pas juste du copier-coller de nos propres annonces). C’est appréciable de voir que le vrai journalisme 📰 existe encore! 🙂<br> Même s’il n’est pas en français, je conseille donc de lire cet article, car il donne un historique avec une vue et des données propres (si vous ne parlez pas espagnol, les traducteurs automatiques sont très performants de nos jours).</p> <p>Dans les autres petites perles sur les auteurs originels, j’ai aimé <a href="https://youtu.be/H-R8qgXxFb0?t=3422">cette question finale à Spencer Kimball (à 57:03)</a> dans une interview vidéo récente au sujet de son projet professionnel actuel (une base de donnée distribuée, donc peu de rapport avec du graphisme; apparemment <a href="https://github.com/cockroachdb/cockroach">cockroachdb</a> est libre, les fondamentaux restent !). Je n’ai pas écouté l’interview complète, mais je me suis demandé ce que ce dernier considère en effet comme ce dont il est le plus fier. Ça ne manque pas : <strong>à la question sur ce dont il est le plus fier dans sa carrière</strong>, GIMP reste (et restera peut-être à jamais?) sa plus grande fierté:</p> <blockquote> <p>GIMP reste stable en favori. Ce n’est même pas que je suis si fier de ce que j’y ai fait. C’est le projet dans son ensemble. Ça fait 27 (<em>sic — note de Jehan: avaient-ils commencé à coder 2 ans avant la première sortie de code ? Pas impossible !</em>) ans. À chaque fois que je le télécharge, ou que j’ai un nouvel ordinateur, il est meilleur que la fois précédente. Il y a constamment des gens que je n’ai jamais rencontrés qui continuent à travailler dessus. Donc je suppose qu’être à l’origine de cela, en tant qu’auteur originel, c’est quelque chose qui me rend fier. Je pense que si ça avait été l’unique chose que j’avais faite dans ma vie, ça aurait été suffisant. Donc : GIMP.</p> </blockquote> <p>Traduction personnelle d’après l'<a href="https://youtu.be/H-R8qgXxFb0?t=3422">original</a>:</p> <blockquote> <p>The GIMP remains a steady favorite to me. It's not even that I'm so proud of what I did on the GIMP. It's the larger project. It's been 27 (<em>sic</em>) years. Every time I download it, I get a new computer, it's better than the last time I downloaded it. There is always people out there I've never met that are working on it. So I guess, being behind them, as the original author, it is something that does make me quite proud and I feel like… if that's all I did in this life, that would be enough. So euh… GIMP.</p> </blockquote> <p>Merci donc à ces derniers d’avoir démarré ce projet, même si c’était juste pour s’amuser en tant qu’étudiants !</p> <p>Quoi qu’il en soit, nous y sommes, 25 ans après, des <a href="https://www.openhub.net/p/gimp">centaines de contributeurs plus tard</a>, du code à foison et des millions d’utilisateurs dans le monde. C’est en effet assez ébouriffant quand on y pense. C’est aussi l’un des rares logiciels de cette envergure qui est resté entièrement communautaire notamment dans son système de développement et de décision (un fait peu connu, je pense, et pourtant l’une des caractéristiques que j’adore chez GIMP et que j’espère qu’on pourra protéger aussi longtemps que possible).</p> <h3 id="toc-un-logiciel-qui-fait-avancer-tout-le-monde">Un logiciel qui fait avancer tout le monde</h3> <p>Ce que j’ai toujours adoré avec GIMP, c’est aussi à quel point ce logiciel a eu un impact positif sur le logiciel libre. Pendant ces 25 ans, que s’est-il donc passé autour de GIMP ?</p> <p>Le projet a créé la librairie graphique GTK (<em>GIMP Toolkit</em>), laquelle a donné naissance à plusieurs environnements de bureau (tels que GNOME, XFCE et d’autres) et des logiciels à ne plus pouvoir les compter. Cette bibliothèque est même possiblement la raison pour laquelle Qt est finalement devenu libre à son tour (on rappelle que Qt était propriétaire à ses débuts et c’est la raison pour laquelle des développeurs ont initialement extrait GTK du code de GIMP, le renommant au passage GTK+ avant de récemment revenir aux sources en l'<a href="https://lwn.net/Articles/779305/">appelant à nouveau GTK</a>), afin de ne pas perdre la clientèle de tous les développeurs de logiciels libres, bien que cette supposition restera probablement à jamais spéculation (les décisions <strong>réelles</strong> d’entreprises étant rarement publiques).</p> <p>Puis quelques développeurs du milieu de l’industrie du cinéma hollywoodien ont commencé à travailler sur un nouveau moteur graphique, <a href="https://gegl.org/">GEGL</a>. 20 ans plus tard, GIMP l’utilise pour ses traitements de pixel principaux et nous continuons à faire évoluer cette machinerie qui s’améliore au fil des jours. Divers autres logiciels utilisent désormais GEGL pour leurs propres traitements graphiques.</p> <p>GIMP est aussi tellement complet qu’on améliore constamment l’écosystème autour de nous. Par exemple si on regarde mes contributions hors GIMP, on constate ainsi des <a href="https://www.openhub.net/accounts/Jehan/">patchs dans des dizaines de <em>briques</em> importantes</a> du Logiciel Libre, et ce sans compter les centaines de rapports de bugs et aides au diagnostic de bug qui ont aussi abouti à des corrections ou améliorations. La même chose peut se vérifier d’autres développeurs de GIMP (comme notre mainteneur adoré, <a href="https://www.openhub.net/accounts/mitch">Mitch</a>).</p> <p>En outre GIMP est utilisé assez massivement dans les milieux universitaires, des équipes de recherche en traitement d’images notamment. Par exemple l’équipe CNRS du logiciel <a href="https://gmic.eu/">G'MIC</a>, avec laquelle j’ai travaillé en 2019, a initialement fait un plug-in pour GIMP, faisant de G'MIC une référence en collection de filtres. Je ne pense pas que David Tschumperlé qui lit aussi LinuxFr.org me contredira si je dis que GIMP a aidé à propulser G'MIC.<br> Nous avons régulièrement des retours d’autres universités qui ont utilisé GIMP dans des ateliers, des formations, parfois dans des projets de design logiciels, d’utilisabilité (plusieurs par le passé, notamment on se souvient de projet dans des universités belge et allemande au moins) ou de graphisme. Par exemple, ces dernières années, une université indienne (KBC North Maharashtra University) a travaillé sur la traduction complète de GIMP en <a href="https://fr.wikipedia.org/wiki/Marathi_(langue)">marathi</a> et a organisé des ateliers et une formation autour de GIMP (apparemment certains cours autour de l’usage de GIMP, et d’autres cours sur la localisation logicielle avec des linguistes marathi). Et pour quelques-uns de ces projets dont on a vent, combien d’autres projets dont on a jamais entendu parler ?!<br> On a même eu parfois des retours de gens de la NASA qui nous disent utiliser GIMP !<br> Notre logiciel est donc une aide pour tous ces organismes publics ! 🥴</p> <p>Dans les divers autres sujets trollifères autour de GIMP, notre mascotte de toujours, Wilber, fait aussi régulièrement parler d’elle. Nous rappelons alors aux gens que GIMP est communautaire, que nous aimons bien les personnages marrants et que cela n’est pas antithétique avec le travail de qualité, ni même professionnel. Non nous ne changerons pas pour une interface aseptisée pour faire bien dans les réunions entre <em>managers</em>! 🧑‍💼🤪</p> <p>On appréciera aussi que GIMP co-crée en 2006 le <a href="https://libregraphicsmeeting.org/">Libre Graphics Meeting</a> en extension de ses propres réunions de développeurs annuels pendant ces années-là. En effet les développeurs de l’époque se disent que le graphisme libre devrait rassembler les gens des divers projets et autour plutôt que créer des divisions. Depuis le projet GIMP a participé à chacune des réunions (Aryeom et moi-même n’en avons manqué personnellement aucune depuis 2013, lors de notre entrée dans l’équipe de GIMP), a même co-financé la réunion à de nombreuses reprises (notamment lors des périodes difficiles) et a aidé financièrement divers contributeurs d’autres projets à s’y rendre (notamment ces dernières années, de mémoire, des gens des équipes de MyPaint, darktable, Kdenlive, GTK…). Notre but est encore et toujours d’améliorer l’écosystème du libre dans sa globalité, notamment dans le graphisme et l’audiovisuel.</p> <p>Toutes ces choses sont des anecdotes que j’apprécie particulièrement dans l’histoire de GIMP (même si je n’ai participé moi-même qu’à une portion de ces faits). J’aime ce côté communautaire et altruiste de GIMP. C’est pour moi exactement l’aspect qui m’attire et pour lequel je m’accroche au logiciel libre (pas tous les projets sont ainsi, loin de là). Ce projet nous a vraiment permis de découvrir un monde particulier duquel nous sommes heureux de faire partie. 💌</p> <h3 id="toc-apports-de-zemarmot">Apports de ZeMarmot</h3> <p>Le projet <a href="https://film.zemarmot.net/">ZeMarmot</a>, que j’ai cofondé avec Aryeom, et qui fut rattaché à l’association <a href="https://libreart.info/">LILA</a>, eut bien sûr son impact puisque nous avons commencé à améliorer GIMP sur la base d’un usage réel au quotidien. Notamment, non seulement les fonctionnalités et une meilleure expérience de création nous motivait, mais aussi et toujours la stabilité du logiciel. Lorsque nous avons découvert GIMP en 2012 (on connaissait tous deux déjà de nom, mais pas “réellement”), je n’aurais pas pu conseiller à quelqu’un d’y passer professionnellement (je me rappelle encore de mes premières tentatives avec Aryeom, je pense qu’il nous a fallu 15 minutes pour faire marcher la tablette graphique et 5 minutes pour faire planter GIMP). De nos jours, après le travail accompli, on peut.</p> <p>D’ailleurs en parallèle, nous avons aussi participé à quelques projets professionnels tiers, uniquement associatifs et pour des causes que nous apprécions (nous ne voulons pas travailler pour des grosses entreprises dont nous n’aimons pas l’impact sur le monde). Par exemple, nous avons fait 2 projets internes pour l’association des <em>Petits Frères des Pauvres</em> (un petit film institutionnel et un jeu de société pour la formation des bénévoles), nous avons aussi entièrement produit la vidéo <a href="https://framatube.org/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d">"What is Peertube?"</a> pour Framasoft, vidéo toujours à ce jour la plus vue et “plussée” de l’instance <a href="https://joinpeertube.org/">Peertube</a> de Framasoft, ce qui est assez méta ! D’autres associations nous ont contacté, notamment une association écologique, bien que nous essayons de limiter les projets secondaires pour nous focaliser sur <em>ZeMarmot</em> (mais ce n’est pas toujours évident de refuser tant que <em>ZeMarmot</em> n’est pas viable). Quand je dis <em>nous</em> pour beaucoup de ces projets, j’entends bien sûr surtout Aryeom (elle est alors celle qui fait le gros du travail !). Moi je fais le soutien technique !</p> <p>En plus de cela, depuis maintenant 3 ans d’affilée, Aryeom donne des cours universitaires avec GIMP pour 2 classes de licences professionnelles (troisième année de licence), dans l’université de Cergy-Pontoise: une classe de retouche d’images pour la licence « Patrimoine et modélisation 3D » et une classe d’illustration numérique pour la licence “Infographie”. Le responsable de licence est très content, d’année en année, prouvant la place incontestable de GIMP dans le monde professionnel (sans compter que nous entendons régulièrement que d’autres universités, entreprises ou organismes publics dans le monde font un usage très courant de GIMP, comme je disais plus haut).</p> <p>Tous les contacts professionnels nous ont toujours rappelé et ont été contents des résultats. Il nous semble évident que le logiciel libre en général, et GIMP en particulier, est utilisable dans le milieu professionnel et nous le prouvons au quotidien.</p> <h2 id="toc-financer-le-développement-de-gimp">Financer le développement de GIMP</h2> <p>Pour conclure, nous vous rappelons que vous pouvez <a href="https://www.gimp.org/donating/">donner au projet et financer personnellement plusieurs développeurs GIMP</a> qui rendent tout cela possible. C’est aussi une façon de renvoyer l’ascenseur et accélérer le développement de GIMP si vous appréciez le projet. Cette page propose 3 manières de donner: le projet <em><a href="https://film.zemarmot.net/fr/donate">ZeMarmot</a></em> (dont je parle dans le prochain paragraphe en détail), le financement de <a href="https://www.patreon.com/pippin">Øyvind Kolås</a>, le mainteneur de GEGL (notre moteur graphique) et la donation au projet (qui ne peut servir que pour du financement communautaire, donc pour des financements de déplacements aux réunions ou pour du matériel de bénévole typiquement). Seuls les financements d’Øyvind et de <em>ZeMarmot</em> permettent de rémunérer du développement pour GIMP à ce jour.</p> <p>Pour parler en particulier du <a href="https://film.zemarmot.net/fr/donate">financement du projet <em>ZeMarmot</em></a> dont je fais partie (<a href="https://liberapay.com/ZeMarmot/">Liberapay</a>, <a href="https://www.patreon.com/zemarmot">Patreon</a>, <a href="https://en.tipeee.com/zemarmot">Tipeee</a> ou <a href="https://libreart.info/fr/donate">donations directes à l’association LILA</a>), nous sommes donc responsables d’une grande partie des évolutions de GIMP ces dernières années (je suis d’ailleurs le contributeur le plus actif sur les 2 dernières années, avec plus de 1000 <em>commits</em> rien qu’en 2019 et 2020, et rien qu’en comptant le dépôt principal de GIMP ; et ce sans compter non plus les très nombreux retours d’Aryeom qui font bouger les choses aussi d’une autre manière, moins visible et moins chiffrable). Or notre projet cherche encore et toujours une stabilité financière (surtout après cette année difficile et un licenciement pour raisons économiques de mon précédent emploi !). Cela nous oblige d’ailleurs régulièrement à accepter d’autres emplois (développement pour moi et/ou films ou projets graphiques tiers pour Aryeom, comme j’expliquais plus haut) qui repoussent le développement libre et le projet de film libre d’autant. Imaginez la vitesse à laquelle on pourrait faire avancer les choses, si on pouvait travailler sur GIMP et <em>ZeMarmot</em> à temps plein ?! 😻<br> C’est pourquoi <strong>nous appelons encore à la participation au financement de notre projet ZeMarmot</strong>. Mon petit pitch habituel est de considérer cela comme un investissement pour un meilleur monde logiciel (GIMP et logiciel libre !) et audiovisuel (des œuvres audiovisuelles libres !). Donc en espérant que ces raisons vous interpellent aussi… aiderez-vous <em>ZeMarmot</em> et GIMP en cette fin d’année 2020 ? 👍<br> <a href="https://film.zemarmot.net/fr/donate?referent=linuxfr"><img src="//img.linuxfr.org/img/68747470733a2f2f66696c6d2e7a656d61726d6f742e6e65742f696d616765732f5a654d61726d6f74343638783630706f75724c696e757866722e6a7067/ZeMarmot468x60pourLinuxfr.jpg" alt="Soutenez ZeMarmot et GIMP!" title="Source : https://film.zemarmot.net/images/ZeMarmot468x60pourLinuxfr.jpg"></a></p> <p>🥳 Sur cette conclusion, nous vous souhaitons un très bon noël, malgré la situation sanitaire particulière ainsi qu’une année 2021 meilleure que 2020 ! 🎉</p> </div><div><a href="https://linuxfr.org/news/25-ans-de-gimp-et-version-de-developpement-2-99-2-premiers-pas-vers-gimp-3.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122021/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/25-ans-de-gimp-et-version-de-developpement-2-99-2-premiers-pas-vers-gimp-3#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      Galène, un serveur de vidéoconférence libre

      Juliusz Chroboczek · pubsub.eckmul.net / linuxfr_news · Tuesday, 22 December, 2020 - 12:26 · 1 minute

    <div><p>Galène est un serveur de vidéoconférence conçu pour l'enseignement et les exposés scientifiques, développé à l'Université de Paris-Diderot par Juliusz Chroboczek. Galène 0.1 a été vient d'être publié sous la licence MIT.</p> <p>Le développement de Galène a commencé lors du premier confinement. Galène était alors envisagée comme une alternative à BigBlueButton, moins coûteuse en ressources et plus facile à administrer. Après deux semestres de cours et une session d'examens, Galène a acquis un certain nombre de fonctionnalités utiles à l'enseignant :</p> <ul> <li>possibilité de partager plusieurs documents simultanément (par exemple des transparents de cours, un éditeur de texte et un logiciel de dessin) ;</li> <li>création automatique de sous-groupes (par exemple pour distribuer les étudiants en petits groupes lors des traveaux pratiques) ;</li> <li>possibilité de jouer un fichier vidéo stocké sur disque.</li> </ul> <p>Si Galène a été principalement conçue pour l'enseignement, elle s'est aussi avérée populaire pour permettre des réunions : plusieurs des conseils du laboratoire d'informatique ont régulièrement lieu sur Galène.</p> </div><ul><li>lien nᵒ 1 : <a title="https://galene.org" hreflang="en" href="https://linuxfr.org/redirect/107556">Description de Galène</a></li><li>lien nᵒ 2 : <a title="https://galene.org:8443" hreflang="en" href="https://linuxfr.org/redirect/107557">Serveur de démonstration</a></li></ul><div></div><div><a href="https://linuxfr.org/news/galene-un-serveur-de-videoconference-libre.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122669/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/galene-un-serveur-de-videoconference-libre#comments">ouvrir dans le navigateur</a> </p>
    • Li chevron_right

      Quatre années de wallabag.it

      Nicolas Lœuillet · pubsub.eckmul.net / linuxfr_news · Monday, 21 December, 2020 - 16:52 · 7 minutes

    <div><p>Nous sommes en décembre, mois-anniversaire de wallabag.it et donc l’heure de faire un petit point sur mon projet. </p> <p><abbr title="Note des modérateurs">N. D. M. :</abbr> <em>wallabag est une application libre de lecture différée (écrite en PHP) et wallabag.it la version service en ligne</em>. Le <a href="https://github.com/wallabag/wallabag">code</a> est sous licence MIT, et la dernière version <a href="https://github.com/wallabag/wallabag/releases/tag/2.4.0">2.4.0</a> est parue le 10 décembre 2020.</p> <p>Pour rappel : </p> <ul> <li> <a href="https://nicolas.loeuillet.org/billets/service-wallabag-it">Comment je vais tenter de gagner un peu d’argent avec un projet opensource</a> (décembre 2016)</li> <li> <a href="https://nicolas.loeuillet.org/billets/retours-mise-ligne-wallabagit">Retours sur la mise en ligne de wallabag.it</a> (décembre 2016)</li> <li> <a href="https://nicolas.loeuillet.org/billets/comment-je-vais-tenter-de-gagner-ma-vie-avec-un-projet-opensource">Comment je vais tenter de gagner ma vie avec un projet opensource</a> (février 2017)</li> <li> <a href="https://nicolas.loeuillet.org/billets/un-an-apres-faisons-le-point-sur-wallabag-it">Un an après, faisons le point sur wallabag.it</a> (novembre 2017)</li> <li> <a href="https://nicolas.loeuillet.org/billets/situation-apres-trois-annees-dactivites-pour-wallabag-it">Situation après trois années d’activité pour wallabag.it</a> (janvier 2020)</li> </ul> <p>En parallèle de cette activité (en micro-entrepreneur), je suis salarié à 80 % en tant que développeur web. Donc wallabag.it n’est pas mon activité principale et je n’y consacre pas énormément de temps. Et je ne fais aucune publicité du service. </p> </div><ul><li>lien nᵒ 1 : <a title="https://linuxfr.org/tags/wallabag/public" hreflang="fr" href="https://linuxfr.org/redirect/107530">L’historique de wallabag sur LinuxFr.org</a></li><li>lien nᵒ 2 : <a title="https://linuxfr.org/news/situation-apres-trois-annees-d-activite-pour-wallabag-it" hreflang="fr" href="https://linuxfr.org/redirect/107531">Situation après trois années d’activité pour wallabag.it</a></li><li>lien nᵒ 3 : <a title="https://nicolas.loeuillet.org/" hreflang="fr" href="https://linuxfr.org/redirect/107532">Le blog de l&#39;auteur</a></li></ul><div><p>Pour info, j’ai démarré wallabag.it le 3 décembre 2016. </p> <p>Dans cette diffusion de données, je ne vais pas forcément chercher à comprendre / étudier telle ou telle donnée, ou alors réfléchir comment améliorer mon chiffre d’affaires. L’idée est d’être transparent avec mes clients et donner des idées à celles et ceux qui souhaiteraient se lancer (coucou <a href="https://www.flus.fr">Marien et Flus.fr</a>). </p> <h2 id="toc-les-offres-disponibles">Les offres disponibles</h2> <p>Je ne vais pas refaire l’historique du changement d’offres, ça se trouve dans les billets cités ci-dessus. </p> <p><strong>Par rapport à l’an dernier, j’ai changé ma manière de comptabiliser (oui je suis instable) : je fais ça du 1ᵉʳ janvier au 31 décembre</strong>. Il ne faut pas comparer au billet de l’an dernier qui n’est plus à jour. </p> <p>En l’état actuel des choses, aujourd’hui voici les offres disponibles : </p> <ul> <li>3 mois pour 3 €</li> <li>1 an pour 9 €</li> <li>1 an pour 25 € (abonnement de soutien) </li> </ul> <h2 id="toc-nombre-de-factures">Nombre de factures</h2> <p>Une facture est un abonnement, peu importe que ça soit pour 3 mois ou 1 an, et peu importe sa valeur. </p> <ul> <li>2016 : 89 (un seul mois d’activité)</li> <li>2017 : 662 factures </li> <li>2018 : 787 factures (+18,9%)</li> <li>2019 : 959 factures (+21,9%)</li> <li>2020 : 1194 (+24,5%) (approximatif car il reste quelques jours)</li> </ul> <p>Nombre moyen mensuel de factures : </p> <ul> <li>2016 : 89 (un seul mois d’activité)</li> <li>2017 : 55 factures / mois</li> <li>2018 : 65 factures / mois </li> <li>2019 : 79,9 factures / mois </li> <li>2020 : 99,5 factures / mois (approximatif car il reste quelques jours)</li> </ul> <h2 id="toc-chiffre-daffaires-ca">Chiffre d’affaires (CA)</h2> <ul> <li>2016 : 783 € (un seul mois d’activité)</li> <li>2017 : 6093 €</li> <li>2018 : 7593 € (+24,6%)</li> <li>2019 : 9481 € (+24,9%)</li> <li>2020 : 12112 € (+27,8%) (approximatif car il reste quelques jours)</li> </ul> <p>CA mensuel moyen :</p> <ul> <li>2016 : 783 € (un seul mois d’activité)</li> <li>2017 : 507 €</li> <li>2018 : 632 €</li> <li>2019 : 790 € </li> <li>2020 : 1009 € (approximatif car il reste quelques jours)</li> </ul> <p>Abonnement moyen (en moyenne, combien un client paie pour s’abonner) : </p> <ul> <li>2016 : 8,80 €</li> <li>2017 : 9,19 €</li> <li>2018 : 9,54 €</li> <li>2019 : 9,83 €</li> <li>2020 : 10,22 € (approximatif car il reste quelques jours)</li> </ul> <h2 id="toc-type-dabonnements">Type d’abonnements</h2> <ul> <li>2017 : 342 abonnements à 9 € (+145 à 12 €, prix au départ de l’abonnement), 32 abonnements à 25 € et 80 abonnements à 3 €</li> <li>2018 : 532 abonnements à 9 €, 93 abonnements à 25 € et 161 abonnements à 3 €</li> <li>2019 : 668 abonnements à 9 €, 118 abonnements à 25 € et 173 abonnements à 3 €</li> <li>2020 : 809 abonnements à 9 €, 158 abonnements à 25 € et 227 abonnements à 3 € (approximatif car il reste quelques jours)</li> </ul> <p>Sur cette partie, c’est compliqué d’avoir des choses très détaillées surtout pour 2017, car j’ai tenté plusieurs choses (changement d’abonnements), il y a aussi eu une offre « Anniversaire » etc. </p> <h2 id="toc-bilan">Bilan</h2> <h3 id="toc-dépenses">Dépenses</h3> <p>En 2020, j’ai dépensé pour 2 385 € de frais (hébergement, nom de domaine, prestation admin sys, etc.), soit 198€ en moyenne par mois. J’ai payé 837 € de commissions pour PayPal et PayPlug, mes prestataires de paiement en ligne. J’ai également payé environ 3 000 € de charges. </p> <h3 id="toc-résultat-net">Résultat net</h3> <ul> <li>2017 : 3 130 €</li> <li>2018 : 3 454 €</li> <li>2019 : 4 823 €</li> <li>2020 : 6 074 € (approximatif car il reste quelques jours)</li> </ul> <h2 id="toc-conclusion">Conclusion</h2> <p>Il y a surement plein de choses à faire pour étudier encore mieux ces chiffres, pour les améliorer, etc. Mais pas le temps. </p> <p>L’objectif que je m’étais fixé l’an dernier (1 000 factures et 10 000 € de CA) est rempli. </p> <p><strong>Objectif pour 2021</strong> : 15 000 € de CA et 1 500 factures ? Et ne pas trop augmenter mes frais mensuels. Ça s’annonce compliqué !</p> </div><div><a href="https://linuxfr.org/news/quatre-annees-de-wallabag-it.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/122585/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/quatre-annees-de-wallabag-it#comments">ouvrir dans le navigateur</a> </p>