Vue normale

À partir d’avant-hierFlux principal

Tuxemon Tower 0 : sortie de la première version !

Tuxemon Tower 0 est un petit jeu vidéo très sobre. Il est inspiré des jeux Pokémon classiques et consorts, mais il est 100% libre et ne cherche aucunement à être un clone.

Sommaire

En bref

Qu'est-ce que Tuxemon Tower 0 ?

Tuxemon Tower 0 est un jeu vidéo de combats en tour par tour. Les combattants peuvent avoir un ou des types, ont des statistiques, et une ou plusieurs capacités. En gagnant assez d'expérience, ils montent de niveau et ainsi deviennent plus forts. Un genre simple et classique, mais efficace.

Et dans le cas de Tuxemon Tower 0, la réalisation est très basique. Cela est vrai autant du point de vue graphique que de celui du moteur. De plus, on accorde qu'on peut parfois juger que l'expérience des joueurs est médiocre (notamment car, hormis être meilleur que nous, vous allez devoir vous fader des combats juste pour avoir un niveau suffisant et on reconnaît qu'il n'y a pas trop d'intérêt ludique à regagner le même combat contre une dresseuse ou commettre un crime contre la biodiversité en enchaînant à gogo les créatures sauvages de la même zone, mais augmenter la vitesse de défilement du texte et garder enfoncé sur le bouton A permet d'écourter le temps de mise à niveau). Mais le jeu est court, donc il est escompté que la découverte et la curiosité qui l'accompagne permettent d'avoir une expérience agréable de ce mini-jeu.

Télécharger Tuxemon Tower 0

Le téléchargement des sources (code, images, etc.), de la documentation générée et des constructions pour certaines plateformes (distributions GNU/Linux et Windows) se fait via BitTorrent à travers un lien magnet. On promeut en effet la décentralisation et le fédéralisme, mais aussi la non-disponibilité permanente. De plus, ça oblige tout le monde à partager le coût (hormis les trackers, certes) et à avoir une copie des sources, tout en étant résilient.

Ce serait sympa de partager pendant l'obtention et aussi après que ce soit fait. Et on prévient : on n'est que rarement à la fois connecté à Internet (on n'a volontairement pas d'accès chez nous) et en mesure de partager via BitTorrent (on ne veut pas faire ça au boulot et il faut que ce soit permis par le réseau), donc ayez de la patience (ou ne vous plaignez pas inutilement). C'est également pour ça qu'on encourage fortement que vous continuez de partager le torrent après l'avoir entièrement obtenu et de préférence sans ratio (puisqu'il n'est pas bien lourd à la vue de la normalité actuelle, et est tout à fait légal, ça ne devrait pas vous être bien problématique).

Quelques clients BitTorrent libres

Au cas où vous n'auriez pas de client BitTorrent (ou un qui soit propriétaire), en voici quelques-uns qui sont libres :

Images du jeu

Images de cartes

Images de cartes

Images de combats

Images de combats

Images de menus

Images de menus

Comment contribuer ?

Avant d'éventuellement contribuer, n'oubliez pas plutôt en priorité de faire des choses plus importantes. En effet selon nous, mieux vaut s'activer pour l'émancipation sociale universelle et tendre vers une société écologique que de contribuer à un jeu.

  1. Pour nous, la meilleure manière de contribuer est de mettre à disposition des sprites pour des créatures et des dresseurs. En effet, nous sommes très mauvais pour produire ça et cela ajouterait de la diversité bienvenue (pendant que celle sur Terre s'effondre…). Si ça vous branche, faites-le en respectant le style des actuels, avec une taille adéquate (64×64 et/ou 56×56 et/ou 48×48), et de préférence en faisant l'avant et l'arrière (car avec juste l'avant on ne peut pas jouer la créature ou la personne dresseuse mais juste l'affronter), voire en vous restreignant à 4 couleurs (c'est là la contrainte ultime, mais qui serait utile pour économiser de l'espace et deviendra nécessaire si un jour un port sur GameBoy Color est fait) et alternativement c'est déjà ça si ça ne dépasse pas la barre des 8 (qui va nous servir de transition entre 16 et 4, tout en permettant de réduire l'usage mémoire avec une petite astuce ou de la compression plus poussée que nous ne ferons probablement pas).
  2. Nous n'avons pas l'intention de gérer une communauté autour de ce jeu. C'est pourquoi nous n'avons pas mis le code source sur une forge et nous ne comptons pas le faire. Rien ne vous empêche toutefois de faire une version dérivée et de la publier, peut-être que nous irons y piocher des trucs en vous créditant si nous en avons connaissance.
  3. Bien sûr, si vous voulez que nous intégrions peut-être un jour une contribution, veillez à la mettre sous une licence compatible quand vous n'y êtes pas de toute façon obligé par le gauche d'auteur. Utilisez donc une licence libre, avec de préférence la GNU AGPLv3+ pour le code source et la Creative Commmons BY-SA v4.0 pour le reste.
  4. Mais où mettre ce que vous produisez ? Ça vous regarde. Mais, pour que ce soit visible, le wiki du projet Tuxemon est un bon endroit ou vous pouvez faire un commentaire ci-dessous (pointant par exemple vers votre dépôt sur OpenGameArt).
  5. Si vous vous y connaissez en portage ou en packaging pour votre système favori, n'hésitez pas à faire un joli paquet pour le jeu et à tenter honnêtement de le faire officiellement intégrer. Toutefois, cela ne vaut pas pour Apple iOS, Google Play, Microsoft Store, Steam de Valve, Origin d'Electronic Arts, et consorts.
  6. Évidemment une autre forme de contribution est tout simplement de faire la promotion du jeu. Parlez-en !
  7. Enfin, il existe un moyen rudimentaire : partager le contenu du torrent, pour qu'il soit disponible le plus de temps possible. En effet, nous sommes très loin d'être en permanence avec un accès à Internet et nous n'ouvrons pas systématiquement notre client BitTorrent favori quand nous le sommes.

Le droit d'auteur

Les licences utilisées

Les conséquences

Remerciements

En plus long ?

Le comité éditorial de LinuxFr.org a jugé inappropriée la version longue qui était prévue et qui lui a été soumise. De plus, il a suggéré de feuilletonner l'annonce d'origine. Mais cela ne correspond pas à notre vision éditoriale et plus généralement notre vision anthropologique (le brouhaha communicationnel nous apparaît comme néfaste et donc à ne surtout pas alimenter), et nous n'avons de toute façon pas envie d'y passer du temps (il y a pour nous bien plus important que ce petit jeu vidéo, dont la réalisation est plus pour nous un plaisir coupable qu'autre chose, à fortiori dans une phase très nette de fascisation et d'écocide).

Néanmoins l'annonce d'origine, qui contient bien plus d'explications, reste disponible. Dans le torrent, il y a les sources (sources.tar.xz) et dans celle-ci il y a l'annonce prévue à la base (news/fr/version-1-0-0_annonce.md). Et si vous voulez la publier ailleurs (en mentionnant que nous en sommes à l'origine et en différenciant bien toute modification), en entier ou sous forme partielle, elle est sous licences libres (vous pouvez choisir celle qui vous convient le mieux) avec gauche d'auteur : Creative Commons BY-SA 3.0, Creative Commons BY-SA 4.0 et GNU GPL 3.0.

Données du jeu

Consultation en jeu

Dans le menu de lancement, proposant de démarrer une nouvelle partie ou d'en charger une existante, appuyez sur Start (ou plutôt l'un des boutons qui y correspond si vous n'utilisez pas une manette ou qu'elle n'est pas reconnue ou pas bien). Cela vous fera changer de menu. Vous aurez alors une entrée « Explorer les données ». Ce n'est pas parce que ça existe que c'est exhaustif.

Documentation HTML

Dans le torrent, avec les sources et les constructions, il y a de la documentation sous forme de fichiers HTML, que vous pouvez consulter avec un navigateur web. Vous pouvez aussi la regénérer depuis les sources. Comme pour la consultation en jeu, ce n'est pas nécessairement exhaustif, mais c'est déjà ça.

Images

Liste des créatures

Liste des créatures

Liste des dresseurs et dresseuses

Liste des dresseurs et dresseuses

Annexe : temps et motivation

Au début d'un projet personnel, la motivation est souvent grande. Mais tant qu'il n'y a pas quelque chose de finalisée, il est à priori courant que la motivation tende à décroitre. En tout cas, c'est notre cas.

C'est en partie pour cela que le jeu est très simple (système ultra-basique pour les cartes, pas de possibilité d'esclavagir, pas de statut, pas de possibilité de manipulation par le joueur/joueuse d'objets non-visuels, pseudo-aléatoire en guise de non-intelligence artificielle, etc.). L'autre grosse partie de l'explication est la volonté de faire de la basse technologie (d'où entre autres que ce soit graphiquement en niveaux de gris, malgré des sprites avec des couleurs au-delà de ce spectre) et la restante est l'ajout de complexité qui nuise à l'expérience de la mécanique du jeu en ajoutant du « bruit », mais ce n'est là pas le sujet.

Venir reprocher ou se plaindre de la trop grande simplicité du jeu (qu'il aurait fallu qu'il y ait ceci et cela, etc.) peut être en soi une critique pertinente. Néanmoins, ça ferait totalement fi de l'aspect humain en ce qui concerne la production. En effet, si le jeu n'était pas aussi basique, il ne serait probablement jamais sorti de par la baisse de motivation.

C'est pourquoi le jeu est volontairement très simple. Mais c'est une fin en soi et une base. Tout ce qui a été fait pour la version 1.0.0 de ce jeu ne sera plus à faire pour une ou des éventuelles versions améliorées et un ou des éventuels autres jeux exploitant tout ou partie de ce qui a été réalisé pour celui-là.

Approximation de l'évolution de la motivation

Dans le cadre du développement de ce jeu, on utilise git, un logiciel de gestion de version. Tous les changements y sont consignés et datés. À partir des informations qu'il a enregistrées, il est donc possible d'avoir une idée de l'évolution de la motivation.

Toutefois, on ne va pas vous livrer le dépôt git (et on a expliqué pourquoi). Vous n'en aurez donc ci-après qu'une vue fort approximative, dont la génération a été faite par git-bars.

Il fournit une vue par mois du nombre de commits. C'est donc très approximatif. En effet, un commit peut avoir une taille très variable et être pour des changements importants ou mineurs. Néanmoins, ça donne tout de même une image plutôt réaliste de l'évolution de notre motivation.

On peut notamment bien voir que les débuts sont des périodes fastes. Pour début 2023, on peut constater que c'est assez peu garni, ce qui s'explique par la contre-réforme des retraites. Mais ça montre aussi un biais : en mars et en avril 2023, on n'a fait que des petits trucs pas bien importants, mais ça a engendré pas mal de commits.

Statistiques de commits par nous pour ce nouveau jeu

2024-11  61   ▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-10  52   ▀▀▀▀▀▀▀▀▀▀▀
2024-09  45   ▀▀▀▀▀▀▀▀▀▀
2024-08  77   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-07  19   ▀▀▀▀
2024-06  34   ▀▀▀▀▀▀▀
2024-05  62   ▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-04  126  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-03  59   ▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-02  96   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-01  89   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-12  52   ▀▀▀▀▀▀▀▀▀▀▀
2023-11  78   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-10  117  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-09  224  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-08  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-07  87   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-06  56   ▀▀▀▀▀▀▀▀▀▀▀▀
2023-05  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-04  92   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-03  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-02  10   ▀▀
2023-01  19   ▀▀▀▀
2022-12  34   ▀▀▀▀▀▀▀
2022-11  80   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-10  87   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-09  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-08  88   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-07  138  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-06  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-05  50   ▀▀▀▀▀▀▀▀▀▀▀
2022-04  28   ▀▀▀▀▀▀
2022-03  121  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-02  131  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-01  144  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-12  133  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-11  81   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-10  26   ▀▀▀▀▀
2021-09  35   ▀▀▀▀▀▀▀
2021-08  45   ▀▀▀▀▀▀▀▀▀▀
2021-07  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-06  5    ▀
2021-05  18   ▀▀▀▀
2021-04  55   ▀▀▀▀▀▀▀▀▀▀▀▀
2021-03  79   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-02  112  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-01  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀

Statistiques de commits par nous pour Greycess Knight RPG

Greycess Knight RPG est la base de ce nouveau jeu. Il part donc du même dépôt git. Puisque des changements sont valables pour les 2 jeux, on les fait dans Greycess Knight RPG, ce qui occasionne des commits de fusion dans le nouveau jeu. De plus, en soustrayant les nombres de commits par mois de Greycess Knight RPG à ceux du nouveau jeu, on peut avoir le nombre de commits qui touchent aux changements nécessaires au nouveau, ou du moins en partie puisqu'on fait parfois le changement dans le nouveau jeu avant de le mettre aussi dans l'ancien ou le (quasi-)même changement dans les 2 pour faciliter la fusion. C'est pour ça qu'on met ci-après les statistiques pour Greycess Knight RPG.

2024-11  17   ▀▀▀▀▀▀▀
2024-10  9    ▀▀▀▀
2024-09  4    ▀
2024-08  20   ▀▀▀▀▀▀▀▀
2024-07  1    
2024-06  8    ▀▀▀
2024-05  15   ▀▀▀▀▀▀
2024-04  34   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-03  3    ▀
2024-02  10   ▀▀▀▀
2024-01  12   ▀▀▀▀▀
2023-12  16   ▀▀▀▀▀▀▀
2023-11  15   ▀▀▀▀▀▀
2023-10  13   ▀▀▀▀▀
2023-09  29   ▀▀▀▀▀▀▀▀▀▀▀▀
2023-08  26   ▀▀▀▀▀▀▀▀▀▀▀
2023-07  25   ▀▀▀▀▀▀▀▀▀▀▀
2023-06  26   ▀▀▀▀▀▀▀▀▀▀▀
2023-05  25   ▀▀▀▀▀▀▀▀▀▀▀
2023-04  35   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2023-03  27   ▀▀▀▀▀▀▀▀▀▀▀▀
2023-02  4    ▀
2023-01  3    ▀
2022-12  9    ▀▀▀▀
2022-11  22   ▀▀▀▀▀▀▀▀▀
2022-10  15   ▀▀▀▀▀▀
2022-09  14   ▀▀▀▀▀▀
2022-08  27   ▀▀▀▀▀▀▀▀▀▀▀▀
2022-07  44   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-06  14   ▀▀▀▀▀▀
2022-05  16   ▀▀▀▀▀▀▀
2022-04  6    ▀▀
2022-03  22   ▀▀▀▀▀▀▀▀▀
2022-02  33   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2022-01  54   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-12  92   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-11  81   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-10  26   ▀▀▀▀▀▀▀▀▀▀▀
2021-09  35   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-08  45   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-07  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-06  5    ▀▀
2021-05  18   ▀▀▀▀▀▀▀▀
2021-04  55   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-03  79   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-02  112  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2021-01  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Par ailleurs, comme vous pouvez le voir, ça a bougé du côté de Greycess Knight RPG. Une version 1.0.2 est en cours. Mais du point de vue de l'expérience de jeu, elle n'apporte rien ou presque. Ce sera une mise à jour technique : elle consistera essentiellement en une amélioration du code source (de diverses manières et à divers endroits) et en une réduction par 3 de la taille du binaire sans la bibliothèque SDL2 statiquement liée (ce qui l'amènera à environ 250 ko grâce à la correction d'une erreur stupide).

Commentaires : voir le flux Atom ouvrir dans le navigateur

Publication du numéro bonus du Lama Déchaîné

Cette semaine se termine les publications du Lama Déchaîné, cette gazette qui voulait présenter les actions de l'April depuis 28 ans et qui, nous l'espérions, allait motiver une partie du lectorat de Linux-Fr à adhérer ou soutenir l'association.
Progression de la campagne
Ce numéro n'était pas prévu, mais on nous a gentiment fait remarquer que le 18 décembre était encore en automne et que ce n'était pas logique que rien ne soit produit ce jour-là… Et puis, l'équipe rédactionnelle avait encore des choses à partager.

En vrac, il est question de logiciels libres de caisse, de Ploum, de Tux et de GNU, de 2CV, de premier ministre et de Jurançon, de lama-zon et même d'autres choses, mais ce sera dans la seconde partie de la dépêche.

Déjà le sujet des logiciels libres de caisse… Sujet d'actualité qui nous est tombé dessus en plein milieu de notre campagne et qui a détourné certains d'entre nous de nos rôles de journalistes pour refaire du plaidoyer politique ! Vu le résultat final, le projet de loi Finances 2025 aurait mieux fait de partir en vacances !

Ploum, le fabuleux auteur de Bikepunk (2024), Printeurs (2020) et Stagiaire au spatioport Omega 3000 (2022), a accepté d'être la dernière plume publiée (il nous a donné son texte en temps record - love sur lui).

Ensuite, nos journalistes ont découvert pourquoi Tux avait plus de succès que GNU.

Puis le vice-président de l'April a voulu partager la parabole libriste de la 2CV. Malheureusement trop longue pour figurer en entier, vous devrez cliquer sur le bon lien pour avoir la fin.

Nous avons eu les confidences d'un membre de l'April, qui, grâce à ses accointances avec un certain Premier ministre, sera bientôt le futur ministre du logiciel libre et du Jurançon.

Puis il fallait bien un dessin pour rire de l'avancement de la campagne. Merci Gee, notre fidèle satyre satiriste ! (non mais quel talent !!)
Menace de la tonte du Lama

Un petit rappel sur les licences et un nombre à 4 chiffres, pour montrer qu'une campagne comme celle du Lama Déchainé, c'est avant tout beaucoup, beaucoup, beaucoup d'échanges.

Merci à toutes les personnes qui ont contribué à cette gazette, qui ont fait un don et/ou qui ont adhéré à l'April. Merci aux personnes déjà adhérentes (qu'elles aient augmenté le montant de leur cotisation ou pas). Merci à toutes les personnes qui ont lu la gazette (ou les publications sur LinuxFr.org et les réseaux sociaux). Merci à toutes celles qui ont fait les mots croisés. Et merci à toutes les autres (comme cela, il n'y aura pas de jalousie et personne ne sera oublié - après tout, vous êtes toutes les bonnes personnes !)

Commentaires : voir le flux Atom ouvrir dans le navigateur

Course de robot DIY - Saint-Brock Robot Race

Le 29 mars 2025 à Saint-Brieuc, pour la deuxième année, une course de robot mobile autonome sera organisée par Mace Robotics & Saint-Brieuc Factory. Pour cette deuxième édition, venez avec votre robot DIY et participez à cette course de vitesse.

Des robots pourront aussi être prêtés si nécessaire pour l’événement (utilisation de robot MR-Pico basé sur une carte Raspberry Pi Pico, avec logiciel sous licence MIT et matériel sous CC-BY-SA, sources).

    Cette course est ouverte aux particuliers, associations, étudiants, geeks, entreprises, …

    Règlement :

    • Robot 100 % autonome et se déplacer avec des roues, pattes ou chenilles.
    • Poids total du robot : 500 g maximum avec la batterie incluse
    • Dimensions max du robot (100x100x100 mm)

    Affiche

    La participation à cette course est gratuite.

    Photo de l'édition 2023 :

    Photo de l'édition 2023

    Informations & inscriptions

    Lieu : 22000 Saint-Brieuc (Saint-brieuc-factory – Quai Armez)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Dons aux associations, épisode 13

    Cette dépêche est la treizième de sa série, après celles de 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 et 2023. Elle tient compte des suggestions des années passées.

    Montre ton amour au Libre

    Bissextile ou pas, cette année encore, je m’adresse à toi libriste, qui procrastine en se disant qu’il reste quasi tout décembre pour faire des dons en 2024, déductibles des impôts ou non. Toute l’année on escompte soutenir telle ou telle action sur tel ou tel sujet qui nous méritait vraiment, car c’est important. Donnons quelques exemples d’associations de promotion et défense du Libre, des droits dans l’espace numérique ou de la liberté d’expression, dont les dons sont déductibles en France : Acrimed, Amnesty France, Basta!, Debian France, Disclose, Framasoft (20 ans <3), Fédération internationale pour les droits humains (FIDH), Fonds pour une Presse Libre, Libre à Toi / Radio Cause Commune, Ligue des Droits de l’Homme (LDH), Open Food Facts, OpenStreetMap France, Politis, Reporterre, Reporters Sans Frontières (RSF), Wikimédia France, (qui n’est pas la Wikimedia Foundation états-unienne qui collecte aussi des dons), etc. Ce premier mardi de décembre (jour de rédaction de cette dépêche) est aussi le Giving Tuesday (aussi appelée journée mondiale de la générosité et de la solidarité).

      Sommaire

      Et comme tu fais vivre les principes du Libre, que tu contribues à des projets libres et défends des idées, tu soutiens aussi des associations ne bénéficiant pas de la déductibilité des dons en France (par exemple, des associations jugées trop dérangeantes ou trop critiques par le gouvernement… ou des associations européennes ou non, voire des associations n’ayant jamais fait la démarche, comme LinuxFr). Citons par exemple AFUL, April, Debian CH (déductible en Suisse), European Digital Rights (EDRi), En Vente Libre, Exodus Privacy, FACIL, FFII, FreeBSD Foundation, FSF (avec une longue liste de méthodes pour donner), FSFE (déductibilité dans plusieurs pays), Paheko, GNOME et GIMP, Haiku (déductible aux États‐Unis), IHateMoney, Internet Archive (déductible aux États‐Unis), KDE e.V (déductible en Allemagne), Léa-Linux, LILA, LQDN, Mageia, Nos Oignons, noyb, OKFN, PHP Foundation, SlackBuild.org, Tails (déductible en Allemagne), TechInquiry (déductible aux États-Unis), Toile Libre, Tor (déductible aux États-Unis et en Europe], Ubuntu-Fr, XSF, etc. (notez qu’elles peuvent parfois avoir la déductibilité des dons dans d’autres pays, voir la décision C-318/07 mentionnée plus bas).

      Cette dépêche récurrente vit aussi grâce à vos remarques, propositions d’ajouts, de compléments et vos retours sur les systèmes fiscaux et les dons dans vos pays respectifs. N’hésitez pas à la commenter pour l’enrichir. Bien que récurrente, cette dépêche est mise à jour et enrichie chaque année.

      Précision : la dépêche parle bien de « don » (je soutiens sans rien obtenir à titre personnel), pas de « financement participatif avec contrepartie » (je cofinance en échange de goodies ou avantages), les deux étant destinés à des choses différentes. Si vous avez lu jusqu’ici, un dessin xkcd sur le sujet en récompense (et d’autres images plus loin pour récompenser les libristes patients qui liront jusqu’au bout).

      Pourquoi les associations ayant des permanents ont des besoins récurrents d’argent ? (tiré de l’épisode 12 mais mis à jour)

      Quand une association veut passer de zéro à un permanent ou à un permanent de plus, elle n’a généralement pas en réserve de quoi le payer sur une année complète. Elle prend donc un risque avec une visibilité sur x mois (comme n’importe quel chef d’entreprise), en faisant de son mieux pour que l’argent rentre (le nouveau permanent va « produire », une campagne de communication ou d’appel à don ou autres sera lancée, une subvention sera recherchée, une convention sera signée avec tel ou tel, des goodies seront vendus, etc.).

      Soutenez Framasoft, parce que le Libre n’est pas qu’une question de logiciel

      Une association qui ne veut pas s’embêter à rechercher des fonds ou qui ne vise pas à passer le cap du premier permanent n’a pas du tout ce souci et peut être très indolente si elle veut.

      Dès qu’il y a un besoin récurrent de payer des salariés, de payer à date les charges de l’employeur — qu’il faut prévoir à trois mois s’il faut gérer un préavis de licenciement économique ou pas, etc. —, cela devient plus compliqué (comme pour n’importe quel chef d’entreprise). Une association militante qui ne prendrait pas de risque financier du tout, ce n’est pas envisageable à mon avis. Toute la question étant de savoir combien elle réussit à faire rentrer d’argent au moment où c’est nécessaire, si elle peut continuer à embaucher pour grossir, faire plus d’actions ou faire mieux, si elle doit licencier, ou bien si elle doit stagner ou continuer ainsi dans l’immédiat.

      Donc, oui, on a toujours l’impression que les associations ayant des permanents recherchent de l’argent (et décembre est particulier, car c’est la fin de l’exercice fiscal et traditionnellement la période des dons défiscalisés, notamment côté humanitaire associé aux bons sentiments des fêtes de fin d’année). Et oui, en décembre, la Croix Rouge ou le Secours Populaire, April, RSF, LQDN, la FSF, Amnesty, Framasoft et bien d’autres font des appels à don.

      Soutenons La Quadrature du Net !

      En dehors de la simple mais cruciale question de la trésorerie (pérennité / continuité), il y a bien évidemment aussi les projets et actions futures à financer. Citons par exemple la justification de Framasoft (une dizaine de permanents) en six points :

      1. parce que l’enfermement, c’est maintenant ;
      2. pour plus d’alternatives libres ;
      3. parce que les gentils, c’est nous !
      4. pour décider où vont vos impôts (avec défiscalisation) ;
      5. parce que l’économie du don rend indépendant ;
      6. pour changer le monde ensemble.

      Quelques chiffres : « Chacun s’accorde pour estimer que près de 90% des associations fonctionnent exclusivement grâce à leurs bénévoles. Vitale dans ces associations, cette ressource humaine reste essentielle dans les 10 à 12% d’associations employant des salariés »
      « en 2022, l’emploi privé non lucratif au sein des associations et des fondations représente plus de 155 000 employeurs, plus de 2 millions de salariés, soit 9,5% du total des salariés du secteur privé, et une masse salariale de plus de 54,4 milliards d’euros (près de 7% de la masse salariale du secteur privé) » (Recherche et Solidarités)

      Et sur l’évolution des bénévoles et du mécénat de compétences :

      « Les 25-34 ans sont de plus en plus nombreux à s’engager (30% en 2024 pour 22% en 2019), quand les 70 ans et plus perdent 10 points pour n’être que 24% aujourd’hui. »
      « En 2024, 9% des Français sont présents chaque semaine dans leurs associations, ils étaient 10% en 2019 et 12,5% en 2010. »
      « Ces tendances fragilisent la colonne vertébrale des associations, à savoir celles et ceux qui les font vivre au quotidien qui se trouvent privées de l’expérience et de la disponibilité des seniors »
      « Parmi les perspectives positives, le mécénat de compétences poursuit sa percée avec 27% de bénévoles tentés par l’expérience en 2024 ; ils étaient 23% en 2022 et 20% en 2019. » (Recherche et Solidarités et France Générosités)

      Petit rappel sur les impôts en France (tiré de l’épisode 10 mais mis à jour)

      • l’article 200 du Code général des impôts prévoit pour un particulier une déduction fiscale de 66 % (réduction d’impôt sur le revenu dans la limite de 20 % du revenu imposable, reportable sur cinq ans en cas de dépassement de ce plafond) des dons vers les associations d’intérêt général ou reconnues d’utilité publique ; ce pourcentage monte même à 75 % pour les organismes d’aide aux personnes en difficulté (dans la limite de 521 €, au‐delà, on retombe sur les 66 %) ;
      • l’article 238 bis du CGI prévoit une déduction fiscale de 60 % des dons pour une entreprise (réduction d’impôt sur le revenu ou d’impôt sur les sociétés dans la limite de 5 ‰ du chiffre d’affaires hors taxes, reportable sur cinq ans en cas de dépassement de ce plafond) vers les associations d’intérêt général ou reconnues d’utilité publique ;
      • fiche pratique ServicePublic.fr : « À noter : l’organisme peut être en France ou dans un État membre de l’Union européenne : Allemagne, Autriche, Belgique, Bulgarie, Chypre, Croatie, Danemark, Espagne, Estonie, Finlande, France, Grèce, Hongrie, Irlande, Italie, Lituanie, Lettonie, Luxembourg, Malte, Pays-Bas, Pologne, Portugal, République tchèque, Roumanie, Slovaquie, Slovénie, Suède, en Islande, en Norvège ou au Liechtenstein. S’il n’est pas agréé, vous devez justifier qu’il a un objectif et des caractéristiques similaires aux organismes situés en France et pouvant bénéficier du dispositif. »
      • loi n° 2021-1109 du 24 août 2021 : « Art. 222 bis.-A l’exception de ceux mentionnés au 3 de l’article 200, les organismes qui délivrent des reçus, des attestations ou tous autres documents par lesquels ils indiquent à un contribuable qu’il est en droit de bénéficier des réductions d’impôt prévues aux articles 200,238 bis et 978 sont tenus de déclarer chaque année à l’administration fiscale, dans les délais prévus à l’article 223, le montant global des dons et versements mentionnés sur ces documents et perçus au cours de l’année civile précédente ou au cours du dernier exercice clos s’il ne coïncide pas avec l’année civile ainsi que le nombre de documents délivrés au cours de cette période ou de cet exercice. »

      France générosités mentionne des évolutions récentes (juillet 2024), notamment le fait que les dons des particuliers aux organismes d’intérêt général qui concourent à l’égalité entre les femmes et les hommes ouvrent droit à réduction d’impôt et la prorogation jusqu’au 31 décembre 2026 du plafond dérogatoire de 1 000 € applicable aux dons retenus pour la réduction d’impôt de 75 % accordée au titre des dons versés aux organismes qui apportent une aide gratuite aux personnes en difficulté.

      Exemple pour un particulier : je suis imposable et donne 99 € à l’association XYZ bénéficiant de la déductibilité des dons à hauteur de 66 %. Mon don me coûte en fait (au final) 33 €, j’ai temporairement avancé 66 € qui seront ensuite déduits de mon imposition fiscale (dit autrement, j’ai choisi l’attribution de 66 € du budget de l’État).

      Soutenir Framasoft

      Autres infos :

      Les dons en France (tiré de l’épisode 11 mais mis à jour)

      « 51 % des Français déclarent avoir donné au moins une fois en 2023 à une fondation ou à un organisme caritatif (+1 point par rapport à 2022). »

      (Baromètre de la solidarité 2024)

      « En 2023, la générosité des Français tient bon dans un contexte encore difficile, avec une progression de 2,1% des dons par rapport à 2022 en euros courants. » (ainsi que la « poursuite de la baisse des petits dons » et un « focus sur les urgences médiatisées »)

      (Baromètre de la générosité 2023)

      « l’augmentation des investissements est aussi due à des coûts d’acquisition en hausse (+ 28%) en raison d’une concurrence accrue pour atteindre 33 € de coût d’acquisition moyen par donateur sur les campagnes de fin d’année (CFA) 2022 du panel de l’étude mais pour un don moyen de 172 € (+ 10%). »
      (Baromètre Orixa Fundraising 2023)

      « L’étude de Recherches & Solidarités montre une progression de 6,3% du montant total des dons déclarés au titre de l’IR en 2022 par rapport à 2021.
      L’étude de Recherches & Solidarités montre une progression de 3,9% du nombre de foyers fiscaux donateurs en 2022 par rapport à 2021. »
      (Étude 2023 sur les dons déclarés 2022 – Recherches & Solidarités)

      « en 2022 : en moyenne, les donateurs de 35-54 ans correspondent à une pénétration de 5,5% des Français de cette tranche d’âge. Soit le plus faible taux comparé aux autres tranches d’âge. » (Étude sur le don des 35-54 ans – France)

      Admincal indique que « seulement 4,61 % des entreprises assujettis à l’Impôt sur les Sociétés (IS) déduisent des dons du mécénat ».

      Selon Infodon.fr (via une enquête Ifop pour France générosités, réalisée sur un échantillon représentatif de la population française (4031 personnes) – Mai 2023)
      « 69% des Français déclarent soutenir financièrement assos et fondations, « 46 % donnent au moins une fois par an ». À comparer avec les chiffres donnés en 2022 (72% 48%), 2021 (58%, 45%) et 2020 (52%, 40%).

      Petit rappel sur les impôts d’autres pays (tiré de l’épisode 12 mais mis à jour)

      Forcément, je connais mieux le sujet pour la France, mais voici néanmoins quelques infos glanées pour d’autres pays (et je ne doute pas que les visiteurs compléteront dans les commentaires) :

      Exemple de dons (source)

      Exemple de dons financiers et parfois de temps

      « Sacrifier une partie de son revenu pour faire un don à une association, c’est une affaire sérieuse. » (patrick_g)
      Liste non exhaustive de dons financiers ou de temps à des associations du Libre ou pour libérer quelque chose :

      Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année 2022

      Exemple de dons de matériel ou ressources

      Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année 2022.

      Johann « nojhan » — CC-BY-SA-fr, LAL, GFDL

      Diffusion des idées et questionnements autour du don

      Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année passée.

      Lettre au Père Noël — Clément Clem Quaquin — Licence Art libre

      Don à une entreprise ? (tiré de l’épisode 11 mais mis à jour)

      Une question un peu annexe ici vu le titre « dons aux associations » mais qui a déjà été posée ici ou sur LinuxFr.org : peut‐on faire un don (sans contrepartie) à une entreprise ? Pour prendre quelques sites que j’aime bien : Next.ink anciennement Next INpact (SARL de presse) a opté pour un mélange de comptes premium (avec contrepartie, donc), publicités et dons. Voir les appels à dons 2023 pour le Fonds pour une presse libre ou Next.ink par exemple). Tandis que Reflets.info (SAS) accepte les dons.

      Lors d’une recherche rapide précédente, j’avais vu évoquer l’utilisation du compte 7713 « libéralités perçues » du plan comptable, d’un justificatif clair pour la comptabilité (un expert comptable et/ou un notaire sont évoqués), d’une exonération de TVA si aucune vente de bien ou de service n’est associée. Bref, la question des taxes et impôts à payer pour le donateur (60 % entre non‐parents ?) et l’entreprise n’est pas forcément claire. Cela reste assez flou et hypothétique, et ça mériterait une question aux impôts.

      « Oups, j’ai procrastiné sur mes dons » généré avec https://framalab.org/gknd-creator/.

      Logiciels libres pour gérer les dons (tiré de l’épisode 12 mais mis à jour)

      La question avait été posée lors de l’épisode 3 de cette série de dépêches : quel(s) logiciel(s) libre(s) utiliser pour faire les dons ? Ou pour les gérer ? En général, pour les faire, un navigateur fait l’affaire : paiement en ligne, réception de l’éventuel reçu fiscal, réception d’un éventuel message de remerciement.

      Pour les reçus fiscaux, il convient de les conserver avec les documents des impôts pendant le temps nécessaire (suivant la législation locale).

      Pour les dons via des intermédiaires, par exemple Liberapay ou HelloAsso, il faut conserver soigneusement les identifiants du compte créé pour l’année suivante.

      Si vous avez opté pour l’adhésion à une structure plutôt que le don, vous allez recevoir des identifiants aussi et probablement une lettre interne ou des choses du genre, ainsi que certainement une convocation à une assemblée générale annuelle.

      Et si vous avez opté pour versement régulier (virement ou prélèvement), ça ne change pas fondamentalement les choses ; éventuellement, l’organisme qui prélève vous prévient un peu avant chaque prélèvement par courriel.

      Il existe aussi dans le Libre des logiciels ou des événements spécialement prévus pour les dons :

      À ma connaissance, le site HelloAsso, structure ayant obtenu son agrément « Entreprise solidaire d’utilité sociale », évoqué dans un commentaire de 2015, n’utilise pas une plate‑forme libre, contrairement à Liberapay.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Deno 2.0 est là

      Le temps où Node.js régnait en maître comme la solution incontournable pour exécuter du code JavaScript côté serveur est-il révolu ? En tout cas, il a aujourd’hui des challengers de taille comme Bun (qui pourrait lui aussi mériter une dépêche) ou Deno. C'est donc de ce dernier qu'il sera question dans cette dépêche, à l'occasion de la sortie de sa version 2.0

      Sommaire

      Titre de l'image

      Pour rappel

      Deno est un runtime JavaScript et TypeScript. Il a vu le jour suite au constat de Ryan Dahl (créateur aussi de Node.js), que Node avait des problèmes de conceptions, et qu'il était nécessaire de repartir de zéro en tenant compte de l'expérience de Node pour ne pas refaire les mêmes erreurs. Il imagine Deno comme un runtime avec un modèle de sécurité par défaut plus strict. Les programmes Deno n'ont pas accès au système de fichiers, au réseau ou à l'environnement, sauf si on leur accorde explicitement ces permissions. Deno est écrit en Rust, et se base sur le moteur JavaScript V8 de Google. Deno se distingue également de Node en offrant la possibilité d'importer les dépendances via des URL, mettant en cache chaque module lors de l’importation pour améliorer la vitesse d’exécution.

      La mascotte !

      La première chose notable quand on passe de Node.js à Deno, c'est sa mascotte ! En effet, même si Node.js possède bien une petite tortue comme mascotte, celle-ci n'est utilisée nulle part ! Personnellement, j'ai toujours trouvé bien plus chouettes les projets qui ont des petites bestioles comme mascotte (Mozilla, Tux …). Et chez Deno, le dinosaure mascotte est omniprésent sur tout le site. Et en plus, à l'occasion de la version 2.0, on peut habiller notre dino sur la home page du projet ! Et ça c'est cool ! Voici le mien, qui est en compagnie de Ferris, la mascotte officieuse de Rust !

      Mon dino

      Bon, comme je ne suis pas sûr que tout le monde partage ma passion pour les mascottes, on va passer au côté plus technique ! 🤣

      Deno 1.x, des débuts difficiles !

      La version 1.0 sortie en mai 2020 a du mal à se faire une place et reste dans l'ombre de son grand frère. En effet, même si Deno offre un grand lot de nouveautés et est plus sécurisé par défaut, la très large adoption de Node et le fait que les projets développés pour Node ne sont pas forcément compatibles avec Deno rend l’adoption de ce dernier difficile. De plus, l'utilisation de CDN plutôt que d'installer les dépendances localement (dans le répertoire node_modules) a certes de nombreux avantages, mais cela rend votre projet dépendant de disponibilité du réseau ou peut entraîner des problèmes de performances si le CDN est éloigné géographiquement.

      Les nouveautés de la version 2.0

      Deno est désormais 100% compatible avec Node.js, et un gestionnaire de paquets officiel a vu le jour. Vous pouvez maintenant utiliser deno add et deno removepour ajouter ou retirer un paquet à votre projet.

      Autour du projet Deno, JavaScript Registry (JSR) un dépôt de paquets JavaScript universel !

      Le registre NPM s'est construit autour de Node.js afin de gérer facilement les dépendances de nos projets. Il a donc été développé pour Node.js à une époque où Node était la seule solution pour exécuter du code JavaScript côté serveur. En près de 15 ans, le registre NPM a rassemblé un peu moins de 3 millions de paquets et a très largement rempli sa mission toutes ces années. Mais aujourd'hui, la situation a changé, il existe plusieurs runtimes pouvant exécuter du code JavaScript (ou TypeScript) côté serveur. Et du côté front-end, les frameworks se sont multipliés et sont devenus de plus en plus complexes et nécessitent aussi l'utilisation d'un gestionnaire de paquets. Un registre de paquets fondé autour de Node.js uniquement est donc beaucoup moins pertinent qu'en 2010.
      C'est donc pourquoi, à l'initiative du projet Deno, un nouveau registre de paquets JavaScript et TypeScript universel pointe aujourd'hui le bout de son nez. Il s'agit donc de JSR (JavaScript Registry).

      Dans JSR, quand on va sur la page d'un paquet, en haut à droite, on a les logos des environnements compatibles avec le paquet :

      Titre de l'image

      Performances du runtime

      Niveau performance, ça donne quoi ?

      On voit souvent l'affirmation que Deno serait plus rapide que Node.js. Mais ça donne quoi en réalité ?

      J'ai voulu faire un petit test sans prétentions pour voir ce que ça donne. Je voulais faire des tests plus poussés sur différents systèmes d'exploitation et architectures, mais par manque de temps, le test sera donc fait sur un seul système et un seul ordinateur et il s'agit d'un Mac… Un comble pour LinuxFr.org, mais c'est l'ordinateur que j'avais à disposition à ce moment-là. Mais sinon, je ne porte pas spécialement Apple dans mon cœur, bien au contraire !

      J'ai testé l’exécution d'une même API sur Node. et Deno pour voir les différences de performance entre ces solutions. Pour ce test, j'ai utilisé une API Rest que j'ai développée pour le site de la société AudioSoft. J'ai fait la même requête POST 10 fois sur la même route avec les mêmes données. Il est important de préciser que c'est la première fois que je fais ce genre de tests, et que je ne fais peut-être pas tout dans les règles de l'art. Il y a des éléments extérieurs à Node et Deno qui peuvent influencer les scores. Notamment, la base de données utilisée pour le test était accessible via Internet, et des différences de débit ont pu fausser les tests.

      Test sur un MacBook Pro (2,6 GHz Intel Core i7 6 cœurs, AMD Radeon Pro 5300M 4 Go Intel UHD Graphics 630 1536 Mo, 16 Go 2667 MHz DDR4) sous macOS Sonoma

      Node: Le temps moyen pour exécuter le test de 126 millisecondes
      Deno: Le temps moyen pour exécuter le test de 93 millisecondes

      Performances du gestionnaire de paquets

      Comme dit précédemment, Deno c'est aussi un gestionnaire de paquets. J'ai donc trouvé intéressant de tester les principaux gestionnaires de paquets sur différents environnements.
      Pour ce test je me base sur la même API Rest que pour le test précédant, les dépendances à installer pour cette API sont : bcrypt, body-parser, dotenv, express, jsonwebtoken, mariadb, multer, mysql2, nodemailer, et sequelize. Le test a été fait sur un MacBook Pro. Pour effectuer ce test, le cache des gestionnaires de paquets ont été nettoyés et les fichiers-verrous supprimés.

      Avec NPM, l'installation a mis 10 secondes.

      Avec Deno, l'installation a mis 1 seconde.

      Avec Bun, l'installation a mis 3 secondes.

      On voit très clairement que NPM est beaucoup plus lent que ses deux concurrents. L'écart est plus faible entre Deno et Bun. Mais Deno est bien le plus rapide des trois.

      Avant de réaliser ce test, j'en ai effectué un en oubliant de nettoyer le cache et de supprimer package-lock.json. Les résultats étaient alors 8 secondes pour NPM, 5 secondes pour Deno et 4 secondes pour Bun. Il est logique de constater que NPM est plus rapide, en revanche, je trouve surprenant que Deno et Bun aient été ralentis. Il est possible que les gestionnaires de paquets aient parcouru package-lock.json pour garder les versions présentes dans ce fichier, ce qui les aurait tous les trois ralentis. Et NPM a peut-être pu bénéficier de son cache (car je l'utilise bien plus que les deux autres sur mon ordinateur), Deno et Bun eux n'avaient peut-être pas grand-chose dans leurs caches, ont donc été ralentis. Il est donc important de supprimer les lockfile en cas de migration d'un projet.

      Comme je le disais plus haut, c'est la première fois que j'effectue ce genre de test comparatif. Si vous avez des conseils sur les bonnes méthodes pour faire des tests plus fiables, ça m’intéresse !

      Deno 2.1 est là

      Étant donné que j'ai mis environ un siècle pour rédiger cette dépêche, Deno 2.1 est sortie entre temps ! 🤣
      Je vous liste donc les principales nouveautés apportées à la version 2.1 sans les commenter 😉

      • Support natif de WebAssembly (Wasm) : Il est désormais possible d'importer directement des modules Wasm, simplifiant leur utilisation et améliorant les performances.
      • Version Long Term Support (LTS) : Deno 2.1 inaugure la première version LTS, garantissant des correctifs de bugs et des améliorations de performance pendant… Six mois… On n'est pas encore aux 30 mois des versions LTS de Node.js… Cela viendra peut-être plus tard. 🙂
      • Commande deno init --npm vite : Cette commande simplifie la création de nouveaux projets en utilisant des outils comme Vite, en automatisant l'initialisation et en réduisant la configuration manuelle.
      • Gestion des dépendances : Introduction de la commande deno outdated pour gérer les mises à jour des dépendances JSR et npm.

      Conclusion

      Si vous êtes développeur Node.js, je vous conseille de vous intéresser à Deno, et même à Bun. Je ne sais pas si ces deux runtime sont totalement prêts pour des projets en production (par exemple, Deno 2.1 n'a que 6 mois de durée de vie, ce qui est plutôt contraignant pour les serveurs.). Mais peut-être que dans un futur proche, il sera cohérent de migrer vers l'un de ces deux-là.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Place aux femmes dans la publication du Lama déchaîné numéro 6 !

      Pour ce Lama Déchaîné numéro 6, l'équipe de rédaction a décidé de laisser la place aux femmes !
      Dessin inspiré d'un des tableaux de Nanine Vallain

      Et oui,

      • l'édito de la présidente parle du manque de femmes dans le logiciel libre,
      • la citation et la plume extérieure sont laissées à Florence Chabanois,
      • l'habituel dessin satirique de Gee est remplacé (à sa demande) par un dessin militant réalisé par Elisa de Castro Guerra inspirée d'un des tableaux de Nanine Vallain,
      • l'anecdote rigolote concerne une femme surnommée un temps Bubulle (je vous laisse découvrir pourquoi),
      • les chiffres de la semaine informent sur le nombre d'émissions de radio enregistrées, avec en plus une remarque sur les efforts d'inclusivité,
      • l'idée à déconstruire est forcément sur le manque de femmes,
      • le saviez-vous est consacré à une salariée qui rassure les adhérents sur son humanité,
      • la parole de Bénévole est celle de Marie-Odile Morandi, une administratrice connue pour ses nombreuses transcriptions,
      • les réactions sur Mastodon sont celles de femmes (j'en aurais voulu plus, mais suis déjà contente d'en avoir eu deux !),
      • l'extrait du compte-rendu permet de mettre en lumière le groupe de travail Diversité qui existe depuis avant mon arrivée en 2007, mais juste avant puisque c'était en 2006,
      • une actu brûlante sur comment se démysoginer et un lien vers une page de la CNIL que nous vous conseillons de parcourir (ce sera une aide inespérée pour les mots croisés).

      Seul le dessin généré n'est pas l'œuvre d'une femme, mais l'un des deux personnages est une femme… (enfin ce n'est pas sûr, il faudrait vérifier, mais comment… résumons, c'est une Schrödinger/lama/femme).

      Ce numéro « girl power » est une façon pour nous de visibiliser les femmes. Nous l'avons fait tout au long de la préparation des différents numéros (répartition 50-50, ou plus pour les femmes), mais nous avons voulu faire un numéro leur étant entièrement consacré.

      L'inclusivité n'est pas un combat de l'April, mais c'est comme l'accessibilité, si on s'en occupe dès le départ, tout est plus simple, après, dans un projet.

      Et n'oubliez pas, le premier développeur était une développeuse : Ada… ah !! oups, c'est l'une des solutions des mots croisés ! Chut…

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Publication du numéro 5 du Lama déchaîné

      Cette semaine, l'April fête ses 28 ans d'existence. 28 ans de lutte! Alors, forcément, nous en parlons dans le Lama déchaîné, notre campagne de soutien financier.

      Bannière Campagne April

      Joyeux anniversaire, dessin de Gee

      Pour ce numéro 5, le sixième en fait :-D, nous avons profité de la publication le 20 novembre, jour de la création de l'association, pour remonter le temps et vous informer de comment l'association a été créée. L'édito de la présidente n'est qu'un simple résumé (épuré), je vous conseille donc de cliquer sur le lien à la fin pour découvrir la « vérité vraie » sur cet événement du siècle dernier !

      Comme d'habitude, Gee nous a fait un dessin satyrique, ci-dessus, avec une question qui ne restera pas sans réponse. (voir la rubrique chiffres de la semaine - on ne pouvait pas laisser passer cette info pour les fans de binaire et d'hexadécimal).

      Une plume infiltrée remplace la plume extérieure, l'occasion était trop bonne de laisser un peu de place à l'un des fondateurs.

      Et quitte à avoir un numéro autocentré, on vous parle de la couleur traditionnelle de l'asso, de la future date de l'AG (le samedi 15 mars 2025) et du premier groupe de travail créé…

      Vous l'aurez compris, ce numéro vogue entre la nostalgie et la fête, cf les mots croisés !

      On vous laisse découvrir et lire… adhérer ou faire un don.

      Joyeux anniversaire l'April !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Au cœur de l'April - « Libre à vous ! » du 29 octobre 2024 - Podcasts et références

      14 novembre 2024 à 08:52

      224ème «  Libre à vous !  » de l’April. Podcast et programme :

      • sujet principal : Au cœur de l’April, spéciale campagne Le Lama déchaîné
      • la chronique À cœur vaillant, la voie est libre de Laurent et Lorette Costy sur le thème : « La 2 CV comme parabole libriste »
      • la chronique La pituite de Luk sur le thème : « Le fric et l’égo »

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

      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.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Publication du numéro 4 du Lama Déchaîné

      Afin de permettre à sa campagne de soutien financier de prendre son envol, l'April investit dans l'aéronautique ! Ce mercredi 13 novembre sortait le tant attendu numéro 4 du Lama Déchaîné.

      Le thème : le monde associatif

      Bannière Campagne April

      Le Lama déchaîné

      Vous y retrouverez nos rubriques habituelles : un édito malodorant, un dessin satirique d'un supermarché, une actu brûlante, certains projets de Framasoft (qui entre bientôt en campagne !) avec la belle plume d'Angie, des anecdotes du salon Solution Linux devenu Open source XP, un chiffre, un service chapril, une idée déconstruite, un truc à savoir, la parole d'une bénévole, un extrait de compte-rendu d'activités de 2008 sur DAVDSI et les p…… de DRM, le courrier des lecteurs et, comme à chaque fois, les mots croisés (dont toutes les solutions seront données à la fin de la campagne, promis).

      La campagne progresse bien, nous avons atteint les 6 000€ et nous sommes super reconnaissants de ce soutien… Il nous reste encore 14 000€ pour finir l'année sereinement. Alors n'hésitez pas à en parler autour de vous.

      Et si vous voulez participer au courrier des lecteurs, répondez à cette dépêche !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Publication du numéro 3 du Lama Déchaîné

      Cette semaine encore, ce mercredi 6 novembre 2024, l'April a publié sa gazette hebdomadaire Le lama déchaîné afin d'encourager les gens à la soutenir financièrement.
      Bannière Campagne April

      Pour ce quatrième numéro paru le 6 novembre, nous retrouvons les quatorze rubriques habituelles :

      • l'édito dans lequel j'essaie d'expliquer la difficulté de publier un texte à plusieurs, et pas n'importe quel texte, mais une position qui risque d'être reprise dans les médias ou par d'autres associations. Quand plusieurs personnes écrivent ensemble, ce n'est pas toujours aisé de mettre tout le monde d'accord, mais c'est tellement riche en échange d'arguments que ça vaut le coup d'y passer du temps.
      • un chiffre pour mettre en évidence une action de promotion de l'April: les transcriptions et le site Libre à lire!
      • le dessin satirique fait par Gee que je vous laisse découvrir :-D
      • une citation sur le repair cafés de Nathalie (bonjour Oisux<3)
      • une actu brûlante (petite nouvelle rubrique arrivée depuis le numéro 2) sur le nouveau ministre des Armées
      • une idée déconstruite sur les hippies
      • une anecdote rigolote sur les serveurs de l'association
      • un truc à savoir
      • la présentation d'Elsa, une des salariées en contact direct avec les membres
      • un clin d'œil à l'un des services du chapril: Firefox send
      • les courriers de trois lecteurs publiés sur Mastodon
      • un extrait d'un de nos comptes-rendus d'activité choisi par un de nos vice-présidents
      • un dessin généré et envoyé sur sensibilisation@april.org.

      Et comme à chaque fois, un texte publié par une personne extérieure à l'association, même si très active dans les émissions de radio Libre à vous!
      ça fait une longue liste, désolée.

      Arf, et j'en oublie les mots croisés, qui sont toujours un plaisir à créer à la mano…

      Vous voulez plus de détails, et je le comprends, alors je vous laisse cliquer sur le lien ci-dessus.

      Petite ou grande nouveauté. Une nouvelle page d'accueil pour récapituler la campagne, les raisons pour lesquelles nous la faisons, les liens vers les différents numéros et un mur de remerciement, car vous êtes de plus en plus nombreuses et nombreux à nous soutenir et nous en somme super reconnaissant·es = https://www.april.org/campagne/
      Image de la page d'accueil de la campagne

      Merci de vos lectures, de vos soutiens et de vos commentaires.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      epub, le convertisseur EPUB3 à la volée de LinuxFr.org

      Le site LinuxFr.org utilise divers logiciels libres pour son fonctionnement et ses services : une large majorité provient de projets tiers (Debian, MariaDB, Redis - version d’avant le changement de licence, nginx, Postfix, conteneurs LXC et Docker, Ruby On Rails, Sympa, etc.) et d’autres composants sont développés pour nos propres besoins. Cette dernière catégorie comprend le code principal du site web en Ruby On Rails, et principalement 5 services autour : le cache d’images img, la tribune board, le convertisseur EPUB 3 epub, le partageur sur les réseaux sociaux share et le convertisseur LaTeX vers SVG svg. Cette dépêche va s’intéresser à epub, un code sous AGPLv3.

      Elle est née d’une envie personnelle d’expliquer, documenter et montrer ce qui a été fait sur le convertisseur EPUB3 à la volée de LinuxFr.org, et elle vient accompagner la précédente sur img, le cache d’images sur LinuxFr.org.

        Sommaire

        Des EPUB de vos contenus et commentaires

        LinuxFr.org vous permet de lire les contenus et commentaires du site, au format EPUB3, par exemple dans votre liseuse préférée. Il y a une exception à cela, les liens, parce que certes ça ferait des EPUB tout mignons, mais surtout petits voire un poil inutiles. Le lien EPUB est présent automatiquement sur chaque contenu (hormis les liens donc).

        Le principe est simple : on donne un lien vers un contenu HTML à epub, il le demande à la partie Ruby on Rails du site, ainsi que les images associées, convertit le tout au format EPUB3 et le renvoie à la personne qui l’a demandé. Techniquement epub n'est pas exposé frontalement mais se trouve derrière un nginx.

        Côté code Ruby on Rails

        C’est assez basique : on ajoute juste sur chaque contenu un lien pour télécharger au format EPUB. Ainsi, y compris sur cette dépêche, vous allez trouver un lien à la fin pour récupérer le tout au format EPUB (et un autre pour récupérer le source en Markdown mais c’est un autre sujet).

        app/views/news/_news.atom.builder:    epub = content_tag(:div, link_to("Télécharger ce contenu au format EPUB", "#{url}.epub"))
        app/views/polls/_poll.atom.builder:  epub = content_tag(:div, link_to("Télécharger ce contenu au format EPUB", "#{url}.epub"))
        app/views/posts/_post.atom.builder:  epub = content_tag(:div, link_to("Télécharger ce contenu au format EPUB", "#{url}.epub"))
        app/views/nodes/_actions.html.haml:    = link_to "EPUB", "#{path_for_content node.content}.epub", title: "Télécharger ce contenu au format EPUB", class: "action download"
        app/views/diaries/_diary.atom.builder:  epub = content_tag(:div, link_to("Télécharger ce contenu au format EPUB", "#{url}.epub"))
        app/views/wiki_pages/_wiki_page.atom.builder:  epub = content_tag(:div, link_to("Télécharger ce contenu au format EPUB", "#{url}.epub"))

        Côté epub

        Le service est plutôt simple, par rapport à img, car il n’a pas de dépendance sur redis par exemple, et qu’il a, au final, peu de paramétrage (un couple adresse+port d’écoute, un fichier de trace et un hôte pour aller chercher les contenus).

        Il est possible de faire un GET /status et on obtient une réponse HTTP 200 avec un contenu OK. C’est utile pour tester que le service est lancé (depuis l’intérieur de la plateforme).

        Sinon on lui demande une dépêche, un journal, une entrée de forum, un sondage, une entrée de suivi ou une page wiki en prenant le chemin sur LinuxFr.org et ajoutant un petit .epub à la fin, et il va renvoyer un fichier EPUB. Ou bien il va répondre un contenu non trouvé HTTP 404 s’il y a un souci. Et vu son fonctionnement, si on a un souci de HTML non valide ou si img a un problème avec une image, alors derrière epub pourrait avoir le même souci.

        epub est un binaire dynamique en Go. Il impose le https pour l’hôte (du coup on aura tous les liens en HTTPS en interne normalement). Il ne peut pas vraiment être compilé statiquement (on a besoin de libxml2, libonig2 et de la même version de la libc au déploiement). Il ne gère pas les images in-line.

        Dans les logs on va trouver des infos comme :

        2024/11/03 16:34:02 Status code of http:/example.invalid/exemple.png is: 404
        (…)
        2024/11/03 16:38:23 Fetch https://linuxfr.org/news/capitole-du-libre-2024-au-programme-du-16-et-17-novembre
        2024/11/03 16:38:24 Fetch https://linuxfr.org/users/liberf0rce/journaux/libreast-2006-is-out-of-order
        

        Historique

        epub a été créé par Bruno Michel en 2013 et Bruno est le seul à travailler dessus (48 commits) jusqu’en 2018. Comme img, on peut considérer que epub a fait le job pendant ce temps-là, sans besoin de retouche.

        Mon premier commit de 2021 concerne la gestion d’un cas de collision de nommages des images.

        En 2022, Bruno quitte l’équipe du site, et par ailleurs il y a des montées de versions et des migrations à faire sur les serveurs de LinuxFr.org, et epub fait partie des services à reprendre en main. Ce qui veut dire le comprendre, le documenter et au besoin l’améliorer.

        Bref je décide de me plonger dans epub (2022-2024), dans la foulée de img, car a priori ce n’est pas un composant compliqué du site (il vit dans son coin, il offre une interface, c’est du Go, donc on a un binaire seulement à gérer - divulgâchage en fait non pas seulement).

        Le choix est le même que pour img (cf la dépêche précédente) : ajouter un Dockerfile permettant de recompiler epub dans un conteneur, en contrôlant la version de Go utilisée, en effectuant une détection d’éventuelles vulnérabilités au passage avec govulncheck. Cela me permet de valider que l’on sait produire le binaire d’une part, et que l’on offre à tout le monde la possibilité de contribuer facilement sur ce composant. Et de découvrir qu’une version statique n’est pas facilement envisageable.

        Puis je vais tester le composant pour vérifier qu’il fonctionne comme je le pense et qu’il fait ce qu’on attend de lui. Je vais ajouter une suite des tests qui couvrent les différentes fonctionnalités et les vérifient en IPv4 et en IPv6, en HTTP 1.1 et en HTTP 2.0. Les tests utilisent Hurl et docker-compose, et encore une fois l’idée de donner la possibilité de contribuer facilement. Ils comprennent des tests de types de contenus non pris en charge, le test de la limite à 5 MiB, différents types de contenus, le test de vie, des appels erronés (mauvais chemin, mauvaise méthode, etc). Et surtout de vérifier avec epubcheck que le fichier epub produit est correct. Le choix des cas de tests est basé sur le trafic réellement constaté sur le serveur de production, sur les différents cas dans le code et un peu sur l’expérience du testeur.

        Les différents travaux effectués vont permettre de détecter et corriger quelques soucis :

        Et à la fin, j’écris une dépêche pour parler de tout cela.

        Évolutions récentes

        Dockerfile

        Le fichier Dockerfile du projet permet :

        • de partir d’une image officielle Go d’une version donnée, basée sur une distribution Debian (en raison des dépendances)
        • de l’utiliser pendant la construction en prenant la liste des dépendances de compilation, en les téléchargeant, en prenant l’unique fichier source epub.go et en le compilant dynamiquement avec l’option pour retirer les chemins de compilation
        • de rechercher les éventuelles vulnérabilités avec govulncheck
        • de tester avec golangci/golangci-lint le code (fait à la construction de l’image, car on dispose de toutes les dépendances à ce moment-là)
        • de repartir d’une base Debian en y mettant les autorités de certification, les dépendances de fonctionnement et le binaire issus de la partie construction, de déclarer le port d’écoute et de lancer le binaire avec des variables disposant de valeurs par défaut.

        La suite de tests

        Pour l’utiliser, c’est assez simple, il faut aller dans le répertoire tests et lancer un docker-compose up --build, qui va produire le conteneur contenant epub, et démarrer le nginx-cert qui fournit les certificats et le nginx préconfiguré pour les tests. Si tout va bien, on attend, et au bout d’un moment il s’affiche :

        linuxfr.org-epub-test_1  | All tests look good!
        tests_linuxfr.org-epub-test_1 exited with code 0
        

        Rentrons un peu dans les détails.

        D’abord un fichier docker-compose.yaml qui décrit le réseau IPv4/IPv6 utilisé pour les tests, l’image nginx-cert qui sera utilisée pour créer une autorité de certification et un certificat serveur de test, l’image nginx qui sera utilisée avec sa configuration et ses fichiers à servir pour les tests, l’image epub et son paramétrage (dont l’accès au nginx) ainsi que le répertoire de l’autorité de certification de tests et enfin l’image de la suite de tests qui est construit avec son Dockerfile et son répertoire de dépôt des fichiers EPUB.

        Le Dockerfile de tests est basé sur une image Hurl (un outil pour faire des tests HTTP). On ajoute les fichiers de tests en .hurl, le script shell qui pilote le tout, on prévoit d’avoir les paquets dont on aura besoin : bash (pas par défaut dans les Alpine), curl, openjdk17 (pour epubcheck), openssl, unzip (transitoirement), bind-tools et shellcheck. On installe epubcheck. Et on lance les tests par défaut.

        La configuration nginx de test écoute en HTTP sur le port 80 en IPV4 et IPv6 et permet de définir des chemins avec des réponses en HTTP 301, 302, 308, 400, 401, 403, etc. jusqu’à 530 et même 666 pour les codes invalides, ainsi qu’une redirection infinie.

        Dans les données de tests servies par nginx, on trouve des contenus du mauvais type, des contenus dans divers formats, une image très grande et des images qui ne seront pas accessibles.

        Sont aussi présents deux fichiers de tests avec une extension en .hurl :

        • le test de vie et les chemins hors des contenus autorisés
        • les tests sur les contenus

        Vient enfin le script shell qui pilote le tout :

        • on définit les variables pour les cibles IPv4/IPv6 que l’on veut utiliser dans les autres conteneurs Docker
        • on purge le stockage des EPUB sur disque
        • on lance les premiers tests (en IPv4 et IPv6, en HTTP 1.1 et en HTTP 2.0)
        • sur chaque EPUB produit, on lance epubcheck et on regarde si la validation donne le résultat attendu (succès ou échec)
        • si on est arrivé jusque-là on écrit que tout va bien et on déclenche un sourire de satisfaction.

        Les problématiques restantes

        Il y a quelques entrées encore ouvertes dans le suivi :

        • les images trop grandes (en octet), non récupérables, de format inconnu, etc. : la suite de tests actuelle « couvre » le cas des images de plus de 5 MiB ou non récupérables, avec des tests qui échouent, comme prévu, vu que c’est img qui est censé faire le job de les éviter. Cependant il pourrait être sympa de remplacer toute image non disponible/invalide par une image de remplacement « Image indisponible » du bon Content-Type et du bon nom (vu qu’elle est déclarée dans le MANIFEST).
        • les images trop grandes (en pixel) : globalement on revient à la question des images que laisse passer img
        • les epub non fonctionnels en rédaction et modération : pour des questions de droits, la génération EPUB ne marche pas dans les espaces de rédaction et de modération, à voir si on trouve un contournement ou si on évite de proposer le lien.

        Il y a la question habituelle de la montée de versions des dépendances (pour nous actuellement contraintes celles du code Ruby on Rails). Et des questions à se poser sur l’avenir de nginx ?. Les dépendances pendant le fonctionnement amènent aussi leur lot de contraintes.

        Conclusion ?

        Encore une fois, sans surprise et me répétant, il reste des problématiques et du code à faire pour les gérer (c’est rare un composant sans demandes d’évolution ou de correction). Yapuka (mais probablement plus tard, il faut aussi partager le temps avec les autres composants, ou avoir plus de contributions).

        epub rend la fonction que l’on attend de lui, même si on pourrait faire un peu mieux. Plonger dans ce composant s’est avéré assez intéressant et formateur (et nécessaire) : techniquement cela a été l’occasion de faire du Go, du docker et du docker-compose, du nginx, du hurl, de l’HTTP et de gérer des problématiques statique/dynamique et des dépendances. Il s’agissait encore de comprendre ce que faisait un code écrit par une autre personne, de se poser des questions pour choisir les tests et le contenu de la documentation, de se demander pour quelles raisons tel ou tel choix a été fait, de rendre ce composant plus « contribuable », et de compléter le tout de façon détaillée avec une dépêche.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Sortie de Tcl/Tk 9.0

        2 octobre 2024 à 04:39

        Le Tcl Core Team (TCT) est heureux d'annoncer la sortie de la version 9.0 du langage de script Tcl et de la bibliothèque d'interface graphique Tk.
        C'est la première version stable de la branche Tcl/Tk 9.0 dont le développement a commencé en janvier 2013.
        Il y a quelques potentielles incompatibilités avec les précédentes versions même si la plupart des programmes fonctionneront sans retouches.

        Les principales nouveautés et améliorations de Tcl 9.0

        • Données en 64-bit : support des structures de données supérieures à 2 Go (variable, chaîne de caractères, tableau, liste et dictionnaire).
        • Support étendu d'Unicode : avec tous les emojis qui vont bien.
        • Système de fichier virtuel dans le langage : basé sur le format zip et permettant la lecture/écriture ou le montage/démontage.
        • Déclaration de constantes : const
        • De nouvelles commandes de listes : lpop, lremove, ledit et lseq
        • De nouvelles options pour les tableaux : array default et array for
        • De nouvelles commandes de coroutines : coroinject et coroprobe pour interagir avec une coroutine en pause.
        • Substitution avec script : possibilités d'attacher un script à la commande regsub
        • Notation décimale explicite : un entier pourra optionnellement être précédé du préfixe 0d pour indiquer sans ambiguïté qu'il est en notation décimale.
        • Notation de nombre : possibilité de noter un nombre entier avec des tirets bas (underscore) pour plus de clarté (1_000_001).
        • Changement de l'interface de notification d'événements : remplacement de select par epoll/kqueue.
        • Le tilde (~) n'est plus interprété comme le répertoire home.
        • L'encodage par défaut d'un script devient l'UTF-8.

        Les principales nouveautés et améliorations de Tk 9.0

        • Onglets de tous les côtés : haut/bas/droite/gauche et navigation avec la molette de la souris.
        • Accès au système de notification, à la barre des tâches et au gestionnaire d'impression : tk sysnotify, tk systray, tk print.
        • Texte dans une barre de progression : ttk::progressbar ... -text
        • Badge temporaire sur une icône : wm iconbadge
        • Image de fond dans un frame : frame ... -backgroundimage ... -tile ...
        • Support partiel du format SVG : image create photo ... -file test.svg
        • Accès aux métadonnées et au cannal alpha des images : image read/write/put/cget ... -metadata etimage get/put ... -to ...
        • Rotation des objets graphiques d'un canvas : canvas rotate ... x y angle
        • Support du défilement à deux doigts.

        Pour le reste des nouveautés

        • Un pythoniste (Marc Culler) fait partie du TCT pour faciliter le développement de TkInter.
        • Il n'y aura pas de version 8.7 officielle.
        • Tcl 9 bénéficie d'un nouveau logo dessiné par une graphiste (Valerie Carroll).

        Titre de l'image

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Célébrons les 21 ans des Linux-Meetup au Québec

        🎉 Il y a plus de deux décennies, j’ai lancé mon tout premier Linux-Meetup à Montréal en mai 2003. Depuis, chaque premier mardi du mois, nous avons tenu 252 rencontres sans interruption, rassemblant des passionnés du monde Linux.

        🚀 Le samedi 21 septembre 2024, nous fêterons 21 ans de partage autour de Linux et des logiciels libres au Québec ! Cet événement coïncide avec la Journée internationale des logiciels libres (SoftwareFreedomDay), offrant une visibilité mondiale inégalée. Ce sera l’occasion de célébrer cette communauté qui s’est agrandie au fil des années et de marquer cette étape importante dans l’histoire du logiciel libre.

        📈 Chaque année, notre événement annuel devient de plus en plus grand grâce à l’appui de nos commanditaires. Avec une participation record de 150 passionnés l’an dernier et le soutien de 23 commanditaires visionnaires.

        🌐 L’événement se tiendra en présentiel à l’école de technologie supérieure (ÉTS), à l’université et en virtuelle sur BigBlueButton, permettant à la communauté Linux francophone de participer d’où qu’elle soit.

        💼 Si votre entreprise utilise Linux ou soutient les logiciels libres, c’est une occasion unique de promouvoir vos solutions et vos services auprès d’une audience ciblée et engagée. Rejoignez-nous comme commanditaire et bénéficiez d’une visibilité accrue au sein de la communauté. Contactez-moi rapidement pour discuter de votre participation !

        🚩 Pour les plus aventureux, la cinquième édition de notre chasse au trésor informatique (CTF : CaptureTheFlag) sera de retour avec des défis inédits, conçus par Dominique Derrier et Pascal Gad. Cet événement interactif mettra vos compétences Linux à l’épreuve et promet des moments captivants pour les participants.

        🗣️ Au programme : des présentations passionnantes des experts Linux, le CTF et des opportunités d’échanges avec la communauté, et bien plus encore.

        🎟️ Ne manquez pas cette opportunité unique de vous inscrire et de découvrir l’agenda complet à https://www.rencontres-linux.quebec/event/21-ans-de-linux-meetup-au-quebec-1/

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Calligra : laquelle choisir ? notre comparatif secret (il sera aussi question de formats)

        Plutôt qu’un comparatif entre Calligra, une présentation rapide de la suite bureautique de KDE s’impose. Une suite qui vient de passer en version 4 après quelque chose comme quatre ans de stase. Comparer la petite suite Calligra à LibreOffice serait assez injuste. Néanmoins cette présentation des quatre logiciels qui la forment ne peut pas faire complètement l’impasse dessus. Et, notamment, mais pas uniquement, à cause des formats de fichier et de leur compatibilité entre les deux suites bureautiques libres.

        Ne faites pas attention au titre qui a été plus ou moins suggéré à titre de plaisanterie dans ce commentaire.

        Le panneau de démarrage de Calligra

        Sommaire

        Calligra, vingt-six ans déjà

        Les débuts de Calligra remontent, d’après « l’À propos de Calligra » à 1998. Au départ, sous le nom de KOffice. Elle n’adoptera ce nom de Calligra suite qu’en 2010. La dernière version de Koffice, numéro 2.3.3 est sortie en 2011.

        En 2020, Calligra sort une version 3.2.1. Puis, plus rien jusqu’au 27 août 2024 où un développeur KDE, Web et QML, Carl Schwan, annonce la sortie de la version 4.0 (en). Pour cette nouvelle version, il a essentiellement d’une part complètement porté l’Api de QT6 à KF6, d’autre part revu l’interface utilisateur.

        Dans sa présentation de la suite, KDE indique que Calligra s'appuie sur KDE, une architecture d’applications puissante. On verra plus tard que ce n’est pas sans conséquence.

        Les formats de fichier natifs de Calligra sont les formats ODF. Un choix que KDE explique dans la vue d’ensemble des fonctions de Calligra :

        Il est d’une importance majeure pour toute suite bureautique d’adhérer à des standards établis. Surtout au niveau du format de fichier pour permettre l’échange de documents avec d’autres suites bureautiques de manière transparente. Cela évite également les formats propriétaires, ce qui est particulièrement important pour les entreprises et pour les particuliers.

        Le traitement de texte Kword aura d’ailleurs été le premier logiciel de traitement de texte à prendre en charge le format ODF qui est sorti en 2005.

        Quelques mots sur la suite

        Calligra comporte quatre logiciels :

        • Karbon, l’application de dessin vectoriel,
        • Calligra Sheets, le tableur,
        • Calligra Stage, le logiciel de présentation,
        • Calligra Words, le traitement de texte.

        Il y a, en outre, un panneau de démarrage, Calligra, qui figure en illustration de la dépêche. En cliquant sur une des icônes, on ouvre l’application concernée. Chaque application propose de choisir entre un document récent, un document personnalisé ou un modèle ou type de modèle.

        Les quatre applications de la suite bureautique Calligra.

        Ensuite, tous les logiciels de la suite ont la même logique : une barre de menu et (optionnellement) des barres d’outils en haut, et sur les côtés, à droite ou à gauche selon la configuration, une barre latérale qui sert quasiment pour tout.

        La configuration de l’emplacement de la barre latérale se fait par un clic droit dessus. Il est possible d’indiquer par la même occasion si on veut que les icônes des panneaux latéraux soient assorties de texte ou non. Les choix que j’ai fait dans les captures d’écran sont différents de ceux de la note de blog de Carl Schwan.

        Barre latérale
        Configuration de l’emplacement de la barre latérale.

        Par défaut, les barres d’outils, qui, au demeurant, comportent très peu d’éléments, ne sont pas affichées. Il y en a deux : Éditer qui affiche les boutons Défaire et Refaire (et c’est tout) et Fichier qui permet d’afficher ou non les panneaux. Dans les captures d’écran de cette dépêche, elles sont toutes deux affichées. Pour les avoir à l’écran : Paramètres > Barres d’outils affichées.

        Barres d’outils affichées
        C’est aussi à ce niveau qu’on configure la vérification orthographique et la correction automatique.

        On peut, évidemment, créer des modèles (formats OTF) avec chacune des quatre applications de la suite bureautique et exporter le fichier au format PDF. Les polices des fichiers générés en PDF sont complètement intégrées, ce qui en fait des documents assez lourds.

        Karbon, dessin vectoriel

        Si le format natif de Karbon est l’ODG, il peut enregistrer aussi aux formats WMF, JPEG, PNG et SVG. C’est un logiciel assez facile à utiliser, moyennant un temps d’apprentissage, et dont l’interface peut rappeler celle de Draw avec sa barre d’outils de dessin à gauche.

        Karbon

        Karbon ouvre très bien les fichiers SVG simples, mais, dès qu’il y a des dégradés, des motifs ou des images matricielles incorporées, le résultat est moins bon.

        Karbon et les images SVG
        À gauche la version originale dans Inkscape, à droite la version ouverte dans Karbon. Le manchot est plus petit, l’effet de dégradé de ses lunettes a disparu et le fond de l’œuf est complètement pixelisé.

        Calligra Sheets : tableur de son métier

        Le tableur de Calligra est le seul à proposer plusieurs catégories de modèles, tous en anglais. Il est assez peu traduit par rapport à ses collègues. Ainsi, dans Calligra Words, on a un « Gestionnaire de styles, quand, dans Sheets, c’est un « Style Manager ». Il fonctionne comme n’importe quel autre tableur. La modification d’un diagramme dans Calligra Sheets est très facile, mis à part le fait qu’il ne semble pas qu’on puisse en changer les couleurs.

        L’interface de Calligra Sheets

        Outre l’ODS, il peut enregistrer aux formats : Kspread (ancien format de la suite Koffice), CSV, LibreOffice Calc spreadsheet (qui est aussi de l’ODS), feuille de calcul Gnumeric, Html et TeX.

        Calligra Stage, présentation

        Le logiciel de présentation Calligra Stage est le seul à proposer plusieurs modèles, certains avec une, d’autres avec deux pages maître dont un sympathique modèle avec un manchot : « Pingouin curieux ». Il peut être déconcertant de prime abord quand on part d’un « écran vide » ou « 16:10 » parce que ce qui apparaît c’est un espace complètement vide sans zone pré-configurée. Mais, si on clique sur la première icône du panneau latéral, on accède à plusieurs « Styles » de diapositives qui ont ces zones.

        Manchot curieux

        Calligra Stage n’enregistre qu’au format ODP.

        Calligra Words, traitement de texte

        Calligra Words ne propose que quatre modèles dont un très désuet modèle de fax et un modèle de « lettre professionnelle » qui n’est qu’une page vide avec des grandes marges. Il est possible, en théorie, d’ajouter des entêtes et des pieds de page avec des champs de type numéro de page ou titre du document, troisième icône du panneau latéral en partant du haut. Mais il y a un bug d’affichage car rien n’apparaît, alors qu’on les voit quand on ouvre le fichier dans Writer. On peut insérer des notes sans possibilité de naviguer de l’appel de note vers la note et vice-versa. Au même endroit, il est possible d’ajouter simplement une citation ou une bibliographie, ou une table des matières, en fait un « Contenu ».

        L’espace de travail de Calligra

        Calligra Words enregistre aussi aux formats : document Word 2007, Electronic book document, Plain texte document, livre numérique Mobipocket, Text Plain Wiki Format et HTML. C’est, à mon avis, de tous les logiciels de la suite, celui qui a le plus mal vieilli.

        Limites et (in)compatibilités

        Il ne s’agit pas de relever les fonctionnalités, souvent gourmandes en ressources de développement, manquantes par rapport à d’autres suites bureautiques développées par des équipes nettement plus étoffées.

        Sans Plasma, ça fonctionne moins bien

        La grosse limite de Calligra est le fait qu’elle est développée pour bien s’intégrer à KDE. Ce qui aboutit à ce qu’avec la version Flatpak et un environnement bureau qui n’est pas KDE (ici XFCE), Calligra Words ne peut pas faire de vérification orthographique dans une autre langue que l’anglais. Alors que la même version fonctionne bien sur ce plan dans un environnement de bureau Plasma. On peut imaginer que cela fonctionnerait mieux si la version était empaquetée pour la distribution.

        Calligra ne trouve pas non plus les polices ajoutées dans le dossier .fonts dans un cas alors qu’il les trouve quand la session de bureau est Plasma. Un autre défaut : on ne peut pas ajouter de caractère « spécial » en utilisant les combinaisons de touches Ctrl + Maj + U ou Alt + X. Calligra Words ne permet pas, par exemple, d’avoir des chevrons typographiques : « », même avec Plasma.

        Formats et compatibilité

        Petit rappel historique du format ODF. La version 1.0 du format sort en mai 2005, suivie, en février 2007, de la version 1.1. Quatre ans plus tard, en mars 2011, la version 1.2 pointera le bout de ses octets, puis, en juin 2021, le consortium OASIS qui gère la norme, accepte la version 1.3 adoptée par LibreOffice avec les versions 7. À l’heure actuelle, la version 1.4 est en cours de travail. LibreOffice est en train de travailler à la prise en charge de cette version avec la première étape, la budgétisation (en).

        Le format ODF de Calligra Suite est donc, compte tenu du fait que le travail sur cette version n’a pas été axé sur la prise en charge de l’ODF, probablement 1.2 ou 1.1. Cela a des conséquences si on veut échanger des fichiers entre, notamment, les suites LibreOffice et Calligra ou, encore, utiliser des modèles récupérés sur le site des extensions et modèles (en) de LibreOffice.

        Quelques-uns des problèmes que j’ai pu relever. Le plus ennuyeux, c’est quand on perd l’information définitivement dans Calligra.

        Avec Karbon, si on veut ouvrir un fichier ODG généré dans Draw, avec des formes converties en « Corps de révolution 3D », en 3D ou avec un dégradé radial, les deux premières disparaissent définitivement. Et, quand on veut ouvrir le fichier, qu’on aura enregistré dans Karbon, le dégradé de la seule forme conservé n’est plus pareil. Ce dernier fait est, je pense, lié à la gestion des couleurs et aux palettes disponibles dans l’une et l’autre suite.

        Calligra Sheets ne comprend pas bien les plages et expressions nommées, une fonctionnalité que possède le logiciel. C’est un problème que j’avais déjà constaté dans OpenOffice il y a un paquet d’années. En conséquence, il affiche une erreur #VALEUR! dans les cellules. Si on ré-ouvre le fichier sauvegardé dans LibreOffice, c’est fichu. Si mes souvenirs sont exacts, à l’époque quand j’avais signalé ce problème de LibreOffice vers OpenOffice, il m’avait été répondu que c’est probablement dû à une question de version d’ODF.

        Sans surprise, les dégradés entre les logiciels de présentation des deux suites bureautiques libres, Calligra Stage et Impress, sont interprétés différemment. Sans surprise aussi, Calligra Stage affiche plus ou moins bizarrement les formes qu’il n’a pas été programmé pour comprendre. Mais on peut les retrouver correctement dessinées à l’ouverture dans Impress. Vous pouvez faire un test, si vous voulez, avec le modèle Tons pastels. En revanche, les dimensions, comme pour le cas du manchot dans Karbon, ne sont pas toujours respectées. Et une présentation créée dans Stage et ouverte dans Impress peut assez considérablement varier d’allure, notamment la taille et la couleur des caractères.

        Deux versions d’une même présentation
        En haut la version originale créée avec Stage. En bas, ouverte dans Impress : l’arrière-plan dégradé de bleus, s’est transformé en dégradés de noir au blanc, et le texte a changé d’allure.

        Quant à Calligra Words, il regroupe toutes les images ancrées au paragraphe au début du document et ne garde pas forcément la mise en page. Pire, s’il y a des variables dans le document, elles disparaissent définitivement corps et âmes, il y a donc une sérieuse perte d’information. Sans négliger ce bug de non affichage des champs compris pourtant par Calligra Words.

        Suggestion et demande

        Il y a quelques années, je trouvais Calligra vraiment sympathique. Quelques années après, la suite est toujours sympathique, mais, quatre ans sans maintenance ni évolution dans un secteur où ça bouge, ça se fait sentir.

        Utiliser ou pas Calligra ? À mon avis (à moi, personnellement), peut-être pas si on n’a pas Plasma comme environnement de bureau. Sûrement pas, toujours à mon avis à moi, si on doit travailler des fichiers qui viennent d’ailleurs à cause des histoires de format. Sauf si lesdits fichiers sont très simples. Si vous voulez utiliser des modèles du site des Extensions et modèles (en) de LibreOffice, j’aurais tendance à vous suggérer de regarder la compatibilité des modèles avec les versions de LibreOffice, de ne pas aller plus loin que les versions 6 incluses et d’opter pour des modèles simples.

        Cela dit, Karbon est vraiment un chouette logiciel. Si sa prise en mains vous est plus facile pour le dessin vectoriel que celle de Draw ou d’Inkscape, ne pas hésiter. Et sa palette de couleurs est très bien.

        D’ailleurs, puisqu’on parle de la palette de couleurs de Karbon, quelqu’un sait comment la récupérer ? Je pourrais l’ajouter à mon LibreOffice et à mon Inkscape. Merci d’avance.

        Et si vous voulez un tutoriel un peu plus complet sur la prise en mains de Calligra, c’est par là.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        ❌
        ❌