Les dépêches de LinuxFr

S'abonner à flux Les dépêches de LinuxFr
Mis à jour : il y a 1 heure 48 min

Neon arrête son édition LTS

il y a 4 heures 54 min

Le 6 avril, KDE Neon a annoncé mettre fin à son édition « LTS » (la mal nommée).

Néon concilie un bureau stable avec des fonctionnalités de pointe, le tout dans un package facile à utiliser et prêt à s’approprier. Oui mais encore ?

Qu’est-ce que KDE Neon ?

L'idée de Neon est de proposer les dernières versions des logiciels de la communauté KDE, le tout construit sur la dernière LTS d’Ubuntu (actuellement 20.04).

Neon est principalement connu pour son « édition » utilisateur qui contient les dernières versions officielles de Qt, de Frameworks, de Plasma (actuellement 5.21) et des applications KDE (comme Dolphin, Konsole, Gwenview, etc ; actuellement en 20.12) ou gravitant dans la galaxie KDE (comme Digikam ou Krita).

Neon propose également :

  • une édition de test construite à partir des sources des futures versions stables (en gros, les correctifs de la future 5.y.z) ;
  • une édition instable, construite quotidiennement à partir des sources de la branche de développement du dépôt Git ;
  • une édition de développement qui est l’instable avec les paquets de développement préinstallé.
Et KDE Neon LTS ?

Neon propose aussi une édition « LTS », qui est simplement basée sur Plasma LTS1. Qt, Frameworks et Applications sont, par contre, mis à jour comme dans l’édition utilisateur !

Le but du projet est d’être la vitrine des logiciels KDE et donc, sans grande surprise, cette édition est peu utilisée. Mais une édition supplémentaire, et s’éloignant inexorablement des versions courantes, pose des problèmes de maintenance (et je passe sur la confusion et les questions que cela pouvait soulever chez les utilisateurs). Tout ça pour une faible qualité, l’équipe ne testant pas très régulièrement cette édition.

Un premier pas avait été effectué en février 2018 pour cacher le téléchargement de la version LTS. Neon LTS est désormais définitivement enterré avec l’annonce de l’arrêt des mises à jour au 1ᵉʳ juillet 2021.

Migrations possibles

Le projet propose de migrer vers l’édition utilisateur ou vers une distribution plus stable : openSUSE Leap 15.2 ou Kubuntu 20.04, les deux distributions fournissant Plasma LTS depuis leurs dépôts officiels.

  1. Une nouvelle version de Plasma sort tous les quatre mois. Pour allonger la durée de support, KDE supporte certaines versions à long terme. L’actuelle LTS est la 5.18. La précédente LTS était la 5.12 et a été supportée deux ans. 

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Agenda du Libre pour la semaine 16 de l'année 2021

dim, 18/04/2021 - 11:42

N. D. M. : vu le contexte de pandémie de Covid‑19 et les restrictions locales ou nationales (Belgique, France, Québec et Suisse) sur les rassemblements, certains événements sont susceptibles d’être annulés (que les organisateurs aient pensé à mettre à jour l’Agenda du Libre ou non).

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 17 événements (France: 14, Suisse: 1, autre: 1, Belgique: 1) est en seconde partie de dépêche.

Sommaire [autre] Mapathon Missing Maps 2021 - Le lundi 19 avril 2021 de 18h00 à 20h00.

Vous voudriez vous engager pour une cause forte, rencontrer de nouvelles personnes dans le confort de votre foyer et apprendre à cartographier ?

CartONG vous invite à participer à un ou plusieurs mapathons en ligne !

Venez découvrir la cartographie participative et nous aider à cartographier des zones qui n’apparaissent pas encore sur les cartes au Soudan, en Éthiopie, en Mongolie, en Haïti ou autres à partir d’une image satellite sur OpenStreetMap, la carte du monde libre et collaborative !

Pas besoin d’être un·e expert·e, c’est convivial, gratuit et accessible à tout le monde !

Pour vous inscrire, contactez-nous à l’adresse missingmaps@cartong.org ou cliquez sur le lien suivant :https://www.eventbrite.ca/e/133090064967

[FR Brignoles] Visioconférence Groupe Monnaie Libre - Le lundi 19 avril 2021 de 21h00 à 23h00.

Visioconférences Monnaie Libre chaque lundi à 21h !

La Monnaie Libre Ğ1 qu’est-ce que c’est ?

La monnaie libre s’appelle la June : Ğ1. Elle est différente de l’euro. Elle est aussi numérique (seules quelques unités sont imprimées sur des billets), mais surtout, elle est totalement libre. Et même plus encore, nous pouvons la créer !!

Elle correspond un peu à un revenu complémentaire. Elle n’a pas de frontière, elle peut être créée et utilisée là où les gens le souhaitent !

Pourquoi créer une monnaie libre ?

Pour répondre à de nombreux problèmes…

Endettement, surendettement, faillite, spéculation démesurée, corruption, chômage, pauvreté, inégalités sociales croissantes…

En fait, c’est une autre façon de fonctionner en parallèle de l’euro. Une manière d’être un peu plus libre !

Réapprenons à vivre ensemble !

Pour rejoindre la visioconférence il vous suffit de cliquer sur ce lien => https://meet.jit.si/monnaielibre83

Dans la mesure du possible, il est recommandé de vous équiper d’un casque ou micro-casque, cela sera plus agréable au niveau son.

Les premières sessions seront assez généralistes pour présenter la Monnaie Libre et procéder également à l’ouverture de comptes.

Mais nous aborderons également les idées de projets que les membres ont ou pourraient avoir et nous organiserons des séances dédiées.

Par avance merci de partager et pour votre future participation.

Prenez soin de vous et de vos proches.
Amicalement, Francis.

[FR Paris] Émission « Libre à vous ! » - Le mardi 20 avril 2021 de 15h30 à 17h00.

L’émission Libre à vous ! de l’April est diffusée chaque mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande FM en région parisienne (93.1) et sur le site web de la radio.

Le podcast de l’émission, les podcasts par sujets traités et les références citées sont disponibles dès que possible sur le site consacré à l’émission, quelques jours après l’émission en général.

Les ambitions de l’émission Libre à vous !

La radio Cause commune a commencé à émettre fin 2017 sur la bande FM en région parisienne (93.1) et sur Internet.

Depuis mai 2018, l’April anime une émission d’explications et d’échanges sur la radio Cause Commune sur les thèmes des libertés informatiques.

Libre à vous ! se veut avant tout une émission d’explications et d’échanges sur les dossiers politiques et juridiques que traite l’April, et sur les actions qu’elle mène.

Pour les libertés informatiques en général, et pour le logiciel libre en particulier.

Libre à vous ! c’est aussi un point sur les actualités du Libre, des personnes invitées aux profils variés, de la musique sous licence libre, des actions de sensibilisation.

Donner à chacun et chacune, de manière simple et accessible, les clefs pour comprendre les enjeux mais aussi proposer des moyens d’action, tel est l’objectif de cette émission hebdomadaire, qui est diffusée en direct chaque mardi du mois de 15 h 30 à 17 h.

L’émission dispose :

[FR Lyon] OpenStreetMap, rencontre mensuelle (virtuelle) - Le mardi 20 avril 2021 de 18h30 à 20h00.

Discussion entre contributeurs lyonnais du projet OSM et acteurs intéressés.

Toute personne intéressée par OpenStreetMap peut s’intégrer à cette rencontre, tout particulièrement les débutants qui souhaiteraient des conseils pour se lancer.

En raison de la pandémie, il n’est pas possible de se réunir au Tuba : la réunion aura lieu en ligne sur Jitsi Meet à partir de 18h30.

>> Ordre du jour de la réunion sur le wiki OSM

[FR Tours] Permanence ADeTI - Le mardi 20 avril 2021 de 18h30 à 20h30.

La permanence d’ADeTI est un moment d’accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian…)  mais aussi :

  • réparer les problèmes de logiciels sur son ordinateur
  • prendre des conseils pour choisir des logiciels alternatifs
  • différencier les logiciels libres utilisables pour répondre aux besoins
  • préserver et réfléchir sur ses usages (vie privée, éthique…)

Mais c’est aussi un moment consacré pour :

  • partager des connaissances et échanger des savoirs
  • maîtriser les formats ouverts et la pérennité de ses documents
  • Confidentialité, intégrité et disponibilité des systèmes d’information
  • Diversité des alternatives
  • Indépendance

Nous accueillons également des membres de l’association Touraine Data Network et A-Hébergement qui peuvent répondre aux questions concernant Internet, les réseaux et l’hébergement : connexion à Internet, alternatives aux “Box” et aux opérateurs/FAI commerciaux, Neutralité du Net, Vie Privée, Blog, Site Internet/Web…

[BE Saint-Gilles] Info Linux - Atelier du Web - Le mercredi 21 avril 2021 de 09h30 à 12h00.

Longue vie aux Logiciels Libres !

Article de Reporterre : « Microsoft envoie 500 millions d’ordinateurs à la poubelle »
À lire sur : http://www.reporterre.net/spip.php?article5681

C’est l’occasion de venir tester et essayer une distribution GNU/Linux, qui pourra remplacer facilement ce système d’exploitation Windows XP (c), avec tous les avantages liés au monde du « logiciel libre »…

GNU/Linux et les logiciels libres : plus que des mots, venez découvrir et/ou faire installer de manière vivante ce qui va changer votre vision de l’informatique.

Les mercredis de l’atelier du web, TOUS LES MERCREDI chaque mois (sauf les jours fériés, périodes de vacances scolaires)…

Sauf en cas d’urgence tel que confinement
 de 10h00 à 12h00
 où : 37 rue du Fort - 1060 Saint-Gilles

C’est l’occasion pour vous de venir découvrir l’informatique libre et gratuite.
Principales questions, avec les logiciels libres :
Peut-on ouvrir des fichiers Word (c), Excel(c) ou Powerpoint(c) ? Oui
Y a-t-il un support linguistique ? Oui, il y a beaucoup de langues supportées (français, néerlandais, allemand, anglais, espagnol, italien, etc.)

Pour information : les équivalences de logiciels tournant sur Windows(c) et GNU/Linux

Atelier

L’atelier du web, c’est TOUS LES MERCREDI, chaque mois (sauf les jours fériés, périodes de vacances scolaires)…

  • De  9h30 à 12h00
  • où : 37 rue du Fort - 1060 Saint-Gilles

Par prudence il faut vérifier dans l’agenda du bxlug.be

ATTENTION !!!! DANS LE CADRE REGRETTABLE DE LA PANDÉMIE DU COVID-19. L’ATELIER DU WEB ACCEPTE LA PRÉSENCE QUE D’UNE SEULE PERSONNE PAR SESSION DU MERCREDI MATIN.

SUR LE MÊME PRINCIPE UNE AUTRE SESSION PEUT ÊTRE ENVISAGÉE LE JEUDI MATIN.

En conséquence : Il faut prendre rendez-vous au préalable avec moi au 02/347.55.94

Rappel : La permanence du MERCREDI est UNE ACTIVITÉ CONSACRÉE UNIQUEMENT À DE NOUVELLE INSTALLATION (sur PC portable)…

C’est l’occasion pour vous de venir découvrir l’informatique libre et gratuite.

Se préparer

Il est impératif avant l’installation d’une distribution Gnu/Linux. D’effectuer une sauvegarde de TOUS le(s) disque(s) durs et QUE l’installation ai débuté avant 10h30 au plus tard !

DÉSOLÉ, mais CETTE permanence de deux heures de m’oblige à REFUSER TOUTES résolutions de certains problèmes ou conseil technique…
En aucun cas une maintenance ne pourra être assurée ; le SAI (Service Après Installation), pour des conseils pratiques, mise à jour sur les distributions déjà installées, SEULES les LCP peuvent répondre à ces demandes spécifiques…

Éventuellement le JEUDI MATIN à l’atelier du web ou chez Oxfam-informatique pourrait être consacré et réservé à ceux qui auront pris rendez-vous

Contact

Jean-Paul Biérent : jpbxlug[arobase]gmail.com de préférence au 02/347.55.94 ou 0475/918.033 appelez de 9h00 à 12h00 et 15h00 à 18h00.

Une autre LCP est organisée par Oxfam-informatique. Le dernier jeudi de chaque mois de 17h30 à 20h00 « Oxfam Ixelles ») 252, Chaussée d’Ixelles 1050 Ixelles (02/647.48.51) IMPOSSIBLE DANS LE CADRE DU CONFINEMENT…

[FR Gometz le Chatel] CIL Gometz - réunion sujet libre en ligne - Le mercredi 21 avril 2021 de 14h00 à 16h00.

Atelier du CIL de Gometz le châtel en ligne

Le mercredi 21 avril 2021 de 14:00 à 16:00 en ligne sur big blue button

https://bbb.faimaison.net/b/ty--u1l-wsc-p8l

Atelier en ligne du groupe d’utilisateurs du libre du Club Informatique Libre de Gometz.

Chacun apporte les sujets qu’il souhaite aborder.

Possibilité de faire une session de contribution a openstreetmap.

Le lien vers la visio conférence big blue Burton est publié le jour de l’événement

[FR Pougne-Hérisson] Vie Numérique - Meta-Press.es - Le mercredi 21 avril 2021 de 18h00 à 19h00.

Meta-Press.es est une WebExtension pour Firefox en logiciel libre.Meta-Press.es

Elle fonctionne comme un meta-moteur de recherche pour la presse en ligne.

Il fonctionne aussi très bien avec le Tor Browser (qui a été conçu entre autres pour lire la presse de manière plus confidentielle qu’avec un navigateur web ordinaire).

Il fonctionne également sur Android via IceCat Mobile (ou Fennec), installables depuis la logithèque libre F-Droid.org. La version officielle de Firefox pour Android ne supporte pour l’instant pas les permissions optionnelles.

Vous pouvez l’installer depuis le 1ᵉʳ lien de la boîte « Ressources ».

L’extension interroge chaque source (renseignée et sélectionnée) pour vous.

Vous obtenez alors le nombre total de résultats que les sources annoncent avoir sur le sujet, ainsi que les derniers résultats publiés par chaque source.

À chaque requête, l’interface web des sources est parcourue et vous économisez ainsi le temps que les développeurs ont consacré à automatiser le processus.

Mercredi 21 avril 2021 à 18h (17h UTC)
En ligne - 79130 Pougne-Hérisson

Ça m’intéresse, je m’inscris !
Pour participer à ce webinaire, suivez ce lien : https://meet.jit.si/webinaire_montpellibre_vienumerique

[FR Beauvais] Sensibilisation et partage autour du Libre - Le mercredi 21 avril 2021 de 18h00 à 20h00.

Chaque mercredi soir, l’association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l’utilisation des logiciels libres, que ce soit à propos du système d’exploitation Linux, des applications libres ou des services en ligne libres.

C’est l’occasion aussi de mettre en avant l’action des associations fédératrices telles que l’April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

[CA-QC Montréal] Réunion ordinaire du CA de FACIL - Le mercredi 21 avril 2021 de 19h00 à 20h00.

Le conseil d’administration (CA) de FACiL se réunit pour traiter des affaires courantes de l’association.

Par souci de transparence, les réunions du CA sont ouvertes aux membres.

Pourquoi vouloir assister aux réunions

Vous pouvez assister aux réunions, par exemple, si vous souhaitez mieux connaître le fonctionnement de notre association, et/ou rencontrer les administrateurs et administratrices et/ou peut-être faire valoir votre point de vue en personne. Si vous désirez assister à la réunion, merci de nous avertir en écrivant à la personne ressource (Geneviève Bastien), dont l’adresse courriel est indiquée plus bas.

[FR Paris] Soirée de Conversations autour du Libre (SCL) - Usages pédagogiques d’OpenStreetMap - Le jeudi 22 avril 2021 de 20h30 à 22h30.

La soirée de la SCL du jeudi 22 avril aura pour thème educ’osm : usages pédagogiques d’OpenStreetMap

Intervenant : Vinber (Vincent Bergeot)

Éduc’OSM a pour objectif de regrouper dans un “lieu” les divers usages pédagogiques d’OpenStreetMap et de les classer pour en faciliter la découverte.

À destination des partenaires associatifs, universitaires, enseignants et contributeurs OpenStreetMap, basé sur Yeswiki, il s’agit de l’alimenter, toutes les aides sont les bienvenues.

Déroulé :

20h30 : Ouverture du salon Big Blue Button, accueil des participant·e·s, tests de connexion et prise en main de l’interface pour les nouvelles personnes ;
À partir de 21h (et jusqu’à épuisement des participant·e·s) : Intervention puis questions.

La partie centrale, l’intervention proprement dite, fera éventuellement l’objet d’un enregistrement afin de pouvoir être réutilisée par la suite. Les caméras seront alors coupées et il sera possible de poser des questions par écrit.

L’adresse du salon Big Blue Button : https://bbb.parinux.org/b/ca--xgc-4r3-n8z

En cas de problème, un salon de secours est prévu à cette adresse : https://bbb.fdn.fr/b/khr-dd8-jgr-5if

Vous n’avez pas besoin de créer de compte. À votre connexion, vous serez mis·e en salle d’attente jusqu’à ce qu’une personne modératrice valide votre entrée.

Toute proposition d’intervention pour une prochaine SCL est la bienvenue. Vous pouvez proposer des sujets pointus ou grand public.

En espérant vous retrouver en ligne et en attendant patiemment de pouvoir vous retrouver en présentiel !

[FR Cutry] Lab_oh ! - Ateliers découverte GNU/LInux - Le samedi 24 avril 2021 de 09h00 à 11h00.

Tous les samedis matin de 09: 00 à 11: 00.

On découvre, on apprend à utiliser Debian GNU/Linux et tous les logiciels libres qui gravitent autour…

[FR] Entraide Informatique et Découvertes des solutions Libres - Le samedi 24 avril 2021 de 10h00 à 12h00.

Quel que soit le problème, quel que soit votre niveau, quel que soit votre système (Windows, Mac, Linux ou Android) venez prendre un café avec nous et nous tenterons de répondre à vos questions et de régler vos problèmes en visioconférence !

Nous en profiterons aussi pour parler « Sécurité & Hygiène Numérique », « Protection des données personnelles », de vos données en général, d’Informatique “Libre” etc.

Nous vous ferons aussi découvrir le monde du logiciel Libre !

Vous pourrez vous-connecter à partir de 09h45 le samedi 10 avril 2021 à l’adresse : https://nfcg.tv/b/fab-fjv-x3f-irz

Cette séance sera animée par Fabrice, « Généraliste du Numérique » et « Grand Défenseur » d’une informatique Libre et éthique pour toutes et tous !

PS : Vous n’êtes pas obligé de participer à l’intégralité de la visio, la porte est grande ouverte, venez et repartez quand vous voulez (entre 10h00 et 12h00 bien sûr…)

[FR Vandœuvre-lès-Nancy] Initiation à la fabrication additive - Le samedi 24 avril 2021 de 10h00 à 12h00.

Concept de l’Atelier libre

Les usagers de la FCCL sont invités à partager leurs savoirs pour trouver ensemble, une solution à une problématique posée. Toute idée peut être proposée à l’occasion d’un atelier à condition bien sûr qu’elle soit cohérente avec la philosophie de la culture du libre.

Thème du jour

Modélisation d’objets à imprimer, d’abord une courte présentation sur Blender, puis de la pratique avec FreeCAD. L’atelier se terminera par une petite impression.

Horaires

Cette animation se déroule le matin, de 10 h à 12 h.

Inscription aux ateliers

La participation est limitée au nombre de places. Pré-inscription possible depuis le site web.

[CH Lausanne] Intergen Ours - Le samedi 24 avril 2021 de 11h00 à 18h00.

Chaque mois: venez quand vous pouvez, repartez quand vous voulez !

De 7 à 107 ans, journée libre d’entraide numérique intergénérationnelle:

Apporter un peu à boire, à manger et surtout vos équipements numériques. Venez partager vos envies informatiques (site/page web, blog, emailing…), comme vos difficultés…

Intergen est une initiative citoyenne, réalisée par des professionnels de l’informatique, pour apporter des réponses aux questions que nous nous posons tous.

Sur le numérique, le monde des nouvelles technologies, etc. Organisé de manière ouverte et conviviale, un samedi par mois, en toute simplicité.

[FR Marseille] Install Party GNU/Linux - Le samedi 24 avril 2021 de 14h00 à 17h00.

L’association CercLL (CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install party GNU/Linux, le samedi 24 avril 2021 de 14h00 à 17h00, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

Vous avez envie de découvrir un système d’exploitation libre, simple d’utilisation, stable, rapide et sécurisé. Une nouvelle façon d’utiliser votre ordinateur.

Vous vous sentez une affection naissante pour le Gnou et le Manchot, les mascottes de GNU/ Linux.

Au programme:

DÉCOUVERTE de l’univers des logiciels libres.

INSTALLATION d’un environnement GNU/ Linux, ainsi que le meilleur des logiciels libres.

Venez avec votre ordinateur, nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

Ouvert à tous – accessible aux débutant-e-s

Une participation de 2 euros est demandée.

L’adhésion à l’association est de 20 euros annuellement.(L’adhésion n’est pas obligatoire).

Pour garantir la sécurité de chacun, le protocole sanitaire avec respect des mesures barrières restera d’actualité. N’oubliez pas de venir avec votre masque.

Le nombre de personnes présentes dans les locaux sera limité à 6 personnes.

Les inscriptions sont donc recommandées (les inscrits seront prioritaires).

[FR Vandœuvre-lès-Nancy] Premières contributions à OpenStreetMap - Le samedi 24 avril 2021 de 15h00 à 17h00.

Nul besoin d’être expert en géomatique pour contribuer à OpenStreetMap !

Venez donc effectuer quelques contributions basiques à OSM afin d’en saisir le concept général.

Horaires

Cette animation se déroule l’après-midi, de 15 h à 17 h.

Inscription aux ateliers

La participation est limitée au nombre de places. Pré-inscription possible depuis le site web.

[FR Toulouse] Visioconférence Monnaie Libre - Le samedi 24 avril 2021 de 19h00 à 22h00.

On vous propose une série d’apéro présentation en visioconférence:
La Monnaie Libre en Q&R,
Présentation des projets d’Econolibre,
Présentation de projets de monnaie libristes,
Alors notre monde en Monnaie Libre, comment on le fait?

Chaque samedi à partir de 19h à 22h

Cela nous permettra de nous réunir, de voir comment nous supportons cette folie Covid-1984,
De poser des questions sur la monnaie libre et de présenter les nouveaux projets de l’association ECONOLIBRE et des projets d’autres acteurs Monnaie Libre;
de réfléchir aux projets que nous pouvons faire ensemble, et de mieux nous connaître.

Rien de spécial à installer, ça se passera via le site web JitSi:
https://meet.jit.si/econolibre

On pourra décider d’autres dates de réunions-visio en format différent (ateliers, cours, etc…) qui sont proposés par l’équipe d’Econolibre.

Détails de l’association sur notre site: https://econolibre.org

On peut manger pendant les réunions (c’est un apéro).

Un petit TUTO pour expliquer comment utiliser Jitsi:
Tuto Meet Jitsi

(si besoin) Une présentation pour les nouveaux monnaie libristes est faite, qui dure moins de 30mn et sera suivie de questions réponses.

Quelques vidéos de présentation sur notre chaine Youtube: (Econolibre)
chaîne Youtube Econolibre
et sur notre chaine Odysee:
chaîne Odysee Econolibre

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Communiquer avec le serveur depuis un navigateur Web : XHR, SSE et WebSockets

dim, 18/04/2021 - 11:42

Dans cette dépêche, nous allons faire un tour d’horizon de différentes manières de communiquer avec un serveur depuis une application Web, avec un petit peu d’histoire, avant de rentrer plus profondément dans le fonctionnement des WebSockets, que nous allons démystifier. Nous digresserons ensuite à propos de la gestion (problématique) des requêtes longues et de HTTP 2 avec Apache, et nous discuterons d’une manière de limiter la casse. La dépêche contient quelques morceaux raisonnables mais l’absurdité est latente.

Supposons que nous ayons une application Web qui a besoin de recevoir des évènements du serveur pour voir si quelque chose s’est passé. À tout hasard, un jeu de société en ligne. Ce jeu a besoin d’envoyer les coups des joueurs et joueuses, et de recevoir les coups des autres.

Le serveur ne peut pas contacter le navigateur. Celui-ci est peut-être derrière un pare-feu, et de toute façon il n’y a pas de méthode pour cela. Le modèle du web, c’est une requête HTTP de la part du navigateur, et le serveur sert cette requête. Et puis, à la base, une requête = un chargement de page.

Mais des techniques sont apparues pour abuser de ce modèle, puis les standards se sont mis à intégrer des méthodes pour mener ces abus en toute sérénité.

Sommaire AJAX avec XMLHttpRequest Préambule

Au commencement, les utilisateurs saisissaient des adresses, cliquaient sur des liens ou validaient des formulaires, cela engendrait des requêtes HTTP, un (re)chargement de la page et tout le monde était content, les choses étaient claires et simples. Les pages étaient essentiellement statiques.

Puis des gens ont ressenti le besoin de rendre les pages un peu plus dynamiques. Chacun son truc ! Peut-être que ces personnes aimaient les journaux qui bougent dans Harry Potter et se sont pris pour des sorciers. Du coup, JavaScript est apparu.

Mais comme animer des formes, changer des couleurs et faire clignoter des trucs c’est rigolo mais ça va bien deux secondes, il leur a fallu plus et ils se sont mis à développer diverses bidouilles pour communiquer avec le serveur.

Tout d’abord, simple, vous créiez une balise script ou une image vers une adresse spécifique contenant des données à envoyer au serveur et c’est réglé : le navigateur va faire une requête.

Pour recevoir les évènements du serveur, vous pouviez créer des balises <script> à intervalle régulier, avec une adresse source spécifique. Cette adresse renvoie un code JavaScript qui appelle une fonction avec un nom prédéterminé et des données en paramètre de cette fonction. C’est la méthode JSONP. Avouez que ce n’est pas fou : on fait plein de requêtes inutiles, et paie la fluidité de ton jeu en ligne.

Certaines personnes, insatisfaites par la méthode précédente, se sont alors mises à détourner l’élément <iframe>, qui, à la base, servait à afficher une page dans une page (quelle drôle d’idée !). Le serveur pouvait envoyer des éléments <script> dans ces <iframe> pour exécuter du code au gré des évènements. Ça marche, mais bon, il n’y avait pas de manière simple et fiable de gérer les erreurs.

Des gens se sont alors dit qu’on pourrait utiliser des applets Java (ou Flash ? Pourquoi pas ?) pour communiquer avec le serveur. Vous savez, ces extensions qui, dans une ère précédente, permettaient de contourner totalement le modèle de sécurité des navigateurs en exécutant du code avec tous les droits de l’utilisateur de la machine. Là, c’est open bar, vous pouviez communiquer comme vous le vouliez. Mais bon, c’est un parfois un peu lent, moyen pour la sécurité et il faut prévoir de demander aux visiteurs d’installer la bonne extension.

Naissance d’XMLHttpRequest (XHR)

Et là, l’équipe en charge de faire le Webmail d’Outlook chez Microsoft a eu besoin de ce genre de fonctionnalité. Un weekend, Alex Hopmann, de cette équipe, lança Visual Studio, écrivit un composant qui permettait de communiquer avec le serveur. Et là, il fallait trouver un moyen de ne pas devoir installer ce composant pour pouvoir utiliser la version Web Outlook : tout l’intérêt était de pouvoir consulter ses mails sur n’importe quel ordinateur équipé d’un navigateur et d’une connexion internet sans rien installer. Il était proche de l’équipe développant MSXML, une bibliothèque de chez Microsoft pour faire le XML. Rien à voir avec les communications avec le serveur, mais Alex Hopmann réalisa que MSXML allait être livré avec Internet Explorer, un navigateur de Microsoft un peu omniprésent à l’époque. Un peu comme Google Chrome aujourd’hui si vous voulez. Mais je digresse.

Et donc, il alla toquer à la porte de l’équipe en charge de MSXML et leur demanda s’ils pouvaient embarquer le composant, alors que la bêta 2 de la version d’Internet Explorer d’alors était sur le point d’être livrée (YOLO). « OK, c’est cool », lui répondit-on, « mais nomme-le XML-machin, ou un truc comme ça, sinon ça ne passera jamais les revues ». Ce qu’Alex fit. De toute façon, XML c’était vachement à la mode donc ça faisait bien d’avoir XML dans le nom même si ça n’avait rien à voir. Et XMLHttpRequest est né comme une partie d’un composant ActiveX dans Internet Explorer.

Par la suite, il a été adopté par les autres navigateurs qui ont décidé de garder le nom. Puis, c’est devenu un standard, tel quel. Et si en plus du fait que XML est hors sujet, le fait qu’il soit en majuscules alors qu’Http, le concept quand même central de cet objet, ne le soit pas, vous titille, eh bien c’est comme ça et vous feriez mieux de vous y faire, il y a quand même des problèmes plus importants dans la vie.

Et puisqu’il faut un terme branché pour désigner tout ce mécanisme de mettre à jour la page avec des nouvelles données sans recharger la page en entier (truc de fou à l’époque !), le concept d’AJAX est né (Asynchronous JavaScript And XML - hé hé oui, on ne se débarrasse pas deXML comme ça, même dans le terme répandu, même quand XML n’est pas du tout impliqué. Parce que si des gens font bien transiter du XML de temps en temps, bien souvent, on utilise du JSON. Bien joué, Alex !).

De toute façon, maintenant il ne faut plus parler d’AJAX, il vaut mieux parler d’API REST et de PWA ou de SPA (non, ça n’a rien avoir avec les bains à remous ou les obstacles de saut équestre) ; ça sonne quand même mieux ces derniers temps. XML c’est moyen, tout le monde trouve ça verbeux et pénible un peu comme cette dépêche, ce n’est bon que pour faire du XMPP et pour les développeurs Java qui utilisent encore Maven. Mettez-vous au goût du jour et utilisez JSON et YAML. Utilisez les bons mots-clés de votre époque, vous n’êtes plus au début des années 2000 par Toutatis. (Note : il serait intéressant de présenter REST mais la notion mériterait un article dédié.)

Enfin bon, revenons à notre pote XMLHttpRequest avec son nom doucement rétro (bon, OK, j’en fais des tonnes).

XMLHttpRequest, comment ça marche ?

On crée un objet XMLHttpRequest, on lui indique l’URL de la page à télécharger, la méthode HTTP à utiliser pour la requête (GET ou POST), on paramètre les en-têtes HTTP qu’on veut, puis on envoie la requête avec éventuellement les données POST qu’on veut.

On peut alors suivre l’état de la requête en suivant l’évènement readystatechange : la connexion a été ouverte, réception en cours et réponse complètement reçue. On peut récupérer les données pendant la réception et/ou une fois la réponse reçue, vérifier le statut HTTP. On a un contrôle très fin.

On peut lancer des requêtes pour envoyer des données au serveur, mais on peut aussi envoyer une requête de longue durée (long polling) et lire les données qui arrivent au fur et à mesure. C’est tricky mais possible (vous pouvez passer sans problème le code, il est là pour les gens qui aiment les détails techniques) :

const xhr = new XMLHttpRequest(); xhr.open("POST", Conf.API_ENTRY_POINT, true); xhr.setRequestHeader("Content-Type", "text/plain"); xhr.send(JSON.stringify(data)); let currentIndex = 0; let expectedLength = 0; xhr.onreadystatechange = function () { if (xhr.readyState === 3) { // des données arrivent while (true) { if (!expectedLength) { let i = currentIndex; // On récupère la taille du message qui arrive while (i < xhr.responseText.length) { if ("0123456789".indexOf(xhr.responseText.charAt(i)) === -1) { expectedLength = parseInt(xhr.responseText.substring(currentIndex, i)); currentIndex = i; break; } ++i; } } if (expectedLength && (xhr.responseText.length >= currentIndex + expectedLength)) { const end = currentIndex + expectedLength; let msgs; try { msgs = JSON.parse( xhr.responseText.substring( currentIndex, end ) ); currentIndex = end; expectedLength = 0; } catch (e) { // Gérer l'erreur json // on ne doit pas continuer à chercher à lire des messages sur // cette connexion xhr.abort(); // se reconnecter ou demander à l'utilisateur de rafraichir // sa page return; } handleReceivedMessages(msgs); } else { break; } } } else if (xhr.readyState === 4) { // La connexion est fermée, il faut gérer la reconnexion } };

Un peu tricky oui, et peut-être difficile à suivre, mais globalement ça marche (c’est un extrait un peu adapté du code de Trivabble, ça tournait comme ça jusqu’au début de l’année dernière et c’est toujours dispo en solution de repli si tout échoue).

Aujourd’hui, pour les requêtes courtes, on pourrait utiliser la nouvelle API fetch, qui permet de faire des requêtes de manière simple, moins verbeuse, avec des belles promesses JavaScript à la mode. Mais le principe reste le même et tout ce que peut faire fetch peut être fait avec XMLHttpRequest et quand on utilise déjà XMLHttpRequest dans un code pour les requêtes longues, l’intérêt d’utiliser fetch pour les requêtes courtes n’est pas toujours si clair selon l’organisation du code, d’autant que cela casse la compatibilité avec les navigateurs anciens [1].

Revenons à notre jeu de société : XMLHttpRequest permet d’arriver à nos fins : pour envoyer des évènements aux serveurs, on fait des requêtes classiques avec XMLHttpRequest, et pour en recevoir, on lance une requête de longue durée, et on reçoit les messages du serveur au fur et à mesure, plus ou moins en temps réel parce que l’évènement readystatechange est généré à chaque fois qu’on reçoit des données [2].

Par contre, il faut se payer la gestion de la séparation des messages. Rien ne garantit qu’on va recevoir chaque message en un coup. Il « suffit » donc d’utiliser un séparateur (par exemple un ou deux retours à la ligne) ou de préfixer chaque message par sa taille, et de garder trace de l’indice du prochain message à lire en mémoire. Un peu pénible, sujet à erreur, mais faisable.

Les Server-Sent Events à la rescousse

Maintenant que le monde tourne dans le navigateur et que tout le monde écrit son application avec les technologies du Web, les requêtes longue durée sont bien évidemment devenues très répandues. Alors les développeurs de navigateurs et les organismes de standardisation du monde du Web, qui sont en fait essentiellement les mêmes personnes, se sont dit que ça serait bien de proposer une solution propre qui permettrait que les gens ne réinventent pas la roue à chaque fois.

Naissent donc les Server-Sent Events (SSE). Et comme le monde passe par les ports 80 et 443 et emballe tout dans de la requête HTTP pour faire plaisir aux différents NAT, pare-feux et autres serveurs mandataires d’entreprise retors, les SSE prennent la forme d’une requête HTTP longue durée avec un type de contenu (Content-Type) spécifique : text/event-stream. Ce format de données consiste en une suite d’évènements séparés par deux retours à la ligne. Grosso modo, chaque évènement est composé de plusieurs lignes clé:valeur, dont deux qui nous intéressent : la clé event, qui donne un nom à l’évènement (optionnel), et la clé data dans laquelle vous placez les données de l’évènement.

Dans les navigateurs, un bel objet EventSource permet de se connecter à un tel flux d’évènements, de s’y reconnecter de façon transparente en cas de perte de connexion et de récupérer chaque message facilement en surveillant l’évènement message de cet objet. Plus besoin de gérer soi-même la séparation des messages et de garder en mémoire tout le contenu de la requête. Ce sont ces deux points qui font tout l’intérêt de cette nouvelle méthode de communication par rapport à une requête longue classique. Un petit exemple d’utilisation :

const connection = new EventSource("/api/sse/"); connection.onmessage = function (e) { let msg; try { msg = JSON.parse(e.data); } catch (e) { // penser à gérer les échec de parsing JSON et couper la connexion // si ça arrive connection.close(); return; } handleReceivedMessage(msg); }; connection.onerror = function (e) { // gérer l'erreur, demander à l'utilisateur de rafraîchir la page par exemple };

Un peu plus clair que le code qui fait du long polling avec XmlHttpRequest, n’est-ce pas ?

Pour les quelques navigateurs perdus encore en circulation qui n’implémenteraient pas EventSource (ahem IE et l’ancien Edge ahem), il est tout à fait possible de l'implémenter soi-même à base de XMLHttpRequest. Il faudra juste garder à l’esprit que la requête entière sera gardée en mémoire.

Les WebSockets Introduction parce qu’il en faut bien une

En même temps que les SSE, les WebSockets font leur apparition dans les navigateurs. Petite frise chronologique :

  • mars 1999 : XMLHttpRequest apparait accidentellement dans Internet Explorer 5. Début de la pente glissante que nous dégringolons encore. Ne blâmons pas Microsoft, s’ils n’avaient pas commencé, d’autres l’auraient fait. Ils nous ont peut-être épargné des solutions à base d’iframe, ou pire, de Java et/ou Flash pendant la première décennie de ce millénaire ;
  • 2010-2011 : apparition des WebSockets et des SSE dans les versions stables des différents navigateurs. En tout cas, dans Firefox, Safari et Chrome. Internet Explorer n’implémente jamais les SSE, et une implémentation des WebSockets arrive doucement en 2012 dans une version qui sera adoptée bien plus tard de toute façon ;
  • 2006 : apparition des SSE dans Opera de manière expérimentale. Pourquoi l’avoir mis après 2011 ? Parce que les développeurs d’Opera ont utilisé une machine à voyager dans le temps pour l’implémentation de cette fonctionnalité. Si vous vouliez lire de l’histoire correcte, vous auriez dû ouvrir un livre d’histoire. Si quoi que ce soit décrit dans cette dépêche ressemblait plus ou moins à des évènements qui se sont vraiment passés, ce serait purement fortuit. Vous êtes prévenu·e.

WebSocket est un acronyme récursif pour a WebSocket is not a socket, at all [3]. Alors, quel est le point commun avec un socket classique, s’il y en a un ? C’est la communication dans les deux sens, ce que ne permettent pas les autres techniques.

Intérêt

Les quatre points intéressants des WebSockets que je vois sont les suivants :

  1. on ne se paie plus le coût d’une connexion HTTP (établissement de la connexion TCP, puis TLS (de nos jours), envoi et réceptions des en-têtes HTTP) à chaque fois que l’on veut envoyer une donnée. Cela réduit les délais et les quantités de données transmises ;
  2. ordonnancement des messages : on peut avoir un dialogue entre le navigateur et le serveur et les messages arrivent, partent et sont traités dans un ordre prévisible, dans un même canal de communication ;
  3. transferts de message binaires faciles (même si finalement, avec XHR, ça se fait aussi) ;
  4. Comme avec les SSE et contrairement à XHR, le découpage des communications se fait par messages de taille arbitraire.

Pour le deuxième point, considérez le cas suivant : dans notre jeu de société, un joueur pose une pièce sur un plateau. Sans les WebSockets :

  1. Une requête HTTP est envoyée pour avertir le serveur.
  2. Le serveur répond OK à la requête, puis,
  3. transmet le déplacement à tous les joueurs, y compris celui qui a joué, par simplicité. Ce déplacement est reçu par le joueur via la requête de longue durée.

Sauf que dans la vraie vie, le déplacement peut être reçu avant la réponse OK par le joueur. Si le jeu est codé avec les pieds (ça arrive, en cas de tendinites aux deux bras par exemple), cela peut entraîner des bugs intéressants et difficiles à reproduire surtout en local pendant le développement, comme une disparition inopinée de la pièce. Je dis ça, c’est totalement théorique, hein, je n'aurais jamais codé moi-même un truc pareil ! (Ah, bah si. Oups)

Avec les WebSockets :

  1. Le joueur envoie le coup par la WebSocket
  2. Le serveur répond ok dans la WebSocket
  3. Le serveur envoie le déplacement à tous les joueurs, dont à ce joueur à travers cette même WebSocket.

Dans ces conditions, il faut vraiment une gestion horrible des évènements côté client pour recevoir le OK après le déplacement.

Donc pour résumer : pourquoi les WebSocket c’est intéressant ? Communication à deux sens plus efficace et plus prévisible. Mais alors, y a-t-il des inconvénients ? Oui. Déjà, certains proxys peuvent ne pas être compatibles (on verra pourquoi dans la partie suivante), et les WebSockets peuvent demander des configurations spécifiques côté serveur et c’est facile de se planter.

Du coup, si vous n’avez pas besoin d’une communication à deux sens, utilisez plutôt AJAX (SSE, XHR, fetch, comme vous voulez), votre vie probablement sera plus simple.

Comment ça marche ?

L’idée des WebSockets a certainement démarré avec une conversation de ce style.

  • Ce serait quand même bien d’avoir un mécanisme de communication dans les deux sens sur le web, sans se payer le coup des requêtes HTTP, et de pouvoir aussi balancer du binaire.
  • Un peu comme des sockets, mais pour le Web ?
  • Oui, exactement !
  • T’es fou, avec tous ces proxys, ces NAT et ces pare-feux dans tous les sens ça ne va jamais marcher, non ?
  • Bah, tu connais déjà la solution à ce problème ! On fait comme d’habitude…
  • On emballe dans une requête HTTP ? Mais c’est horrible, non ?
  • Pas le choix ! Hé hé.
  • Mais et les ports ? Et la communication dans les deux sens ? HTTP, c’est un aller, puis un retour, je te rappelle !
  • Les ports, on s’en fiche ! On peut utiliser des URLs, c’est bien plus pratique que des nombres qui n’ont pas de sens. Pour la communication dans les deux sens, j’ai ma petite idée…
  • J’ai peur d’avance…

Vous l’aurez deviné, une connexion par WebSocket commence comme une connexion HTTP. Ensuite, un mécanisme de négociation permet de se débarrasser d’HTTP et de commencer une communication à deux sens.

Note : ce qui suit est technique. Vous pouvez passer la section sans problème. Vous n’avez pas besoin de connaître ces mécanismes en détails pour utiliser les WebSockets : il existe des bibliothèques pour cela, et l’objet WebSocket des navigateurs fait tout le travail pour vous.

Début des négociations

La connexion WebSocket est toujours démarrée par le client / navigateur. Le serveur peut accepter les connexions. Le client se connecte au serveur et envoie des en-têtes HTTP classiques, et ceux-ci :

GET /api/websocket Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Sec-WebSocket-Version: 13

Le serveur, reconnaissant les entêtes Connection: Upgrade et Upgrade: websocket, répond par le statut 101 indiquant qu’il veut bien changer de protocole pour gérer la WebSocket, en passant également les entêtes Connection et Upgrade. Il construit aussi une chaîne à partir clé de l’entête Sec-WebSocket-Key en appliquant des opérations définies par le protocole et met cette chaîne dans l’entête Sec-WebSocket-Accept :

HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

À quoi sert cet échange de clé dans les entêtes Sec-WebSocket-Key et Sec-WebSocket-Accept ? Ça a l’air un peu superflu, mais c’est une mesure de sécurité qui permet de montrer au client que le serveur comprend bien qu’il a affaire à une WebSocket.

Note : on remarque qu’ici, la requête se fait en HTTP 1.1. Il existe également une norme pour faire des WebSocket à l’aide d’une requête HTTP 2, la RFC 8441. Il n’existe pas (encore), à ma connaissance, la possibilité de faire des WebSocket sur HTTP/3, qui ne s’appuie d’ailleurs pas sur TCP.

Une fois cet échange initial effectué, le serveur et le client vont pouvoir s’échanger des messages dans des frames WebSocket, le canal est bidirectionnel. À charge du client et du serveur de n’envoyer que des messages que l’autre attend, comme pour n’importe quelle connexion par socket finalement.

Il est important de réaliser que les WebSocket sont bien implémentées au-dessus de TCP (cela pourrait changer à l’avenir). L’implication la plus évidente pour moi c’est que ça permet de faire des trames (frames) de taille variable. Ces trames sont composées d’un entête indiquant leur type et leur taille, et du message lui-même.

On ne rentrera pas dans le détail ici (la doc est là pour ça ☺), mais notons qu’il existe différent types de frames :

  • les trames pong, qui ne contiennent pas de message mais qui permettent d’éviter que la connexion soit coupée par les intermédiaires pour cause d’inactivité (une sorte de keep-alive, quoi - et non, je ne sais pas pourquoi le keep-alive de TCP ne suffisait pas) ;
  • les trames ping, qui permettent de demander à l’autre d’envoyer un pong (d’ailleurs, un pong peut-être envoyé sans que l’autre ait envoyé de ping)
  • les trames contenant la fin d’un message (et ça peut être le message entier s’il n’y avait pas de bout de message avant) ;
  • les trames contenant le bout d’un message, dans ce cas le serveur doit s’attendre à une suite ;
  • les trames de fin de fin de connexion, demandant à celui qui reçoit le message de fermer la connexion et d’ignorer quoi que ce soit qui pourrait suivre.

Les messages pas trop longs pourront tenir en une seule trame. Pour les trames contenant un (bout de) message, un code indique si c’est du texte (en UTF-8) ou du binaire quelconque (et donc oui, il faut implémenter l’UTF-8 si on implémente soi-même les WebSockets. Mais ça va, UTF-8 a été conçu en un soir à une table de resto en 1992).

Donc en résumé, ça se passe comme ça :

  • Navigateur : Salut, une petite WebSocket, ça te dit ?
  • Serveur : Ouais ouais, carrément !
  • … et c’est parti pour un échange bidirectionnel endiablé

Je vous passe le code côté serveur, vous utiliserez probablement une bibliothèque répandue pour votre langage de programmation préféré, mais si la curiosité vous pique, il y a la page Wikipedia anglaise qui est intéressante, la doc MDN assez complète et une implémentation simplissime en JavaScript dans Trivabble largement inspirée de cet article.

Côté navigateur, ce n’est pas si différent de EventSource, on sent une certaine cohérence dans la conception des API (attention cependant, pas de reconnexion automatique contrairement à EventSource !) :

const connection = new WebSocket("/api/ws/"); connection.onmessage = function (e) { let msg; try { msg = JSON.parse(e.data); } catch (e) { // penser à gérer les échecs de parsing JSON et couper la connexion // si ça arrive connection.close(); return; } handleReceivedMessage(msg); }; connection.onerror = function (e) { // gérer l’erreur, demander à l’utilisateur de rafraîchir la page par exemple }; // Pour envoyer un message : connection.send('{"command": "hello"}');

Et donc, oui, il est assez simple de partager le code si vous voulez gérer les deux types de connexion, en utilisant l’un comme une solution de repli quand l’autre n’est pas gérée ou échoue pour une raison x ou y. D’ailleurs, il est facile de casser le fonctionnement des WebSockets en configurant mal son serveur mandataire (proy), qui doit lui-même prendre en charge les WebSockets. En effet, il faut généralement une configuration explicite sur les chemins qui impliquent des WebSockets, par exemple pour Nginx, même s’il y a probablement moyen d’avoir une configuration qui gère ça automatiquement :

location /api/ws/ { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; # Bien demander du HTTP 1.1 proxy_set_header Upgrade $http_upgrade; # Bien passer l’entête Upgrade proxy_set_header Connection "Upgrade"; # Bien configurer l’entête Connection proxy_set_header Host $host; # on garde l’hôte aussi, au cas où l’applicatif derrière s’en serve } Digression sur les connexions longues, HTTP2 et Apache

Le mélange de ces trois ingrédients peut mal se passer, de manière assez spectaculaire (la raison 3 va vous étonner et… allez, j’arrête, ça suffit). Apache est un serveur conçu dans les années 90, quand les navigateurs faisaient rarement beaucoup de connexions à la fois, et ne faisaient pas de connexions longues, et quand il y avait également moins souvent beaucoup de connexions simultanées à un même serveur. Les usages ont un peu changé depuis, comme vous avez certainement pu le constater en observant le monde trois secondes. De plus, il s’agit surtout d’un serveur HTTP auquel on a ajouté la possibilité de faire serveur mandataire. À contraster avec NGINX, plus récent (et donc architecturé avec les usages de maintenant en tête), qui est, pour ne presque pas caricaturer, un serveur mandataire qui peut également faire serveur HTTP (à tel point qu’il est fréquent de mettre Apache derrière NGINX pour avoir un serveur HTTP avec des fonctions avancées et un truc qui dépote pour gérer les connexions – le combo gagnant !).

Et du coup, si NGINX gère sans problème vos requêtes longues, avec Apache, ce n’est pas forcément la même histoire. Pour caricaturer, quand NGINX est capable, avec un processus, de surveiller un paquet de connexions et de se réveiller quand il se passe un truc sur l’une d’elles, Apache, historiquement, dédie un processus par connexion. Il est maintenant possible d’approcher le fonctionnement de NGINX en configurant la manière dont les connexions sont gérées, et notamment adopter le module multi-processus event et être très attentif à ses différents paramètres de configuration, gérant notamment le nombre maximal de processus et de requêtes traitées par processus.

Mais voilà, avec HTTP 2, qui permet de multiplexer complètement plusieurs requêtes (au lieu d’avoir le truc complètement séquentiel qu’on a avec HTTP 1.1), l’histoire ne s’arrête pas là. La documentation d’Apache appelle à la prudence :

Activer HTTP/2 sur votre serveur Apache a un impact sur la consommation de ressources, et si votre site est très actif, il est conseillé d’en prendre sérieusement en compte les implications.

HTTP/2 attribue à chaque requête qu’il reçoit son propre thread de travail pour son traitement, la collecte des résultats et l’envoi de ces derniers au client. Pour y parvenir, il lui faut lancer des threads supplémentaires, et ceci constituera le premier effet notable de l’activation de HTTP/2.

Dans l’implémentation actuelle, ces threads de travail font partie d’un jeu de threads distinct de celui des threads de travail du MPM avec lequel vous êtes familier.

Donc on a les paramètres du module multi-processus, et en fait il y a encore d’autres paramètres qui règlent le fonctionnement d’HTTP/2 ! Bref, difficile de configurer tout ça correctement.

Alors, que se passe-t-il si on n’a pas une configuration adaptée ? HTTP 2 ou pas, et requêtes longues ou pas si on atteint un maximum quelque part, Apache va simplement mettre les requêtes en attente. Pour les utilisateurs et les utilisatrices, c’est une interface qui ne répond plus, ou une page blanche qui n’en finit pas de se charger. Avec aucune possibilité pour l’application de l’avertir, puisque… le serveur ne veut plus rien savoir.

Avec des requêtes longues, c’est facile d’atteindre les maxima, bien sûr, puisqu’un fil d’exécution leur sont dédiées, et avec HTTP 2, c’est encore pire à cause de ces problèmes de paramétrage compliqués et de ces fils d’exécutions dédiés pour le multiplexage. De plus, les navigateurs, en HTTP 1.1, se limitent avec leur configuration par défaut à 6 connexions simultanées vers chaque hôte. Ce n’est pas le cas en HTTP 2, et donc peuvent surcharger plus facilement un serveur si celui-ci ne gère pas bien les connexions simultanées. Du coup, si votre application a beaucoup de ressources à charger au démarrage et qu’elle fait des requêtes vers l’API à la pelle, c’est vite la mort.

En plus, c’est pernicieux, parce que pendant le développement, quand vous êtes seul·e sur votre machine, il est probable que tout semble fonctionner correctement et les problèmes n’arrivent même pas forcément immédiatement lors de la mise en production, mais un peu après quand les visiteurs arrivent en masse et — incroyable mais vrai — utilisent votre application.

Damage control: le BroadcastChannel

Pour moi, la première mesure à appliquer si on peut le faire, c’est de passer à NGINX si on doit gérer des requêtes longues : l’outil est fait pour gérer ça. Si on doit rester sur Apache, bien gérer ses paramètres et éventuellement éviter HTTP 2 (ce qui est dommage, parce que ça permet des communications plus efficaces sinon, mais on préfère vite pas idéal à échec spectaculaire).

Par ailleurs, si votre application est susceptible d’être ouverte dans plusieurs onglets en même temps (parce qu’elle permet d’afficher des documents, par exemple), maintenir une connexion par onglet n’est pas idéal : vous pouvez facilement réduire la charge que vous imposez à votre serveur et à vos utilisateurs en vous limitant à une connexion pour tous les onglets. Ça utilise moins de bande passante et ça monopolise moins de fils d’exécution sur le serveur, surtout si Apache est utilisé.

Les onglets peuvent communiquer entre eux en utilisant BroadcastChannel (et, oui, les onglets peuvent communiquer entre eux, j’ai été surpris de découvrir ça l’année dernière). Un message envoyé dans un canal sera reçu par tous les onglets écoutant ce même canal. Un onglet est choisi (par élection de leader) pour se connecter au serveur et vous pouvez alors dispatcher les messages reçus du serveur à tous les onglets, ou aux onglets concernés.

C’est ce qu’on utilise dans Tracim, à travers la bibliothèque broadcast-channel, qui fourni une rustine (polyfill) pour les navigateurs ne fournissant pas une implémentation native et qui fournit également un mécanisme d’élection de leader super simple à utiliser.

Conclusion

Vous êtes toujours là ? Bon, d’accord, concluons. Si vous lisez encore, c’est vous pouvez lire n’importe quoi à ce stade alors allons-y gaiement.

Pour résumer, des gens ont conçu un super système pour partager des documents inter-liés. Ensuite, des gens ont trouvé que faire des trucs qui clignotent dans des documents c’est rigolo. De fil en aiguille, on est arrivé avec des problèmes compliqués de pages blanches qui n’en finissent plus de charger, tout ça parce que quelqu’un qui voulait, dans un monde de plus en plus instantané, lire ses mails sans rafraîchir sa page, a soudoyé l’équipe voisine pour ajouter des trucs qui n’avaient rien à faire dans une visionneuse de documents, dans celle qui était à l’époque tristement en situation de monopole. Du coup, pour rester « pertinent », les potes concurrents ont adopté ces trucs. Bien plus tard, des gens ont cherché (et trouvé, c’est ça le pire !) des solutions sur-sophistiquées pour faire communiquer des documents magiques entre eux sans tout faire péter. Aujourd’hui, ont fait un tas de trucs avec ces visionneuses de documents devenues des systèmes d’exploitation entiers, et de temps en temps on lit des documents avec. Désactiver certaines fonctionnalités de ces visionneuses et bloquer les trois quarts de ces documents permettent de retrouver la fluidité et le zen d’antan. Ou des pages blanches, quand ces documents sont devenus, par inadvertance, des applications.

Et le pire dans tout ça, c’est qu’il y a des gens pour raconter tout ça dans des dépêches impossiblement longues.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Créer le paquet Pétrolette pour Yunohost

dim, 18/04/2021 - 09:55

J’ai récemment découvert comment créer un paquet YunoHost avec l’application Whitebophir (présenté ici même. Suite à la dépêche sur Pétrolette et voyant dans les commentaires une demande pour un paquet YunoHost, je me dis que c’est l’occasion.

Sommaire Présentation de Yunohost

Le projet YunoHost a déjà été présenté plusieurs fois sur linuxfr mais pour rappel :

YunoHost est un système d’exploitation qui vise à simplifier autant que possible l’administration d’un serveur pour ainsi démocratiser l’auto-hébergement tout en restant fiable, sécurisé, éthique et léger. C’est un projet de logiciel libre maintenu exclusivement par des bénévoles. Techniquement, il peut être vu comme une distribution basée sur Debian GNU/Linux et peut s’installer sur de nombreux types de matériel.

Installation de Pétrolette en local

Dans un premier temps, on vérifie comment s’installe l’application ciblée et quelles sont les possibilités d’installation. Il faut notamment savoir s’il est possible de :

  • configurer le/les ports de l’application ;
  • installer l’application sur un sous chemin du domaine ;
  • installer plusieurs instances de l’application sur la même machine ; 
  • s’installer derrière l’authentification de YunoHost.

Dans notre cas, l’application n’a aucun système d’authentification et peut donc se mettre facilement derrière le portail captif de YunoHost. En revanche, on ne peut pas installer l’application dans un sous-répertoire du domaine ni choisir le port de l’application. Ce dernier point empêche donc aussi l’installation de plusieurs instances. Heureusement, une pull request rapidement acceptée corrige ce dernier point.

Création du paquet YunoHost

YunoHost propose une documentation plutôt bien fournie pour créer un nouveau paquet. Un dépôt d’exemple est aussi disponible comme base de travail.

L’architecture

Un paquet YunoHost est une collection de scripts bash associés à des templates de configuration suivant une architecture bien définie. À la racine, un fichier manifest.json, un dossier scripts et un dossier de configuration. Un dossier sources peut être ajouté contenant d’éventuels correctif mais n’est pas utile dans notre cas.

├── check_process ├── conf │ ├── app.src │ ├── nginx.conf │ └── systemd.service ├── issue_template ├── LICENSE ├── manifest.json ├── README_fr.md ├── README.md └── scripts ├── backup ├── _common.sh ├── install ├── remove ├── restore └── upgrade manifest.json

C’est la définition du paquet, il comprend les informations comme le nom, la description et la licence de l’application ainsi que les informations demandées lors de l’installation.

Dans notre cas, l’application ne s’installe qu’à la racine d’un domaine, donc on demande simplement le domaine où installer l’application et si celle-ci doit être accessible publiquement.

{ "name": "Petrolette", "id": "petrolette", "packaging_format": 1, "description": { "en": "The news reader that doesn't know you", "fr": "La page d'actu qui ne sait rien de toi" }, "url": "https://framagit.org/yphil/petrolette", "version": "1.2.5~ynh1", "license": "GPL-3.0-only", "maintainer": [{ "name": "oiseauroch.", "email": "xxx@xx.xx" }], "requirements": { "yunohost": ">= 4.1.0" }, "multi_instance": true, "services": [ "nginx" ], "arguments": { "install" : [ { "name": "domain", "type": "domain", "example": "domain.org" }, { "name": "is_public", "type": "boolean", "default": true, "help" : { "fr" : "Cette page sera accessible par n'importe qui. En revanche, la configuration reste personnelle", "en" : "The page will be accessible by anyone." } } ] } } Le dossier de configuration

Celui-ci contient au moins un fichier app.src contenant l’adresse et le checksum de l’application. Il contient aussi les templates de configuration. YunoHost utilise nginx comme reverse-proxy et DBus pour le lancement des applications. Il faut donc au minimum un template pour nginx et un pour systemd.

Les scripts

Écrits en bash, les scripts permettent d’effectuer les opérations (installation, suppression, sauvegarde…) sur l’application. Afin de simplifier la vie du mainteneur et de normaliser ces opérations, YunoHost mets à disposition de nombreux helper.

Pour notre script install par exemple, on va dans un premier temps sourcer notre helper ainsi que ceux de YunoHost et s’assurer de retourner dans un état stable en cas d’erreur.

source _common.sh source /usr/share/yunohost/helpers # Exit if an error occurs during the execution of the script ynh_abort_if_errors

Ensuite, on récupère les arguments du manifest. Ceux-ci sont nommés par convention $YNH_APP_ARG_NOM-DANS-LE-MANIFEST. On définit aussi le chemin de l’application pour l’instant en dur étant donné qu’il ne peut s'installer qu’à la racine. Les variables domaine, is_public, app et path_url sont aussi des conventions qu’il convient de respecter parce qu’elles sont recherchées par défaut dans certains helpers.

domain=$YNH_APP_ARG_DOMAIN is_public=$YNH_APP_ARG_IS_PUBLIC app=$YNH_APP_INSTANCE_NAME path_url="/"

Vient après la définition du dossier de l’application appelé final_path lui aussi par convention. YunoHost m’indique que pour une application possédant un serveur web, le chemin est par défaut /opt/yunohost/$app. Cette opération étant la première à pouvoir prendre du temps, on indique un message de log qui sera visible pendant d’installation.

ynh_script_progression --message="Validating installation parameters..." final_path=/opt/yunohost/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" # Register (book) web path ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url

Yunohost stocke les informations d’installation des applications dans le dossier /home/yunohost.conf sous forme de yaml. Bien entendu, on n’édite pas nous-mêmes ces fichiers, mais on passe par d’autres helpers.

ynh_script_progression --message="Storing installation settings..." ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path_url --value=$path_url

YunoHost utilise un utilisateur différent pour chaque app installée, créons-le.

# Create a system user ynh_system_user_create --username=$app --home_dir=$final_path

Viennent les parties plus spécifiques à notre application. Notre application utilise son propre serveur web, donc on cherche un port disponible (deux dans notre cas) puis on installe les dépendances. Pétrolette se base sur nodejs qui est une dépendance fréquente. YunoHost propose donc un helper spécifique pour gérer les différentes versions de node et appeler la bonne pour chaque application.

# Find an available port port=$(ynh_find_port --port=8001) https_port=$(ynh_find_port --port=8002) ynh_app_setting_set --app=$app --key=port --value=$port ynh_app_setting_set --app=$app --key=https_port --value=$https_port ynh_install_nodejs --nodejs_version=$NODEJS_VERSION

Nous en sommes à l’installation proprement dite. Pétrolette utilise bower qui stocke des informations dans le répertoire de l’utilisateur courant. L’installation étant réalisée en root, il faut changer son répertoire pour stocker ces informations dans le répertoire de l’application.

ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_setup_source --dest_dir="$final_path" pushd $final_path # use custom home value to avoid bower storing values in root and have right errors TMP_HOME=$HOME HOME=$(pwd) ynh_use_nodejs ynh_npm install HOME=$TMP_HOME popd chown -R $app:$app $final_path chmod -R o-rwx $final_path

Pour finir, on s’occupe de l’intégration à YunoHost. On applique le template de Nginx et D-bus et on l’intègre au portail captif. C’est là qu’on est heureux d’avoir respecté les conventions pour les noms de variables, on a ainsi qu’à lister nos variables spécifiques à remplacer.

ynh_add_nginx_config yunohost service add $app --description="The news reader that doesn't know you" --log="/home/yunohost.app/${app}/storage/logs/petrolette.log" ynh_add_systemd_config --others_var="port ynh_node_load_PATH" ynh_systemd_action --service_name=$app --action=start --log_path=systemd if [ $is_public -eq 1 ] then # unprotected_uris allows SSO credentials to be passed anyway. ynh_permission_update --permission="main" --add="visitors" fi ynh_systemd_action --service_name=nginx --action=reload

Notre script est terminé. Les autres scripts suivent le même principe. On remarque que, dans notre cas, une grande partie de notre script est générique. On se dit donc qu’une bonne partie est encore automatisable mais toutes les applications ne sont pas aussi simples à installer et le projet s’améliore continuellement sur ce point.

Ajout au catalogue

Maintenant que notre paquet est fait, il serait bon qu’il apparaisse dans la liste de YunoHost. Pour cela, on lance une pull request sur le dépôt yunohost/apps avec les informations concernant notre application. On peut aussi demander à intégrer notre application à l’organisation YunoHost-Apps.

"Petrolette": { "branch": "master", "revision": "HEAD", "url": "https://github.com/YunoHost-Apps/petrolette_ynh", "state": "working" } L’intégration continue

Afin d’assurer une certaine qualité des applications, YunoHost a mis en place un système d’intégration continue. Celui-ci teste un certain nombre de scénarios : (installation, suppression, sauvegarde, restauration, installation dans un sous-dossier…) pour valider le bon fonctionnement de notre application. Cependant, certaines applications ne supportent pas tous les tests lancés par l’intégration continue. On écrit donc un fichier check_process qui spécifie quels tests doivent être effectués.

Voici notre liste de tests :

;; Test complet ; Checks pkg_linter=1 setup_sub_dir=0 setup_root=1 setup_nourl=0 setup_private=1 setup_public=1 upgrade=1 backup_restore=1 multi_instance=1 port_already_use=0 change_url=0

Une intégration continue de test est disponible et peut être lancée via un commentaire !testme dans une pull request. L’intégration continue de production est quant à elle automatiquement lancée et mise à jour le vendredi.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Amazon OpenSearch - fruit d'une rivalité avec Elastic ?

dim, 18/04/2021 - 07:47

Pour faire écho à Elastic, qui a changé la licence de ses produits Elasticsearch et Kibana, Amazon vient d’annoncer il y a peu la sortie de son produit OpenSearch en open-source, un fork de ces deux produits.

Pour rappel, en Janvier 2021, à l’issue de la sortie d’Elastic 7.11, la compagnie qui publiait ses produits Elasticsearch et Kibana sous licence Apache 2.0, a fini par les proposer sous deux licences, au libre choix de ses utilisateurs : licence publique côté serveur (SSPL) et sous licence Elastic (ELv2).
Bien qu’étant toutes deux des licences « source-available », la seconde pose trois limites principales (plus de détails sur ces limites), là où la première se limite à une seule condition : publier les modifications apportées, y compris le code source sous la même licence.

D’ailleurs, pour appuyer ce changement de licence, Shay Banon, fondateur et CEO d’Elastic expliquait que le fait qu’Amazon et Amazon Elasticsearch Service s’autorisent des libertés comme fournir directement ses produits (EK) sans coopération avec eux (alors qu’ils avaient collaboré sur d’autres produits Amazon) ne pouvait être accepté. Un comportement jugé non-conforme aux normes et valeurs importantes de l’écosystème open-source, appuie-t-il.

Mais les rivalités sur ce point ne sont pas terminées, semble-t-il, et au regard des réponses de la team d’Amazon concernant ce changement de licence en SPPL, qui selon eux, qui ressemble à de l’open-source, mais qui ne respecte pas le côté libre et ouvert. Selon la team, ce changement ne limitera pas d’autres d’offrir des services hébergés sur la base d’Elasticsearch. https://aws.amazon.com/fr/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch/

Pour Banon, Amazon et la dénomination de son produit Amazon Elasticsearch Service sème la confusion parmi les utilisateurs, en faisant croire que le service a été fourni via une collaboration d’Elastic.

Maintenant, Amazon explique que son fork, en version Alpha, d’Elasticsearch et Kibana, est basé sur la version 7.10, sous licence Apache v2 (ALv2), et qu’il continuera de s’appuyer sur les efforts de la communauté open-source, planifiant par la même occasion de changer le nom de son service en Amazon OpenSearch Service.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Proxmox Backup Server 1.1 est sorti avec sauvegarde sur bande

sam, 17/04/2021 - 20:37

Proxmox Server Solutions GmbH a annoncé la version 1.1 de sa solution libre de sauvegarde des serveurs Proxmox Backup Server. C’est une solution logicielle pour la sauvegarde et la restauration de machines virtuelles, de conteneurs et d’hôtes physiques. Il prend en charge les sauvegardes incrémentielles, entièrement dédupliquées, la compression et le cryptage authentifié.

Le serveur de sauvegarde Proxmox est basé sur Debian Buster 10.9, mais utilise le dernier noyau Linux de support à long terme (5.4.106), et inclut ZFS 2.0.

Principales nouveautés de la version 1.1 Système de sauvegarde sur bandes (“Technology Preview”)
  • Prise en charge de LTO-4 et des versions ultérieures, donc, y compris le chiffrement matériel ;
  • Tape Backup jobs : les datastores peuvent être sauvegardés dans des pools de médias (Mediapools) ;
  • Tape Restore jobs : un ou plusieurs datastores peuvent être restaurés du contenu d’un ensemble de médias (Mediaset) ;
  • Stratégie de rétention flexibles (retention policies) ;
  • Nouveaux pilotes pour lecteur de bande (userspace), écrit en Rust ;
  • Soutien des chargeurs automatiques de bande divers ; outil mtx réécrit en Rust (maintenant appelé pmtx) ;
  • Notification par courriel lors de l’utilisation d’un lecteur de bande autonome ;
  • Configuration des composants, des travaux et des horaires via interface web ;
  • Proxmox LTO Barcode Label Generator pour imprimer des étiquettes à code-barres.
Authentification à deux facteurs (A2F) dans l’interface web

Pour renforcer la sécurité, l’authentification à deux facteurs peut être configurée et activée via l’interface web, par les utilisateurs eux-mêmes ou par un administrateur système. Les deux facteurs disponibles sont : Time-based One-time Password Algorithmus (TOTP), WebAuthn, et clés de récupération à usage unique.

Bugfix: La première version stable 1.0 du Proxmox Backup Server a entraîné une augmentation massive des déploiements et quelques bogues ont été signalés par la communauté. Ils ont maintenant été corrigés.

Téléchargement et Support

Proxmox Backup Server est disponible en téléchargement. Les entreprises qui le souhaitent peuvent également souscrire à une offre de support basée sur un modèle d’abonnement.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

ReachOut test{fest} : les développeurs gagnent à tester des logiciels européens innovants

jeu, 15/04/2021 - 10:03

Jusqu’au 13 juin 2021, l’association open source OW2 et le projet européen ReachOut encouragent les développeurs à évaluer autant de logiciels innovants qu’ils le souhaitent et à partager leurs impressions à l’occasion d'une test{fest}.

En échange de leurs efforts, ils pourront interagir avec les concepteurs et recevoir des récompenses monétaires pouvant aller jusqu’à 30, 60 ou 90 euros par évaluation.

D'autres récompenses et certificats sont prévus dont un prix spécial ReachOut remis lors d’OW2con’21, la conférence annuelle d’OW2 qui aura lieu en ligne, les 23 et 24 juin 2021.

Pour participer à distance jusqu'au 13 juin 2021, les testeurs doivent suivre les instructions de la ReachOut test{fest} en ligne.

Le profil des participants et la configuration requise varient selon les campagnes de tests proposées, du simple utilisateur de smartphone au développeur débutant ou avancé, en passant par le testeur professionnel.

Chaque personne ayant un intérêt marqué pour l’innovation numérique peut participer ; elle doit simplement suivre les étapes proposées en ligne, puis remplir complètement un formulaire d’évaluation portant sur l’interface utilisateur, les fonctionnalités en place, manquantes ou les difficultés rencontrées.

À propos de ReachOut
ReachOut est une action de coordination et de soutien financée par la Commission européenne dans le cadre du programme Horizon 2020, coordonnée par Fraunhofer FOKUS – la plus grande organisation de recherche appliquée en Europe, ainsi que UshareSoft et OW2. 
ReachOut agit comme un intermédiaire opérationnel entre les concepteurs de logiciels et les premiers utilisateurs. ReachOut aide les PME et les projets de recherche à mettre en œuvre leur campagne de bêta-test grâce à un packaging logiciel approprié, à un scénario de test efficace et à un questionnaire personnalisé.

À propos d’OW2
OW2 est une communauté informatique indépendante dédiée à la promotion du logiciel open source pour les systèmes d’information et à l’animation de leurs écosystèmes. OW2 héberge une cinquantaine de projets technologiques dont ADR App, ASM, AuthzForce, CLIF, DocDoku, FusionDirectory, GLPI, JORAM, Knowage, LemonLDAP:NG, Lutece, OCS Inventory, Petals ESB, Prelude, ProActive, Rocket.Chat, SAT4J, SeedStack, Sympa, Telosys, Waarp, WebLab and XWiki. Visitez www.ow2.org, suivez-nous sur Twitter @ow2.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Hotspot, à la recherche du point chaud…

mer, 14/04/2021 - 15:49

Depuis maintenant quelques semaines, j’ai repris les contributions au projet Calligra, et plus particulièrement au traitement de texte (cf ce journal pour plus d’informations). Du coup, quand sur la liste de courriel des développeurs un comparatif a été envoyé, comparant LibreOffice et Calligra sur le temps de chargement d’un document volumineux (800+ pages, table des matières de 60+ pages), et révélant un sévère désavantage pour Calligra, mon sang ne fit qu’un tour : un facteur 4 dans le temps de chargement n’est pas acceptable, même s’il s’explique par l’absence de travail d’optimisation sur ce point…
Partons donc à la recherche de ces lenteurs, et profitons-en pour parler des méthodes d’analyse des performances d’un programme sous Linux !

Sommaire 1) dans des temps anciens, callgrind…

Valgrind est un outil bien connu des développeurs C/C++ notamment. Il est connu comme étant un excellent outil pour détecter et analyser les problèmes mémoire, qu’il s’agisse de fuites ou d’utilisation de pointeurs libérés… Mais c’est une vraie collection d’outils, avec également celui qui fut un grand allié dans la recherche des problèmes de performance, callgrind.
Callgrind fonctionne en remplaçant le programme de chargement du binaire par le sien, et en faisant une analyse dynamique du code au fur et à mesure de son exécution. Cette analyse est complète (il ne s’agit pas d’instantanés à une fréquence donnée) mais a un coût colossal : un programme dans callgrind peut facilement être dix fois plus lent qu’en dehors de callgrind. Sur un programme complexe, on procède souvent à une analyse réduite avec un déclenchement retardé de callgrind, puis en l’interrompant quand l’événement que l’on souhaite analyser est passé. L’illustration en est donnée sur cet article d’analyse de plasma avec callgrind.

Heureusement, ce temps est désormais révolu et d’autres outils sont disponibles maintenant, bien plus flexibles. Celui que je vais utiliser est désormais un indispensable dans ma boite à outil, qu’il s’agisse d’administration système, de travail de DBA ou de développement : perf.

2) Performance Counters for Linux, perf, la révolution…

Bon la révolution ne date pas d’hier (2009 dans le noyau, 2010 dans RHEL, 2011 dans Debian Squeeze…), mais finalement on en a peu parlé sur DLFP, et ce n’est donc pas si connu que ça… Ou l’inverse, je ne sais plus…
perf utilise les compteurs matériel, des points de traçage dans le noyau ou dans les applications afin de collecter des événements. Qu’est-ce qu’un événement, me direz-vous ? Je suis heureux que vous me posiez cette question : la commande perf list en liste plus de 300 chez moi… Ils se répartissent en deux catégories selon l’origine, logicielle ou matérielle. Par exemple chaque changement de tâche par l’ordonnanceur du noyau va être un événement logiciel. Les événements matériels correspondent quant à eux aux données de la PMU (Performance Monitoring Unit), une partie du processeur qui va surveiller des événements au niveau micro-architectural comme le nombre de cycles écoulés, les succès/échecs sur le cache…
Bien évidemment, on ne peut pas enregistrer chaque occurrence de ces événements : à chaque seconde, des milliards de cycles s’écoulent, et traiter ces événements déclencherait à nouveau un nombre conséquent d’événements… Le processeur maintient donc des compteurs d’événements, que le noyau va consulter.
perf est donc la face visible de tout ce travail, et permet donc pendant une période et à une fréquence donnée d’enregistrer et visualiser le nombre d’occurrences de ces événements.

2.a) Petit exemple

Prenons un cas simple, echo 'bonjour monde' :

% perf stat /bin/echo 'bonjour monde' bonjour monde Performance counter stats for '/bin/echo bonjour monde': 0.42 msec task-clock:u # 0.556 CPUs utilized 0 context-switches:u # 0.000 K/sec 0 cpu-migrations:u # 0.000 K/sec 62 page-faults:u # 0.146 M/sec 205,471 cycles:u # 0.485 GHz 14,061 stalled-cycles-frontend:u # 6.84% frontend cycles idle 45,629 stalled-cycles-backend:u # 22.21% backend cycles idle 219,967 instructions:u # 1.07 insn per cycle # 0.21 stalled cycles per insn 49,000 branches:u # 115.556 M/sec <not counted> branch-misses:u (0.00%) 0.000763131 seconds time elapsed 0.000819000 seconds user 0.000000000 seconds sys

L’exécution de cette commande simple a duré 0,76ms, 205 000 cycles processeurs, 220 000 instructions, avec une consommation de 0,42ms de CPU.

Pour comparaison, avec sleep 1 :

% perf stat sleep 1 Performance counter stats for 'sleep 1': 0.45 msec task-clock:u # 0.000 CPUs utilized 0 context-switches:u # 0.000 K/sec 0 cpu-migrations:u # 0.000 K/sec 62 page-faults:u # 0.137 M/sec 249,795 cycles:u # 0.554 GHz 21,583 stalled-cycles-frontend:u # 8.64% frontend cycles idle 60,183 stalled-cycles-backend:u # 24.09% backend cycles idle 221,601 instructions:u # 0.89 insn per cycle # 0.27 stalled cycles per insn 49,186 branches:u # 109.046 M/sec <not counted> branch-misses:u (0.00%) 1.001224745 seconds time elapsed 0.000899000 seconds user 0.000000000 seconds sys

On note que le task-clock reste très faible puisqu’il s’agit du temps processeur consommé, et sleep ne fait pas une attente active où il consommerait inutilement du processeur.

2.b) perf top pour voir ce que fait notre système

perf top permet d’avoir une vue instantanée de tout le système, noyau inclus. Lors de cette capture, un btrfs scrub est en cours sur deux disques en LUKS.

Vous notez en haut de l’interface que l’événement capturé est 'cycles' (le nombre de cycles processeur consommés), à une fréquence de 4 kHz (4 000 captures par seconde, pour les moins scientifiques d’entre nous). Cela montre le fonctionnement de perf qui réalise un échantillonnage du système.

Dans cette interface, on peut également aller dans chaque fonction et annoter les fonctions pour voir exactement où le CPU est consommé. Quand on ne dispose pas des symboles de debug (mon principal reproche contre Archlinux), le code assembleur sera affiché.

Cette commande est utilisable également sur un serveur en production, et peut donc aider dans des cas sensibles d’analyse de performances : elle n’a pas d’impact sur le système quand il tourne, et permet de creuser très facilement sur les fonctions les plus gourmandes en CPU, qu’il s’agisse de fonctions dans l’espace utilisateur ou dans l’espace noyau. Grâce à cet outil, un collègue et moi-même avons su identifier (puis corriger avec les outils présentés ensuite) un problème de performance sur PostgreSQL où la réplication logique provoquait une forte consommation de CPU en système.

2.c) perf record pour analyser un programme

La commande perf record est, dans le cas qui nous intéresse ici, la plus utile. Elle permet, pour un ensemble de processus donnés (ou l’ensemble du système) d’enregistrer un fichier perf.data qui va contenir un ensemble d’événements. Nous pourrons ensuite utiliser des outils comme perf report pour disposer de la même interface que perf top, mais sur un état figé. Quand on dispose d’un élément reproductible (ici, ouvrir et afficher le fichier OpenDocument-v1.2-part1.odt), on peut facilement modifier l’application pour comparer l’évolution.

Un paramètre assez important à perf record est --call-graph qui permet d’enregistrer les piles d’appel à chaque événement. Ainsi, au lieu de voir que l’on a passé 50 % du temps dans une fonction foo(), on peut découvrir qu’en fait on a passé 45 % du temps dans un appel de foo() par bar(), et 5% du temps dans des appels divers à foo(). Plusieurs valeurs peuvent être passées à --call-graph, pour spécifier la méthode de capture des piles d’appel, avec un choix entre fp (utilisation du 'frame pointer' qui doit être mis par le compilateur), dwarf (utilisation des données de debug du programme) et lbr (utilisation des registres LBR, disponibles uniquement sur les processeurs Intel récents). Dans mon cas, j’utilise dwarf qui m’a donné les meilleurs résultats. Un autre paramètre optionnel est -F pour spécifier la fréquence d’échantillonnage. Sur des périodes de captures courtes, ce paramètre peut être utile pour obtenir des traces plus utilisables.

Lançons ça sur Calligra Words :

% perf record --call-graph dwarf ./words/app/calligrawords ../OpenDocument-v1.2-part1.odt [… sortie diverse de debug de différents composants de calligra …] [ perf record: Woken up 2749 times to write data ] Warning: Processed 93565 events and lost 21 chunks! Check IO/CPU overload! [ perf record: Captured and wrote 691.125 MB perf.data (85798 samples) ]

691 MB, c’est costaud. D’ailleurs, un certain nombre d’événements n’ont pas pu être capturés. Ajouter les paramètres --aio -z règlent ce souci en compressant la sortie et en faisant des IOs asynchrones.

Avec perf report, on peut explorer l’enregistrement, ce qui donne une interface (et des fonctionnalités) proches de perf top :

Néanmoins, sur un programme aussi complexe qu’un traitement de texte, cet affichage n’est pas le plus adapté… Heureusement…

3) hotspot, rendons ça plus visuel…

KDAB est une société de service en logiciels, spécialisée sur Qt, qui contribue au libre : plusieurs de ses salariés sont d’éminents développeurs KDE, elle a envoyé de nombreux patchs sur Qt, ouvert différents outils autour de Qt…
Et l’un de ses derniers nés est hotspot, je cite, « L’interface à Linux perf pour l’analyse de performance », disponible en licence GPL ou commerciale.
L’outil est extrêmement simple à prendre en main : on ouvre dans l’interface le fichier perf.data, et après quelques secondes, l’interface (très complète) apparaît.

La visualisation la plus intéressante est le 'Flame Graph'. Grâce à lui, on peut en quelques instants voir où le temps s’est écoulé, et donc en déduire les endroits à optimiser.

On trouve donc facilement le point chaud, il n'y a « plus qu’à » le corriger… Bon, « le plus qu’à » a pris plusieurs jours, plusieurs patchs, des versions incorrectes, différents atermoiements… Les plus curieux peuvent aller regarder sur cette 'merge-request' pour les correctifs de cette fonction, sachant que d’autres correctifs ont été intégrés entre-temps pour d’autres points 'tièdes' repérés avec hotspot également.
Une fois ce point chaud corrigé, un second point chaud était assez apparent : l’ajout de texte dans un QTextDocument. L’analyse a permis de révéler un algorithme en O(n) lors de l’ajout de textes sur QTextDocument en fonction du nombre de curseurs qu’on maintient sur le document. Or, dans Calligra, chaque annotation et chaque marque-page dans le document est représenté avec un curseur, et il y en a plusieurs milliers. Là aussi, les plus curieux peuvent aller voir le bug Qt correspondant que j’espère corriger dans les prochains mois… Hé oui, contribuer à un logiciel peut parfois amener à en corriger beaucoup plus…

Pour information, une fois les problèmes corrigés, je suis arrivé à ce niveau de performances :

On voit que le temps requis pour ouvrir le fichier est passé de 20 secondes à 8 secondes, et hotspot va continuer de m’aider à trouver les endroits restant à optimiser.
Attention tout de même : le principal inconvénient d’un tel outil est sa simplicité d’utilisation. C’est assez « enivrant » et l’on se prend vite au jeu de gratter des cycles CPU à droite et à gauche, quitte à délaisser le développement de fonctionnalités ou la correction de bugs…
J’espère en tout cas que cet article vous permettra de trouver d’autres optimisations à faire sur les programmes que vous développez ou utilisez.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Sortie de Datafari 5.0, moteur de recherche open source pour entreprise

mer, 14/04/2021 - 11:11

Un peu comme pour la dernière news, nous avons oublié de parler de la version 4.4, mais nous sommes heureux de vous annoncer la mise à disposition de Datafari 5.0

Changement majeur donc, synonyme de mise à jour majeure des composants utilisés.

Pour rappel, Datafari est une solution de recherche pour entreprise. Ça veut dire qu’elle permet aux employés de retrouver les données où qu’elles soient, quelles qu’elles soient. Plus concrètement, il s’agit de récupérer et d’indexer les données et documents depuis de nombreuses sources différentes et plusieurs formats de fichiers, et de permettre de chercher aussi bien l’intérieur des documents que leurs métadonnées. Linuxfr oblige, le focus dans cette dépêche sera sur la version libre (mais on a plein d’autres nouveautés aussi sur la version entreprise propriétaire)

Les nouveautés et changements principaux par rapport à la 4.3 version Communautaire Open Source :
  1. nouveau widget de nuage de tags ;
  2. nouvelle page d’aide à la recherche ;
  3. ajout de l’Allemand et de l’Espagnol comme langues indexées par défaut ;
  4. nouveau menu utilisateur ;
  5. un mode API pour facilement requêter Datafari sans interface utilisateur ;
  6. un mode aggregator permettant d’aggréger les résultats de plusieurs Datafaris ;
  7. passage de la stack ELK officielle à la stack OpenDistro ;
  8. le SSL/TLS activé par défaut entre le navigateur client et le serveur Datafari ;
  9. le SSL/TLS activé par défaut entre le navigateur client et notre composant ELK open distro ;
  10. une procédure d’installation simplifiée ;
  11. un connecteur pour indexer du Solr ;
  12. un connecteur pour indexer du Confluence et du Jira ;
  13. prévisualisation permettant de voir le contenu d’un document sans ouvrir le document source (voir la capture d’écran plus bas) ;
  14. mises à jour de tous les principaux composants techniques de Datafari (Solr 8.5.2, Cassandra 4, openDistro ELK 1.9.0, PostgreSQL 12.4), apportant plus de stabilité, de sécurité et de rapidité ;
  15. des corrections de bogues de partout.
Comment démarrer ?

Pour démarrer tout de suite, le mieux est sans doute de suivre le quick start guide. Pour aller plus loin, il suffit de se balader sur la documentation Datafari sur Confluence, qui couvre les usages, l’administration et le développement.

Pour rappel, voici les principales fonctionnalités de Datafari en tant que moteur de recherche :

Que peut‐on faire avec Datafari ?

Comme dit plus haut, c’est un moteur de recherche pour entreprise. Ses objectifs sont différents d’un moteur de recherche Web, et les défis techniques diffèrent. Pour un moteur de recherche pour entreprise, il faut être multi‐source, multi‐format, et gérer la sécurité. En outre, il faut permettre l’administrer l’outil. Dans la version libre, on peut, côté admin :

  1. administrer les connecteurs aux sources de données vers de nombreuses sources (nous utilisons Apache ManifoldCF avec tous ses connecteurs) dont Sharepoint, Confluence, Alfresco et les partages de fichiers ;
  2. gérer l’algorithme de pertinence qui classe les documents pour leur affichage suite à une requête ;
  3. mettre en avant des documents pour des requêtes identifiées ;
  4. créer des utilisateurs et leur assigner des rôles ;
  5. voir des statistiques d’usage de l’outil ;
  6. créer l’équivalent de Google AdWords (appelés promoliens) ;
  7. gérer des synonymes ;
  8. plein d’autres choses accessibles depuis la documentation Confluence ; côté utilisateur, on peut :
    1. chercher de façon simple ou avancée ;
    2. prévisualiser les résultats ;
    3. bénéficier de la correction orthographique et de l’auto‐complétion ;
    4. utiliser des facettes pour filtrer les résultats ;
    5. mettre des résultats dans un panier de favoris ;
    6. créer des alertes par courriel quand des documents modifiés ou nouveaux correspondent à une requête.
Et ensuite ?

Pour 2021, nous avons dans les tuyaux de nouveaux connecteurs, une toute nouvelle interface utilisateur en React, de l’ajout d’IA pour l’analyse des documents à l’indexation, et toujours plus de simplification.

Des commentaires ?

Nous sommes en permanence à l’écoute des commentaires et suggestions pour faire avancer le produit, alors profitez-en, que ce soit d’un point de vue technique ou fonctionnel, ça nous intéresse. Ha et si vous êtes déjà un utilisateur, n’hésitez pas à en parler sur le web !

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Revue de presse de l'April pour la semaine 14 de l'année 2021

mer, 14/04/2021 - 08:41

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.

[The Conversation] Bitcoin: l'intenable promesse d'une monnaie pour tous

✍ Jean-Michel Servet, le jeudi 8 avril 2021.

La cryptomonnaie, loin d'être un «bien commun», apparaît comme un instrument spéculatif qui ne reconnaît pas la participation de parties prenantes dans sa gestion.

[InformatiqueNews.fr] Microsoft lance sa propre distribution Java…

✍ Loïc Duval, le jeudi 8 avril 2021.

Alors qu’Oracle fait le forcing pour se réapproprier le langage et encourager les entreprises à adhérer à ses programmes de licences, Microsoft annonce sa propre distribution de l’OpenJDK…

Et aussi:

[L'usine Nouvelle] Des chercheurs publient en open source les séquences ARN des vaccins de Pfizer et Moderna

✍ Simon Philippe, le mercredi 7 avril 2021.

Des chercheurs de Stanford ont publié en accès libre les séquences ARN des vaccins contre le Covid-19 de Moderna et BioNTech-Pfizer. Un travail qui relance le débat sur le brevetage de ces vaccins et des outils thérapeutiques.

[Siècle Digital] Cloud: 10 acteurs partagent 77% du marché

✍ Julia Guinamard, le mardi 6 avril 2021.

Pendant la pandémie de Covid-19 AWS, Microsoft Azure, Alibaba et quelques autres entreprises ont enregistré une croissance sans précédent.

[Numerama] Le gouvernement a un plan pour que la justice bloque mieux les sites web

✍ Julien Lausson, le mardi 6 avril 2021.

Conscient que les mesures de blocage actuelles décidées par la justice peuvent être contournées relativement facilement, le gouvernement profite du projet de loi sur le séparatisme pour réécrire le droit. Objectif: bloquer plus efficacement, en impliquant davantage d'intermédiaires techniques.

[Le Monde.fr] Après onze ans de bataille judiciaire, la Cour suprême américaine se prononce en faveur de Google contre Oracle

Le lundi 5 avril 2021.

La plus haute instance judiciaire des Etats-Unis estime que l’usage du code Java par Google constitue un «usage légitime» en matière de propriété intellectuelle. Le litige portait sur des milliards de dollars.

Et aussi:

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

GnuPG 2.3.0 est sorti

mar, 13/04/2021 - 13:22

Le 7 avril 2021, le projet GnuPG a publié la première version officielle de sa nouvelle branche de développement, GnuPG 2.3.0. Les nouveautés de cette version sont nombreuses, cette dépêche va passer en revue les plus significatives.

Sommaire

La branche 2.3 qui démarre officiellement avec cette version marque le début d’un nouveau cycle de développement qui aboutira à la prochaine version « stable » 2.4. L’actuelle branche stable 2.2, renommée LTS pour Long Term Support, est toujours prise en charge en attendant et devrait l’être au moins jusqu’en décembre 2024.

Un nouveau démon d’accès aux clefs publiques : keyboxd

Pour comprendre cette nouveauté, revenons sur les différentes méthodes que GnuPG a utilisées au fil des versions pour stocker les clefs publiques.

GnuPG ≤ 2.0 : pubring.gpg

Les premières versions de GnuPG stockaient les clefs publiques dans un fichier appelé $GNUPGHOME/pubring.gpg, dans le même format que celui utilisé pour l’échange des clefs — le format décrit par le standard OpenPGP. C’est-à-dire que ce fichier contenait simplement les différents paquets OpenPGP constituant une clef publique.

C’était aussi l’approche retenue, à l’époque, par PGP. Un des avantages de cette approche est qu’elle dispense d’avoir à gérer un format spécifique pour le stockage des clefs — on ré-utilise simplement le parser de paquets OpenPGP que toute implémentation du standard se doit naturellement d’avoir.

En revanche, un gros inconvénient est que les clefs ne sont pas indexées et qu’accéder à une clef précise suppose de parcourir tout le fichier jusqu’à trouver la clef voulue, ce qui est rapidement inefficace sur les trousseaux un peu gros.

GnuPG 2.1, 2.2 : pubring.kbx

La branche 2.1 de GnuPG a introduit le format keybox (fichier $GNUPGHOME/pubring.kbx). Désormais, les clefs publiques sont stockées dans un format spécialisé propre à GnuPG.

L’objectif de ce format était de résoudre le problème d’inefficacité de la recherche de clefs dans un trousseau ; cet objectif n’a été que partiellement atteint, et le format a suscité quelques critiques acerbes, notamment lorsque les clefs publiques de plusieurs membres proéminents de la communauté ont été victimes d’attaques par empoisonnement (exploitant certaines failles dans l’implémentation du format keybox au sein de GnuPG) au printemps 2019.

La principale critique adressée aux développeurs de GnuPG concernait le fait même d’avoir développé à partir de zéro un format ad hoc, au lieu de ré-utiliser des solutions existantes et éprouvées — SQLite étant notamment fréquemment citée.

GnuPG 2.3 : keyboxd

En réponse à ces critiques, GnuPG 2.3 introduit deux changements majeurs pour le stockage des clefs publiques.

D’abord, les clefs sont désormais stockées dans une base SQLite. GnuPG utilisait déjà SQLite pour la base de données du modèle de confiance TOFU de toute manière, donc ce n’est pas une nouvelle dépendance. La base est dans un fichier appelé $GNUPGHOME/public-keys.d/pubring.db.

Ensuite et surtout, un démon spécifique, keyboxd (sans lien avec le format keybox utilisé précédemment, en dépit du nom), est désormais seul à accéder au fichier contenant les clefs publiques. Les programmes gpg et gpgsm doivent maintenant obtenir les clefs publiques dont ils ont besoin en les demandant à ce démon via le protocole Assuan.1 L’intérêt est de rendre la recherche d’une clef beaucoup plus rapide, la base de données des clefs n’étant lue qu’une fois pour toutes par le démon keyboxd et non lors de chaque invocation de gpg ou gpgsm.

L’utilisation de keyboxd est désactivée par défaut pour l’instant. Les personnes motivées pour l’essayer (et rapporter les bogues — on est sur une branche de développement, souvenez-vous…) doivent simplement ajouter l’option use-keyboxd dans leurs fichiers $GNUPGHOME/gpg.conf et $GNUPGHOME/gpgsm.conf. À défaut, GnuPG 2.3 continuera d’utiliser le fichier pubring.kbx des versions 2.1/2.2.

Un nouveau démon d’accès aux puces TPM : tpm2d

Gros changement, d’ailleurs resté en incubation pendant longtemps, la prise en charge des puces TPM 2.0 présentes dans la plupart des ordinateurs portables modernes. Cela passe par un nouveau démon, tpm2d, qui est aux TPM ce que scdaemon est aux cartes à puces et jetons assimilés.

La prise en charge des TPM nécessite qu’une « pile logicielle TPM 2.0 » (TSS, TPM Software Stack) soit présente sur le système lors de la compilation de GnuPG. Deux telles piles sont disponibles dans le monde libre : une développée par IBM (ibmtss20), l’autre par une communauté de développeurs menée par Intel (tpm2-tss). GnuPG prend en charge les deux et le script configure devrait automatiquement autoriser la compilation de tpm2d si au moins l’une de ces bibliothèques est détectée.

Votre compte utilisateur doit avoir accès en lecture et écriture au TPM (/dev/tpm0 ou /dev/tpmrm0 si vous passez par le gestionnaire de ressources intégré au noyau). Typiquement, cela se fait en assignant le groupe tss au périphérique /dev/tpm0 (ou /dev/tpmrm0) et en assignant votre compte utilisateur à ce même groupe. (Il est possible que votre distribution se charge déjà de faire ça lors de l’installation de la pile logicielle TPM.)

L’utilisation est similaire à celle d’une carte à puce. Pour « charger » une clef privée sur un TPM, lancez l’éditeur de clefs de GnuPG :

$ gpg --edit-key alice@example.org Secret key is available. sec rsa2048/FA6E81E09F636D5F created: 2021-04-07 expires: never usage: SC trust: ultimate validity: ultimate ssb rsa2048/66EBA79F4D48C3B5 created: 2021-04-07 expires: never usage: E [ultimate] (1). Alice <alice@example.org> gpg>

Sélectionnez la sous-clef à envoyer au TPM (ou ne sélectionnez rien, si vous voulez envoyer la clef principale) :

gpg> key 1 sec rsa2048/FA6E81E09F636D5F created: 2021-04-07 expires: never usage: SC trust: ultimate validity: ultimate ssb* rsa2048/66EBA79F4D48C3B5 created: 2021-04-07 expires: never usage: E [ultimate] (1). Alice <alice@example.org>

Puis utilisez la commande keytotpm :

gpg> keytotpm

Il vous est alors demandé votre phrase de mot-de-passe actuel pour déchiffrer la clef privée (si l’agent GnuPG ne l’avait pas déjà en cache), puis le PIN qui la protégera désormais (similairement à ce qui se passerait avec une carte à puce).

sec rsa2048/FA6E81E09F636D5F created: 2021-04-07 expires: never usage: SC trust: ultimate validity: ultimate ssb* rsa2048/66EBA79F4D48C3B5 created: 2021-04-07 expires: never usage: E card-no: TPM-Protected [ultimate] (1). Alice <alice@example.org>

Notez la mention TPM-Protected, indiquant que la sous-clef est désormais chiffrée par le TPM (au passage, le card-no trahit le fait que la prise en charge des TPM par GnuPG ré-utilise largement l’infrastructure déjà en place pour la gestion des cartes à puces).

Attention, contrairement à ce qui se passerait avec une carte à puce, ici à aucun moment la clef privée n’est physiquement stockée dans le TPM. Elle est chiffrée par le TPM de telle sorte que seul le TPM peut la déchiffrer et l’utiliser (sous réserve de fournir le bon PIN), mais elle est toujours stockée (sous sa forme chiffrée) dans $GNUPGHOME/private-keys-v1.d.

Par ailleurs, la clef étant désormais irrémédiablement liée à ce TPM, il est évidemment fortement conseillé de sauvegarder la clef privée sur un support externe avant toute utilisation de la commande keytotpm… Mais vous n’avez pas attendu cette dépêche pour avoir des sauvegardes hors-ligne de vos clefs, n’est-ce pas ? N’EST-CE PAS ?

Les clefs n’étant pas stockées par le TPM lui-même, il n’y a aucune limitation au nombre de clefs qu’il est possible de protéger ainsi et vous pouvez utiliser keytotpm pour autant de clefs que vous voulez.

Un nouvel outil : gpg-card

Jusqu’à présent, la manipulation des cartes à puce passait principalement par l’éditeur de cartes intégré au programme gpg (appelable par gpg --card-edit).

Désormais, un programme spécifique, gpg-card, est dédié à la manipulation des cartes à puce. Il reprend toutes les fonctionnalités de gpg --card-edit et en ajoute quelques nouvelles. Notamment, il fournit une commande yubikey permettant spécifiquement de manipuler les jetons de type Yubikey (par exemple pour activer/désactiver l’application OpenPGP sur ces jetons).

Le chargement d’une clef sur une carte à puce passe toujours par l’éditeur de clefs de GnuPG (gpg --edit-key) et sa commande keytocard.

De nouveaux algorithmes par défaut

Bien que la prise en charge de la cryptographie elliptique (ECC — dont l’utilisation dans OpenPGP est spécifiée dans le RFC 6637) ait été introduite dès GnuPG 2.1 en 2014, GnuPG a continué depuis de générer par défaut des clefs RSA. Non seulement ça, mais la possibilité de choisir des clefs ECC était « cachée » derrière l’option --expert. Peu d’implémentations prenaient en charge la cryptographie elliptique à l’époque, donc il convenait d’éviter que les utilisateurs ne génèrent par inadvertance des clefs que leurs correspondants ne pourraient peut-être pas utiliser.

De nos jours en revanche, toutes les implémentations majeures d’OpenPGP (GnuPG, OpenPGP.js, Sequoia-PGP, RNP, et même PGP Symantec™ BroadcomⓇ Encryption Solutions) gèrent la cryptographie elliptique, donc il n’y a plus lieu de réserver les clefs ECC aux utilisateurs avertis.

GnuPG génère donc désormais par défaut une clef principale de signature ed25519 (EdDSA sur la courbe 25519), et une sous-clef de chiffrement cv25519 (ECDH sur la même courbe).

Prise en charge de la prochaine version du standard OpenPGP (RFC 4880bis)

Depuis quelques années, le standard OpenPGP (dont la dernière version, le RFC 4880, remonte à 2007) est en cours de refonte. C’est le projet 4880bis, qui a connu un développement laborieux (lors de la reformation du groupe de travail OpenPGP à l’IETF en 2015, l’objectif était de publier le nouveau RFC fin 2016, début 2017 au plus tard…) mais qui semble désormais en bonne voie.

Les nouveautés qu’apportera la nouvelle version du standard incluent :

  • la formalisation des clefs ECC utilisant la courbe 25519 (qui ne figurait pas dans le RFC 6637 évoqué ci-dessus) ;
  • un nouveau format de clef publique, v5, qui remplacera l’actuel format v4 et qui utilisera SHA-256 (et non plus SHA-1) pour les empreintes de clefs ;
  • la prise en charge des modes de chiffrement symétrique authentifié (AEAD, Authenticated Encryption with Associated Data), qui remplaceront l’actuel système de vérification d’intégrité (MDC, Modification Detection Code) ;
  • une mise à jour des algorithmes qui DOIVENT (au sens du RFC 2119) être pris en charge par toutes les implémentations (MTI, mandatory to implement) et qui servent donc de socle de compatibilité.

Les nouveaux algorithmes MTI seront désormais RSA et ECDSA pour les signatures (en remplacement de DSA), RSA et ECDH pour le chiffrement asymétrique (en remplacement de ElGamal), AES-128 pour le chiffrement symétrique (en remplacement du vénérable 3DES) et SHA-256 pour la condensation (en remplacement de SHA-1). La prise en charge d’au moins un mode AEAD parmi les deux spécifiés (OCB et EAX) sera également requis — pour l’instant, il s’agit de EAX, mais cela pourrait changer maintenant qu’OCB n’est plus encombré de brevets.

Toutes ces nouveautés sont présentes dans GnuPG 2.3.0 et sont d’ores et déjà utilisables. Dans les faits, les nouveaux algorithmes par défaut étaient déjà utilisés par toutes les implémentations majeures depuis plusieurs années déjà, de ce côté le standard ne fait qu’entériner l’usage.

Concernant le chiffrement authentifié (AEAD), il sera automatiquement utilisé lors du chiffrement d’un message si la clef du destinataire indique, via les préférences exprimées dans les auto-signatures, que l’implémentation du destinataire prend en charge cette fonctionnalité. Sinon, c’est le traditionnel mode MDC qui s’appliquera.

Toutes les clefs nouvellement générées par GnuPG 2.3.0 se voient automatiquement attribuer des préférences AEAD et vous n’avez donc rien à faire pour activer cette fonctionnalité si vous générez une nouvelle clef avec cette version. En revanche, si vous avez déjà une clef émise par une version antérieure, il vous faut manuellement mettre à jour la liste des algorithmes préférés pour y inclure les algorithmes AEAD. Cela se fait simplement avec la commande setpref (sans argument, pour utiliser les nouvelles préférences par défaut) :

$ gpg --edit-key alice Secret key is available. sec rsa2048/FA6E81E09F636D5F created: 2021-04-07 expires: never usage: SC trust: ultimate validity: ultimate ssb rsa2048/66EBA79F4D48C3B5 created: 2021-04-07 expires: never usage: E [ultimate] (1). Alice <alice@example.org> gpg> setpref Set preference list to: Cipher: AES256, AES192, AES, 3DES AEAD: OCB, EAX Digest: SHA512, SHA384, SHA256, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, AEAD, Keyserver no-modify Really update the preferences? (y/N) y gpg> save

Concernant le nouveau format de clef v5, il n’est par défaut pas utilisé pour l’instant et GnuPG continue de générer des clefs au format v4. Passez l’option --rfc4880bis pour forcer GnuPG à générer une clef v5.

Je vous conseille de ne faire ceci qu’à des fins de test. D’une part, toutes les implémentations ne gèrent pas encore les clefs v5 — Sequoia-PGP par exemple a prévu d’attendre la finalisation du RFC 4880bis pour les prendre en charge —, et d’autre part il est toujours possible, quoique peu probable à ce stade, que certains détails du format ne changent d’ici la version finale du RFC 4880bis — c’est d’ailleurs pour ça que les développeurs de Sequoia-PGP préfèrent attendre. Le seul avantage du format v5 est qu’il utilise SHA-256 au lieu de SHA-1 pour le calcul de l’empreinte de clef, et c’est donc une étape nécessaire pour éliminer totalement SHA-1, mais les récentes collisions démontrées sur SHA-1 ne menacent pas son utilisation pour le calcul d’empreinte ; il n’y a pas d’urgence à basculer vers le format v5, surtout avant sa finalisation officielle.

Autres changements

Voici les principaux autres changements. Pour une liste complète, y compris les changements moins significatifs, référez-vous à l’annonce officielle sur gnupg-announce.

Une nouvelle courbe elliptique, X448 (aussi appelée Ed448-Goldilocks), est désormais utilisable avec EdDSA (clef de type ed448), ECDH (clef de type cv448) et pour l’authentification SSH.

GpgSM, le volet X509/SMIME de GnuPG, prend désormais en charge à son tour les clefs ECC (y compris EdDSA).

La gestion des cartes à puce voit plusieurs améliorations significatives :

  • Scdaemon gère désormais mieux le cas où plusieurs lecteurs de carte ou jetons sont disponibles ;
  • Plusieurs nouveaux types de cartes sont gérées, dont les cartes PIV ;
  • Une nouvelle option --pcsc-shared permet à d’autres applications d’accéder au lecteur de carte en même temps que Scdaemon. Ce n’est pas recommandé, mais cela avait été réclamé de longue date par certains utilisateurs.
  1. Le protocole Assuan est le protocole utilisé pour toutes les communications inter-processus au sein du projet GnuPG (entre gpg et gpg-agent, entre gpg-agent et scdaemon, entre gpg-agent et les différents pinentries… et maintenant entre gpg et keyboxd). 

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

La lettre d'information XMPP de mars 2021

mar, 13/04/2021 - 11:28

N. D. T. — Ceci est une traduction de la lettre d’information publiée régulièrement par l’équipe de communication de la XSF, essayant de conserver les tournures de phrase et l’esprit de l’original. Elle est publiée conjointement sur les sites LinuxFr.org et JabberFR.org.

Bienvenue dans la lettre d’information XMPP couvrant le mois de mars 2021.

La concrétisation de nombreux projets de la communauté XMPP est le résultat de l’engagement de personnes volontaires. Si les services et logiciels que vous utilisez ont comblé, même partiellement, vos attentes, en particulier tout au long de l’année passée, n’hésitez pas, s’il vous plaît, à remercier ou aider ces projets !

La diffusion de la version originale de cette lettre d’information se fait actuellement via le service TinyLetter by Mailchimp. Les outils de surveillance et la gestion des données personnelles de ce service soulèvent des problèmes que l’équipe de communication n’est pas en mesure de régler pour le moment. C’est pourquoi vous préférerez peut-être lire la version anglaise de cette lettre d’information via son flux RSS !

Vous souhaitez soutenir l’équipe élaborant cette lettre d’information ? Vous en apprendrez davantage à la fin de cette lettre ! Dans tous les cas, faites-vous plaisir avec la suite !

Sommaire Annonces de la XSF

La communauté XMPP tient désormais une permanence virtuelle : de courtes conférences hebdomadaires, des démos ou des tours de table à propos de XMPP et de sujets connexes ! Les détails de ces rendez-vous, la liste des futures interventions et la feuille d’émargement sont disponibles sur le Wiki XMPP.

Et nous sommes dorénavant sur YouTube !

Évènements

La permanence XMPP hebdomadaire !

Rencontres XMPP de Berlin (à distance) : rencontres mensuelles des mordus de XMPP à Berlin, le deuxième mercredi de chaque mois.

Articles

Nicola Fabiano a écrit deux articles : « Un regard attentif sur les applications de messagerie : quand les utilisateurs veulent une liberté sans limite et un contrôle total sur leurs données » [en anglais] et « Communication numérique vigilante respectant la vie privée vs les applications ou services que vous choisissez » [en anglais].

Arnaud Joset a écrit un petit tutoriel sur la manière d'utiliser Prosody avec un proxy HTTP inversé [en anglais].

Marek Foss, rédacteur web en chef de ProcessOne, l’éditeur de ejabberd, a écrit plusieurs articles, tous en anglais, tournant autour d’ejabberd et de sa configuration :

Alex Akinbia et Ehizojie Ojieb ont publié une analyse des données résiduelles des applications de réseautage social multi-client XMPP sur les appareils iOS [en anglais]. Ils ont basé leur étude sur Monal 4.5 et Siskin 5.8.1.
[N.D.T. : il y a aussi analyse des données résiduelles des applications de réseautage social multi-client XMPP sur les appareils Android, en anglais également, sur la base de Conversations 2.7.1+pcr et Xabber 2.6.6.645]

Des nouvelles des logiciels Clients et applications

Les versions 2.9.8 et 2.9.9 du client Android Conversations ont été publiées. Elles apportent une meilleure compatibilité avec les implémentations WebRTC autres que libwebrtc, la vérification des appels audio et vidéo via des sessions OMEMO préexistantes et une meilleure prise en charge de Tor.

Nouvelles de développement de Gajim : la nouvelle fenêtre principale du client de bureau multiplate-forme Gajim arrive petit à petit pendant que de nombreuses fonctionnalités de base sont réécrites. Ce mois-ci apporte également une meilleure accessibilité des messages et une amélioration du comportement des icônes de statut. Gajim 1.3.1 est sorti et ajoute, entre autres améliorations, la possibilité de choisir explicitement une authentification via GSSAPI.

Le client XMPP en JavaScript, JSXC, a reçu un financement pour les appels dans les salons de discussion.

Monal, client pour iOS et macOS, est maintenant présent sur Mastodon ! La deuxième bêta de la version 5.0 est sortie ! De plus un système a été mis en place pour gérer le processus de vaccination dans de nombreux États américains, ainsi que Porto Rico. Plus d’un million de notifications ont déjà été envoyées. XMPP soutient une fois de plus les efforts liés à la pandémie. Il y a eu plusieurs articles de blog à ce sujet en mars, à commencer par celui-ci. Testez la nouvelle bêta !

qXMPPConsole est une nouvelle console XMPP utilisable dans un navigateur. Son objectif principal est d’aider à comprendre et apprendre le protocole XMPP.

Bibliothèques

La version 4.4.2 de Smack, la bibliothèque Java de la communauté Ignite RealTime, est sortie avec son lot de corrections de bogues.

Extensions et spécifications

Par leurs productions de code ou par d’autres types d’expertises de la standardisation, de nombreuses personnes de par le monde collaborent à ces extensions, développant de nouvelles spécifications pour les pratiques naissantes, et affinant les manières de faire existantes. Proposées par qui le souhaite, les spécifications rencontrant le plus de succès aboutissent à un statut de « Finale » (Final) ou « Active » (Active), en fonction de leur type, alors que les autres sont soigneusement archivées sous l’appellation « Ajournée » (Deferred). Ce cycle de vie est décrit dans la XEP‑0001 qui contient les définitions formelles et canoniques pour les types, états et processus. Vous pouvez en apprendre plus sur le processus de standardisation. Les échanges autour des Standards et des Extensions se font dans la liste de diffusion des Standards (archives en ligne).

Extensions proposées

Le processus de développement d’une XEP commence par la mise par écrit d’une idée et sa soumission à la personne responsable des éditions XMPP. Dans un délai de deux semaines, le Conseil décide s’il accepte d’accorder à cette proposition le statut d’une XEP expérimentale.

Content Rating Labels : cette spécification fournit un format d’échange de données sous la forme d’une extension Service Discovery permettant à des services de toutes sortes d’indiquer les types de contenus autorisés et/ou encouragés sur leur plate-forme.

Nouvelles extensions
  • version 0.2.0 de la XEP-0456 (Content Rating Labels)
    • cette spécification fournit un format d’échange de données sous la forme d’une extension Service Discovery permettant à des services de toutes sortes d’indiquer les types de contenus autorisés et/ou encouragés sur leur plate-forme ;
    • décrit l’algorithme de conversion.
Extensions ajournées

Si une XEP expérimentale n’a pas été mise à jour après plus d’un an, elle perdra son statut « Expérimentale » (Experimental) pour devenir « Ajournée » (Deferred). En cas de future mise à jour, elle reprendra son statut « Expérimentale » (Experimental).

Aucune XEP ajournée ce mois-ci.

Extensions mises à jour
  • version 1.1 de la XEP-0294 (Jingle RTP Header Extensions Negotiation)

    • Ajoute une correspondance vers la notation a=extmap-allow-mixed définit dans le Session Description Protocol de la RFC 8285.
  • version 0.2.0 de la XEP-0408 (Mediated Information eXchange (MIX): Co-existence with MUC)

    • Corrige la référence aux espaces de nom MIX-CORE.
  • version 0.3.0 de la XEP-0406 (Mediated Information eXchange (MIX): MIX Administration)

    • Corrige la référence aux espaces de nom MIX-CORE.
  • version 2.12.0 de la XEP-0004 (Data Forms)

    • Précise que l’élément <reported/> doit apparaitre avant tout élément <item/>.
Derniers appels

Les derniers appels sont émis une fois que l’état courant d’une XEP est satisfaisant. Après que le Conseil a décidé que la XEP était prête, la personne responsable des éditions XMPP émet un dernier appel à commentaires. Les retours rassemblés pendant le dernier appel aident à améliorer la XEP avant qu’elle ne retourne devant le Conseil pour une évolution vers le statut de « Brouillon » (Draft).

Brouillons

Aucun brouillon ce mois-ci.

Appels à expérience

Un appel à expérience, comme un dernier appel, est un appel explicite à commentaires, mais dans ce cas, il est principalement dirigé vers les personnes qui ont implémenté, et idéalement déployé, cette spécification. Le Conseil vote alors de lui attribuer le statut « Finale » (Finale).

Aucun appel à expérience ce mois-ci.

Remerciements

Cette lettre d’information XMPP a été réalisée collaborativement par la communauté. Merci à anubis, Bastoon, emus, jeybe, jonas-l, Julien Jorge, Holger, pmaziere, Sam Whited, vanitasvitae, wurstsalat3000 et Ysabeau pour leur aide durant son élaboration !

Diffusez ces informations !

Partagez ces informations sur les « réseaux sociaux » :

Vous pouvez également venir en discuter sur le salon JabberFR.

Trouvez et proposez des offres d’emploi sur le site xmpp.work.

Appel à la communauté Abonnez‑vous à la lettre d’information

Nous vous invitons à vous inscrire pour recevoir les prochaines éditions en anglais dans votre boîte de courriel dès qu’elles seront publiées ! Diffusez cette lettre d’information à quiconque serait intéressé.

La diffusion de la version originale de cette lettre d’information se fait actuellement via le service TinyLetter by Mailchimp. Les outils de surveillance et la gestion des données personnelles de ce service soulèvent des problèmes que l’équipe de communication n’est pas en mesure de régler pour le moment. C’est pourquoi vous préférerez peut-être lire la version anglaise de cette lettre d’information via son flux RSS !

Aidez‑nous à élaborer cette lettre d’information

Nous avons commencé à mettre en place un brouillon à chaque nouvelle édition dans le dépôt GitHub de la XSF. Et c’est toujours une joie d’accueillir de nouvelles personnes souhaitant contribuer. Joignez‑vous à la discussion dans le salon de notre équipe de communication et aidez‑nous ainsi à alimenter cette lettre dans un effort communautaire.

Vous avez un projet et vous écrivez, ou voudriez écrire, à son sujet ? N’hésitez pas à venir partager vos informations ou évènements ici‑même, et diffusez‑les à un large public ! Même si vous n’y passez que quelques minutes, cela sera déjà utile.

Les tâches qui nécessitent d’être réalisées de manière régulière sont, par exemple :

  • l’agrégation des informations de l’univers XMPP ;
  • la reformulation courte des informations et des évènements ;
  • le résumé des communications mensuelles sur les extensions (XEP) ;
  • la relecture du brouillon ;
  • les traductions, particulièrement en français, allemand et espagnol.
Licence

Cette lettre d’information est publiée sous la licence CC BY‑SA 4.0.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Meilleures contributions LinuxFr.org : les primées de mars 2021

lun, 12/04/2021 - 20:16

Nous continuons sur notre lancée de récompenser celles et ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logo, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un livre des éditions Eyrolles ou ENI. Voici les gagnants du mois de mars 2021 :

Les livres gagnés sont détaillés en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

Certaines personnes n’ont pas pu être jointes ou n’ont pas répondu. Les lots ont été réattribués automatiquement. N’oubliez pas de mettre une adresse de courriel valable dans votre compte ou lors de la proposition d’une dépêche. En effet, c’est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu’aux éditions Eyrolles et ENI.

Les livres sélectionnés :

             Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Deux webinaires à propos de l'interopérabilité logicielle pour les circuits courts

lun, 12/04/2021 - 19:27

Le Data Food Consortium (DFC) organise deux webinaires pour présenter ses réponses à la mise en relation des plateformes de distribution alimentaire en circuits courts¹ :

  1. le mardi 13 avril 2021 de 11h à 12h : "Enjeux de l'interopérabilité et intérêt d'un langage numérique commun pour les circuits courts" ;
  2. le mercredi 28 avril de 11h à 12h : "Démonstration du prototype MonCataLog du Data Food Consortium".

N'avez-vous pas déjà été frustré par le manque de collaboration entre logiciels ? Comme lorsque vous souhaitez synchroniser des données ou des opérations entre des applications qui ne sont pas prévues pour : quel casse-tête !

Pour pallier ce problème, il est nécessaire de définir un standard : une même "langue". Celui-ci permettra aux applications qui l'implémentent de fonctionner ensemble. Le HTML est par exemple spécifié dans un standard rédigé par le World Wide Web Consortium (W3C). C'est un langage qui permet de consulter les sites web depuis tous les navigateurs qui l'implémentent (ce que vous faites actuellement :).

Le Data Food Consortium travaille depuis plusieurs années au développement d'un nouveau standard pour répondre aux problématiques de distribution alimentaire en circuits courts. En effet, les producteurs qui distribuent via plusieurs plateformes en ligne sont confrontés à des problèmes comme "les saisies multiples, la complexité de gestion des stocks, les coopérations commerciales manquées ou encore l’absence de mutualisation logistique".

Ce nouveau standard repose sur des technologies libres et innovantes comme le web sémantique et l'authentification par délégation. Son approche décentralisée fait de cette solution une garante de la souveraineté des données. De plus, le standard n'est pas réservé à la distribution mais peut être utilisé pour d'autres applications. Dans ce cas, de nouvelles ontologies² seront à utiliser mais la couche technique pourra rester la même.

Pour ma part, j'aimerais implémenter cette solution dans une appli web de gestion de paniers AMAP³. Pour synchroniser par exemple les produits que les maraîchers utilisent dans différentes applications (ERP, planification, etc). Sans cette synchronisation les maraîchers sont condamnés à recopier leur catalogue de produits dans toutes leurs applications sans possibilité de relier des opérations (comme générer des fiches de récolte dans une application A à partir d'une planification gérée par une application B par exemple).

Je me suis intéressé au DFC en cherchant des solutions techniques pour que l'application que je commence à développer puisse collaborer avec d'autres. Plus générique que la compatibilité, l'interopérabilité nous permet de réaliser des "méta-applications", loin des monolithes et des x API à implémenter pour pouvoir être compatible avec x applications.

L'interopérabilité c'est aussi un rêve. Celui d'une informatique de collaboration où l'utilisateur est libre de connecter les applications de son choix pour satisfaire ses besoins à sa manière. C'est probablement le rêve que partage Tim Berners Lee, l'inventeur du web et du web sémantique. Nombre de questions sont soulevées par cette idée. Si le sujet vous intéresse voici deux dates pour l'approfondir (inscriptions gratuites et recommandées) :

  1. le mardi 13 avril 2021 de 11h à 12h : "Enjeux de l'interopérabilité et intérêt d'un langage numérique commun pour les circuits courts" (vulgarisation) ;
  2. le mercredi 28 avril de 11h à 12h : "Démonstration du prototype MonCataLog du Data Food Consortium" (technique).

Lecoqlibre, développeur indépendant, sympathisant du DFC

¹ Circuit court : Les circuits courts désignent les circuits de distribution les plus directs entre producteurs et consommateurs. Ils comptent au maximum un seul intermédiaire.

² Ontologie : Façon de modéliser un domaine en identifiant les concepts y afférant, en les organisant les uns par rapport aux autres, en identifiant les propriétés qui les relient et enfin en désignant les objets qui les représentent (ref. 1). Modèle informatique partagé par une communauté d'utilisateurs, c'est le résultat d'un processus de modélisation décrivant le consensus atteint par ces utilisateurs (ref. 2).

³ AMAP : Association de Maintien de l'Agriculture Paysanne (voir miramap.org).

Bibliographie :
- ref. 1 : Du web des documents au web sémantique, de Nicolas Delestre et Nicolas Malandain, éditions KLOG.
- ref. 2 : Les ontologies en agriculture, de Catherine Roussey et all, CNRS, Université Lyon 1

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

GNOME annonce la nouvelle bibliothèque libadwaita

dim, 11/04/2021 - 20:20

Adrien Plazas nous annonce la venue de libadwaita, une bibliothèque qui proposera la première implémentation officielle des Human Interface Guidelines de GNOME (les directives pour les interfaces humaines, abrégées HIG).

Cette nouvelle bibliothèque simplifie la vie des développeurs d’applications pour GNOME, puisqu’elle donne enfin un socle commun, validé par l’équipe design, pour suivre les HIG de GNOME. De plus, elle permettra au projet GTK de redevenir plus indépendante de la plateforme GNOME.

Pour les développeurs qui connaissent déjà libhandy, libadwaita en est le successeur GTK4 et libhandy sera remplacé par libadwaita.

La suite de la dépêche vous propose une traduction de l’annonce de cette nouvelle bibliothèque, avec l'accord de l'auteur original.

Sommaire Introduction de libadwaita

GNOME 41 [NdT: prévu pour l’automne 2021] viendra avec libadwaita, la mise à jour GTK4 de la bibliothèque libhandy, qui jouera un rôle central dans la définition du langage visuel et de l’expérience utilisateur des applications GNOME.

GNOME et GTK

Depuis 20 ans, GNOME définit les directives pour les interfaces humaines (human interface guideslines, abrégées HIG) qui sont suivies par les applications ciblant la plateforme.

L’implémentation des HIG requiert beaucoup de travail manuel pour les développeurs d’applications. Ça a amené beaucoup de copier-coller de code d’interface utilisateur, plein de légères variations et erreurs d’interprétations et ça a rendu les applications difficiles à maintenir et remplies d’incohérences visuelles et comportementales. Le fait que ces directives ne soient pas gravées dans le marbre et qu’elles évoluent très souvent a fait exploser la quantité d’incohérences.

Le respect des directives peut être simplifié avec une bibliothèque offrant des widgets et styles adaptés. Ce rôle a été rempli par GTK à cause de ses liens très forts avec le projet GNOME: Adwaita est à la fois le langage visuel de GNOME et le thème par défaut de GTK. Cependant, c’est assez problématique, parce que GTK dessert plusieurs publics et plateformes, et que ça favorise GNOME à la place des autres.

Cette situation amène aussi des conflits de cycle de vie : la machinerie GTK doit être extrêmement stable et ne peut pas évoluer dans une course rapide, alors que les directives de GNOME et Adwaita évoluent en comparaison beaucoup plus vite et tireraient bénéfice d’une bibliothèque suivant le rythme des designs les plus récents.

Démêler les 2 projets

Le besoin d’offrir à GNOME une bibliothèque qui avance plus vite a rapidement grandi dans la communauté et beaucoup de bibliothèques de widgets ont comblé le vide : libdazzle, libegg, libgd et libhandy pour en nommer quelques-unes. Ça a amélioré la situation, mais ça a juste contourné les problèmes plutôt que de les résoudre. GNOME a besoin d’une bibliothèque officielle implémentant rapidement les HIG et développée en collaboration avec l’équipe design. Une telle bibliothèque définirait le langage visuel de GNOME en offrant les feuilles de style et les modèles dans un unique paquet.

Ainsi, GTK pourrait évoluer indépendamment de GNOME, à un rythme suivant ses besoins. Il pourrait se focaliser sur des widgets plus génériques et sur le cœur de sa machinerie, simplifiant son support de thème en le rendant plus flexible. En plus, ça permettrait aux autres utilisateurs de GTK de jouer dans la même cour : du point de vue de GTK, GNOME, elementary et Inskape ne feraient plus aucune différence, et cette hypothétique bibliothèque de GNOME remplirait le même rôle que Granite pour elementary.

L’introduction de cette bibliothèque ne devrait pas rendre GTK moins utile sur les autres plateformes ou rendre les applications GTK plus difficiles à construire (ou plus vilaines). Ça devrait simplement être une autre bibliothèque dont vous pouvez choisir de dépendre si vous voulez que votre application s’intègre bien avec GNOME.

Adwaita

Pour résoudre le besoin d’indépendance de GTK et celui de l’évolution plus rapide de GNOME, nous sommes en train de créer le projet libadwaita.

Adwaita est le nom de l’identité et du langage visuel de GNOME et il est déjà utilisé par deux projets qui l’implémentent: la feuille de style GTK Adwaita et l’ensemble d’icônes Adwaita. Cette nouvelle bibliothèque libadwaita a l’intention d’étendre ce concept en étant la partie code logiciel qui manque à Adwaita. La bibliothèque sera implémentée comme le successeur GTK4 et remplaçant de libhandy et elle sera développée par les développeurs actuels de libhandy.

La feuille de style Adwaita sera déplacée dans libadwaita, ainsi que ses variantes tels que HighContrast et HighContrastInverse. GTK utilisera une copie de cette feuille de style renommée Default, qui se concentrera sur les besoins des applications GTK pures. Pour plus d’informations, lisez le rapport de bug gtk#3582 et la demande de fusion gtk!3079. Nous voulons que ça arrive rapidement dans le développement de libadwaita.

Comme elle implémentera les HIG de GNOME, les développeurs de la bibliothèque travailleront en étroite collaboration avec l’équipe design de GNOME. L’équipe design fera également des revues de l’ensemble de départ des widgets et styles hérités de libhandy, s’assurant qu’ils sont d’équerre avec les directives qu’ils ont développées et qu’ils rafraîchiront pour GNOME 41.

La transition est actuellement développée en étroite collaboration entre les développeurs GTK, les développeurs de libhandy et l’équipe design de GNOME. Elle a été également discutée avec une variété d’autres développeurs de GNOME et elementary.

Donnez-la-moi !

Si vous êtes un développeur d’application GNOME, vous voudrez sûrement porter votre application depuis GTK3 (et libhandy) vers GTK4 et libadwaita à temps pour GNOME 41. Vous pouvez trouver libadwaita sur le Gitlab de GNOME et vous pouvez joindre les développeurs sur le salon Matrix #libadwaita:gnome.org. Vous pouvez aussi les joindre sur le salon IRC #libadwaita sur GIMPnet.

Le projet libadwaita suivra les mises à jour des HIG, et les sorties suivront le calendrier de GNOME. Chaque version de la bibliothèque ciblera une version spécifique de GNOME, la première version stable sera livrée avec GNOME 41.

La première version stable de la bibliothèque sera la version 1.0. Nous ne suivrons pas les numéros de version de GNOME, car les versions majeures de la bibliothèque Adwaita s’étendront sur plusieurs sorties de GNOME, sinon, ça serait ingérable pour les développeurs d’application. Les versions majeures seront installables en parallèles.

La bibliothèque n’est pas tout à fait prête à être utilisée maintenant, nous devons corriger quelques problèmes restants, écrire un guide de migration et sortir une première version alpha que vous pourrez cibler en toute sécurité. Nous sortirons ensuite plusieurs versions alphas et les guides de migrations correspondant, pour que vous puissiez mettre à jour en sécurité votre application pendant que nous stabiliserons libadwaita 1.0 sans même casser vos builds.

À partir de maintenant, le rythme de développement de libhandy va extrêmement ralentir pour que nous nous concentrions sur le développement de libadwaita. Toute amélioration faite pour libhandy doit dorénavant d’abord être implémentée dans libadwaita.

Nous espérons que les utilisateurs GTK 4 se réjouissent de leur indépendance accrue et que les développeurs d’applications GNOME se sentent valorisés !

Merci aux développeurs GTK, à l’équipe design de GNOME et à Alexander Mikhaylenko pour l’aide apportée lors de l’écriture de cet article.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Agenda du Libre pour la semaine 15 de l'année 2021

dim, 11/04/2021 - 15:59

N. D. M. : vu le contexte de pandémie de Covid‑19 et les restrictions locales ou nationales (Belgique, France, Québec et Suisse) sur les rassemblements, certains événements sont susceptibles d’être annulés (que les organisateurs aient pensé à mettre à jour l’Agenda du Libre ou non).

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 24 événements (France: 22, autre: 1, Belgique: 1) est en seconde partie de dépêche.

Sommaire [autre] Mapathon Missing Maps 2021 - Le lundi 12 avril 2021 de 18h00 à 20h00.

Vous voudriez vous engager pour une cause forte, rencontrer de nouvelles personnes dans le confort de votre foyer et apprendre à cartographier ?

CartONG vous invite à participer à un ou plusieurs mapathons en ligne !

Venez découvrir la cartographie participative et nous aider à cartographier des zones qui n’apparaissent pas encore sur les cartes au Soudan, en Éthiopie, en Mongolie, en Haïti ou autres à partir d’une image satellite sur OpenStreetMap, la carte du monde libre et collaborative !

Pas besoin d’être un·e expert·e, c’est convivial, gratuit et accessible à tout le monde !

Pour vous inscrire, contactez-nous à l’adresse missingmaps@cartong.org ou cliquez sur le lien suivant :https://www.eventbrite.ca/e/133090064967

[FR Nantes] Visioconférence Monnaie Libre - Le lundi 12 avril 2021 de 19h30 à 21h00.

Vous vous interrogez sur les produits que vous achetez : d’où ça vient, comment c’est fabriqué, est-ce équitable, écologique?

Avez-vous pensé à vous poser les mêmes questions concernant la monnaie que vous utilisez chaque jour?

Dans le cadre de la transition écologique, la monnaie joue un rôle majeur.

Savez-vous qui crée les unités monétaires que vous “possédez”?

La monnaie libre permet de garantir la valeur et de privilégier l’humain.
Elle appartient à ses utilisateurs et non pas à une banque.
Elle est créée par les utilisateurs et non par la dette ni par minage.
Elle participe pleinement à la phase de résilience qui va suivre les bouleversements économiques majeurs qui s’annoncent.
Elle existe depuis 3,5 ans et ne nécessite aucun frais d’entrée ou de gestion.
C’est  une monnaie  qui peut être utilisée localement mais qui ne connaît pas de frontières
Elle intègre un dividende universel attribué automatiquement chaque jour.

C’est une autre façon de voir le revenu universel et c’est opérationnel dès aujourd’hui.

Dans le but de faire toutes les visio concernant la monnaie libre au même endroit.  À partir du mois d’octobre nouvelle adresse pour les visio discussions : https://meet.jit.si/Monnaie-libre 
Un petit tuto pour utiliser jitsi : cliquez ici
Pour toutes questions préalables voir Forum : visio-conference-tous-les-lundi-soir

La réunion commence à 19h30 mais on teste les connexions à partir de 19h20 (privilégier le câble).

Il n’y a pas vraiment de présentation, ces visioconférences sont faites pour faire connaissance (activez vos caméras), et répondre aux questions, en préparation de rencontres réelles pour utiliser cette monnaie.

Quelques vidéos de présentation sur youtube

[FR Brignoles] Visioconférence Groupe Monnaie Libre - Le lundi 12 avril 2021 de 21h00 à 23h00.

Visioconférences Monnaie Libre chaque lundi à 21h !

La Monnaie Libre Ğ1 qu’est-ce que c’est ?

La monnaie libre s’appelle la June : Ğ1. Elle est différente de l’euro. Elle est aussi numérique (seules quelques unités sont imprimées sur des billets), mais surtout, elle est totalement libre. Et même plus encore, nous pouvons la créer !!

Elle correspond un peu à un revenu complémentaire. Elle n’a pas de frontière, elle peut être créée et utilisée là où les gens le souhaitent !

Pourquoi créer une monnaie libre ?

Pour répondre à de nombreux problèmes…

Endettement, surendettement, faillite, spéculation démesurée, corruption, chômage, pauvreté, inégalités sociales croissantes…

En fait, c’est une autre façon de fonctionner en parallèle de l’euro. Une manière d’être un peu plus libre !

Réapprenons à vivre ensemble !

Pour rejoindre la visioconférence il vous suffit de cliquer sur ce lien => https://meet.jit.si/monnaielibre83

Dans la mesure du possible, il est recommandé de vous équiper d’un casque ou micro-casque, cela sera plus agréable au niveau son.

Les premières sessions seront assez généralistes pour présenter la Monnaie Libre et procéder également à l’ouverture de comptes.

Mais nous aborderons également les idées de projets que les membres ont ou pourraient avoir et nous organiserons des séances dédiées.

Par avance merci de partager et pour votre future participation.

Prenez soin de vous et de vos proches.
Amicalement, Francis.

[FR Paris] Émission « Libre à vous ! » - Le mardi 13 avril 2021 de 15h30 à 17h00.

L’émission Libre à vous ! de l’April est diffusée chaque mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande FM en région parisienne (93.1) et sur le site web de la radio.

Le podcast de l’émission, les podcasts par sujets traités et les références citées sont disponibles dès que possible sur le site consacré à l’émission, quelques jours après l’émission en général.

Les ambitions de l’émission Libre à vous !

La radio Cause commune a commencé à émettre fin 2017 sur la bande FM en région parisienne (93.1) et sur Internet.

Depuis mai 2018, l’April anime une émission d’explications et d’échanges sur la radio Cause Commune sur les thèmes des libertés informatiques.

Libre à vous ! se veut avant tout une émission d’explications et d’échanges sur les dossiers politiques et juridiques que traite l’April, et sur les actions qu’elle mène.

Pour les libertés informatiques en général, et pour le logiciel libre en particulier.

Libre à vous ! c’est aussi un point sur les actualités du Libre, des personnes invitées aux profils variés, de la musique sous licence libre, des actions de sensibilisation.

Donner à chacun et chacune, de manière simple et accessible, les clefs pour comprendre les enjeux mais aussi proposer des moyens d’action, tel est l’objectif de cette émission hebdomadaire, qui est diffusée en direct chaque mardi du mois de 15 h 30 à 17 h.

L’émission dispose :

[FR Tours] Permanence ADeTI - Le mardi 13 avril 2021 de 18h30 à 20h30.

La permanence d’ADeTI est un moment d’accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian…)  mais aussi :

  • réparer les problèmes de logiciels sur son ordinateur
  • prendre des conseils pour choisir des logiciels alternatifs
  • différencier les logiciels libres utilisables pour répondre aux besoins
  • préserver et réfléchir sur ses usages (vie privée, éthique…)

Mais c’est aussi un moment consacré pour :

  • partager des connaissances et échanger des savoirs
  • maîtriser les formats ouverts et la pérennité de ses documents
  • Confidentialité, intégrité et disponibilité des systèmes d’information
  • Diversité des alternatives
  • Indépendance

Nous accueillons également des membres de l’association Touraine Data Network et A-Hébergement qui peuvent répondre aux questions concernant Internet, les réseaux et l’hébergement : connexion à Internet, alternatives aux “Box” et aux opérateurs/FAI commerciaux, Neutralité du Net, Vie Privée, Blog, Site Internet/Web…

[BE Saint-Gilles] Info Linux - Atelier du Web - Le mercredi 14 avril 2021 de 09h30 à 12h00.

Longue vie aux Logiciels Libres !

Article de Reporterre : « Microsoft envoie 500 millions d’ordinateurs à la poubelle »
À lire sur : http://www.reporterre.net/spip.php?article5681

C’est l’occasion de venir tester et essayer une distribution GNU/Linux, qui pourra remplacer facilement ce système d’exploitation Windows XP (c), avec tous les avantages liés au monde du « logiciel libre »…

GNU/Linux et les logiciels libres : plus que des mots, venez découvrir et/ou faire installer de manière vivante ce qui va changer votre vision de l’informatique.

Les mercredis de l’atelier du web, TOUS LES MERCREDI chaque mois (sauf les jours fériés, périodes de vacances scolaires)…

Sauf en cas d’urgence tel que confinement
 de 10h00 à 12h00
 où : 37 rue du Fort - 1060 Saint-Gilles

C’est l’occasion pour vous de venir découvrir l’informatique libre et gratuite.
Principales questions, avec les logiciels libres :
Peut-on ouvrir des fichiers Word (c), Excel(c) ou Powerpoint(c) ? Oui
Y a-t-il un support linguistique ? Oui, il y a beaucoup de langues supportées (français, néerlandais, allemand, anglais, espagnol, italien, etc.)

Pour information : les équivalences de logiciels tournant sur Windows(c) et GNU/Linux

Atelier

L’atelier du web, c’est TOUS LES MERCREDI, chaque mois (sauf les jours fériés, périodes de vacances scolaires)…

  • De  9h30 à 12h00
  • où : 37 rue du Fort - 1060 Saint-Gilles

Par prudence il faut vérifier dans l’agenda du bxlug.be

ATTENTION !!!! DANS LE CADRE REGRETTABLE DE LA PANDÉMIE DU COVID-19. L’ATELIER DU WEB ACCEPTE LA PRÉSENCE QUE D’UNE SEULE PERSONNE PAR SESSION DU MERCREDI MATIN.

SUR LE MÊME PRINCIPE UNE AUTRE SESSION PEUT ÊTRE ENVISAGÉE LE JEUDI MATIN.

En conséquence : Il faut prendre rendez-vous au préalable avec moi au 02/347.55.94

Rappel : La permanence du MERCREDI est UNE ACTIVITÉ CONSACRÉE UNIQUEMENT À DE NOUVELLE INSTALLATION (sur PC portable)…

C’est l’occasion pour vous de venir découvrir l’informatique libre et gratuite.

Se préparer

Il est impératif avant l’installation d’une distribution GNU/Linux. D’effectuer une sauvegarde de TOUS le(s) disque(s) durs et QUE l’installation ait débuté avant 10h30 au plus tard !

DÉSOLÉ, mais CETTE permanence de deux heures de m’oblige à REFUSER TOUTES résolutions de certains problèmes ou conseil technique…
En aucun cas une maintenance ne pourra être assurée ; le SAI (Service Après Installation), pour des conseils pratiques, mise à jour sur les distributions déjà installées, SEULES les LCP peuvent répondre à ces demandes spécifiques…

Éventuellement le JEUDI MATIN à l’atelier du web ou chez Oxfam-informatique pourrait être consacré et réservé à ceux qui auront pris rendez-vous

Contact

Jean-Paul Biérent : jpbxlug[arobase]gmail.com de préférence au 02/347.55.94 ou 0475/918.033 appelez de 9h00 à 12h00 et 15h00 à 18h00.

Une autre LCP est organisée par Oxfam-informatique. Le dernier jeudi de chaque mois de 17h30 à 20h00 « Oxfam Ixelles ») 252, Chaussée d’Ixelles 1050 Ixelles (02/647.48.51) IMPOSSIBLE DANS LE CADRE DU CONFINEMENT…

[FR Vandœuvre-lès-Nancy] Monter des vidéos - Le mercredi 14 avril 2021 de 15h00 à 17h00.

Pour réaliser de petits montages vidéos, en combinant des successions de photos et/ou de séquences vidéos, accompagnés de musiques et d’effets de transitions.

Idéal à diffuser lors d’événements, ou si vous avez une âme créative.

Horaires

Cette animation se déroule l’après-midi, de 15 h à 17 h.

Inscription gratuite aux animations

La participation est limitée au nombre de places. Pré-inscription possible depuis le site web.

[FR Beauvais] Sensibilisation et partage autour du Libre - Le mercredi 14 avril 2021 de 18h00 à 20h00.

Chaque mercredi soir, l’association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l’utilisation des logiciels libres, que ce soit à propos du système d’exploitation Linux, des applications libres ou des services en ligne libres.

C’est l’occasion aussi de mettre en avant l’action des associations fédératrices telles que l’April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

[FR Montpellier] Wikipermanence - Le mercredi 14 avril 2021 de 18h30 à 22h00.

Une Wikipermanence est une rencontre physique entre des Wikipédiens chevronnés et de nouveaux ou futurs Wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia.

Il ne s’agit pas d’une simple rencontre entre Wikipédiens : la Wikipermanence organisée par le groupe local de Montpellier est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et permettre un suivi.

Pour cette soirée, chacun amène ce qu’il veut à manger et à boire pour un repas partagé.

Cette rencontre nous permettra d’aborder les sujets suivants :

Le programme :

  • Information sur la communauté Wikipédia ;
  • Initiation des débutants ;
  • Nous contribuerons sur la mise à jour des différentes pages, sur les Wikipermanences que Montpel’libre organise à Montpellier et à Béziers ;
  • Atelier d’écriture ;
  • Échanger d’expériences ;
  • Proposition d’éditathon ;
  • Contributions libres ;
  • …et tout simplement, passer un moment convivial.

Si vous avez des propositions, n’hésitez pas à compléter la page dédiée sur Wikipédia.

N’hésitez pas à venir : c’est sans inscription, et vous l’aurez deviné, libre et gratuit !

Wikipédia est une encyclopédie libre rédigée collaborativement par des milliers d’internautes. Mais, saviez-vous que vous pouviez y participer ?

En apportant des connaissances, en créant ou améliorant des articles, en prenant des photos, ou simplement en corrigeant des fautes, vous pouvez contribuer à ce grand projet d’encyclopédie collaborative.

Alors, venez participer aux rendez-vous des Wikipermanences de Montpellier qui auront lieu à l’Atelier de Pigistes, le deuxième lundi de chaque mois, de 18h30 à 22h00.

Cet événement vous est proposé dans le cadre du partenariat qui lie le Club de la Presse, Wikimédia France, Wikimedia Foundation, Wikimedia Educationet Montpel’libre.

Lundi 13 janvier 2020 de 18h30 à 22h00 (2ᵉ lundi de chaque mois)
Atelier des Pigistes au 171, rue Frimaire, 34000 Montpellier

[FR Lyon] Hadoly: permanence du chaton lyonnais - Le mercredi 14 avril 2021 de 19h00 à 21h00.

La permanence (mensuelle) d’Hadoly (Hébergeur Associatif Décentralisé et Ouvert à LYon), chaton lyonnais, est l’occasion d’échanger avec les membres de l’asso sur les services et moyens mis à disposition des adhérents afin de se libérer des Gafams tout en grignotant et en en buvant un coup (n’hésitez pas à apporter quelque chose).

!!! COVID : réunion en visio : écrire au contact pour obtenir l’adresse URL de la visio, merci !!!

Nous partageons du mail, du cloud, et d’autres services, le tout basé exclusivement sur des logiciels libres avec le respect de la neutralité du net et de la vie privée.

Et en plus l’hébergement est physiquement local!

[FR Cappelle en Pévèle] Mercredis Linux - Le mercredi 14 avril 2021 de 21h00 à 23h30.

L’Association Club Linux Nord Pas-de-Calais organise chaque mois une permanence Logiciels Libres ouverte à tous, membre de l’association ou non, débutant ou expert, curieux ou passionné.

Les mercredi Linux sont des réunions mensuelles désormais organisées le mercredi. Ces réunions sont l’occasion de se rencontrer, d’échanger des idées ou des conseils.

Régulièrement, des présentations thématiques sont réalisées lors de ces réunions, bien sûr, toujours autour des logiciels libres.

Durant cette permanence, vous pourrez trouver des réponses aux questions que vous vous posez au sujet du Logiciel Libre, ainsi que de l’aide pour résoudre vos problèmes d’installation, de configuration et d’utilisation de Logiciels Libres. N’hésitez pas à apporter votre ordinateur, afin que les autres participants puissent vous aider.

Depuis le confinement Covid19, ces permanences ont lieu en visio-conférence avec le logiciel Big Blue Buttoen visio-conférence avec le logiciel Big Blue Button

Le lien est communiqué sur la liste de l’association peu de temps avant l’ouverture.

[FR La Ferté Saint-Aubin] Réunion mensuelle - Le vendredi 16 avril 2021 de 20h30 à 23h30.

Réunion mensuelle de l’association, en visio ou en réel selon les conditions sanitaires du moment.

L’ordre du jour sera disponible quelques jours avant la réunion à l’adresse http://www.rebootinformatique.org/agenda

La réunion est ouverte à tout le monde, adhérent ou pas, à tous les curieux. On parlera Linux (installation d’OS), logiciels libres (bureautique, web, cloud…), réemploi (réfection d’ordinateurs), raspberry pi, smartphones, etc. ou d’autres choses selon les envies ou les besoins de chacun.

[FR Cutry] Lab_oh ! - Ateliers découverte GNU/LInux - Le samedi 17 avril 2021 de 09h00 à 11h00.

Tous les samedis matin de 09: 00 à 11: 00.

On découvre, on apprend à utiliser Debian GNU/Linux et tous les logiciels libres qui gravitent autour…

[FR Vandœuvre-lès-Nancy] Initiation à la fabrication additive - Le samedi 17 avril 2021 de 10h00 à 12h00.

Concept de l’Atelier libre

Les usagers de la FCCL sont invités à partager leurs savoirs pour trouver ensemble, une solution à une problématique posée. Toute idée peut être proposée à l’occasion d’un atelier à condition bien sûr qu’elle soit cohérente avec la philosophie de la culture du libre.

Thème du jour

Introduction à l’impression 3d, explication à l’usage de la machine d’impression, découvrir les différentes variantes de filaments.

Horaires

Cette animation se déroule le matin, de 10 h à 12 h.

Inscription aux ateliers

La participation est limitée au nombre de places. Pré-inscription possible depuis le site web.

[FR Aix-en-Provence] Samedi Libre - Le samedi 17 avril 2021 de 10h00 à 17h00.

CE SAMEDI LIBRE SERA PROBABLEMENT VIRTUEL

PROGRAMME DE LA RÉUNION RÉELLE ÉVENTUELLE

  • Vérifier cette page avant de vous déplacer !
  • Les activités ci-dessous pourraient se dérouler au Centre des Amandiers en respectant strictement tous les gestes barrières.

10h00 - 11h00 : Démonstrations et interventions distanciées sur rendez-vous

11h00 - 12h30 : Atelier distancié à préciser (Partie 1)

12h30 - 14h00 : Déjeuner distancié et discussions

14h00 - 15h30 : Atelier distancié à préciser (Partie 2)

15h30 - 17h00 : Démonstrations et interventions distanciées sur rendez-vous

INFORMATIONS GÉNÉRALES :

Ces Samedis Libres sont organisés par l'Axul en collaboration avec plusieurs associations de logiciels libres des Bouches-du-Rhône.

Ils proposent des présentations générales et une aide technique pour le dépannage et la mise à jour d’ordinateurs avec des logiciels libres. Ils présentent aussi des démonstrations de matériels libres.

Des informations sont disponibles sur la Culture Libre (OpenStreetMap, Wikipedia…).

PRÉSENTATIONS POSSIBLES (sur réservation) :

Présentation de livres et de sites Internet consacrés au Libre

Présentation d’un Fairphone, un téléphone libre et éthique

Présentation du micro-ordinateur micro:bit conçu pour rendre l’enseignement et l’apprentissage facile et amusant

Présentation du micro-ordinateur PyBoard co-développé avec le langage MicroPython

Présentation du micro-ordinateur Raspberry Pi 400 un ordinateur DANS un clavier pour la découverte de l’informatique et de l’électronique

Présentations liées aux nouveaux programmes scolaires sur le codage

Autres Présentations

  • Distribution Emmabuntüs pour la rénovation d’ordinateurs anciens.
  • Distribution PrimTux pour les élèves de l’école primaire.
  • Distributions Linux installées sur des clefs USB insérées dans des ordinateurs Linux, Windows 7 ou Windows 10.
  • Cohabitation Linux - Windows 10 : le cas d’Ubuntu 64 bits.
  • Évolution du projet pédagogique OLPC (One Laptop per Child) : ordinateur XO-4, tablette OLPC partiellement libérée avec F-Droid et différentes machines avec la plate-forme pédagogique Sugarizer.

NB : Certaines démonstrations pédagogiques sont en libre service. Les autres démonstrations seront normalement possibles toute la journée : elles seront lancées en fonction des souhaits des visiteurs et des disponibilités des spécialistes.

Adresse : Centre Social et Culturel des Amandiers, 8 allée des Amandiers, Jas-de-Bouffan (cliquer sur ce dernier lien pour avoir un plan détaillé).

Ces samedis libres et gratuits sont ouverts à toutes et à tous, débutantEs ou expertEs GNU/Linux, membres ou non d’associations du Libre. Les locaux sont au rez-de chaussée et accessibles par tous.

Entrée Libre. Tout Public.

Prochaine réunion :

[FR La Ferté Saint-Aubin] Recyclerie ou l’Art de la Récup - Le samedi 17 avril 2021 de 10h00 à 18h00.

Journée dédiée au réemploi et à l’artisanat de récupération.

L’association Re-Boot participe en proposant des ordinateurs dotés d’un système d’exploitation libre à petit prix.

[FR Wintzenheim] Réunion du Club Linux - Le samedi 17 avril 2021 de 13h00 à 19h00.

Comme tous les 3 samedis, le Club Linux de la MJC du Cheval Blanc se réunit et accueille toutes les personnes qui souhaitent découvrir ou approfondir Linux et les Logiciels Libres. Aucune compétence n’est demandée.

Pendant ces rencontres, informelles,

  • nous accueillons celles et ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres,
  • nous installons Linux sur des ordinateurs, la plupart des fois en "dual boot"(*), ce qui permet de conserver l’ancien système (par exemple Windows) et d’utiliser quand même Linux, en choisissant au démarrage,
  • nous partageons nos recherches et nos découvertes, les nouveautés.

Le Club Linux est également impliqué dans une démarche de libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de promotion de solutions libres comme, entre autres, Wikipedia, OpenStreetMap, les Framatrucs (*), les C.H.A.T.O.N.S (*) et beaucoup d’autres.

(*) : mais on vous expliquera

[FR Murbach] Réunion informatisée - Le samedi 17 avril 2021 de 13h30 à 18h00.

L’association LUG68 vous invite à sa prochaine réunion informatisée mensuelle, le samedi après-midi à Murbach-près-Guebwiller, où vous pouvez venir avec votre machine, portable ou fixe pour :

  • installer GNU/Linux à côté ou en remplacement de votre système existant
  • demander de l’aide sur un logiciel libre (toute plateforme)
  • découvrir un tas de logiciels libres, fonctionnels et puissants !

Pour ceux qui viennent avec une tour, nous avons des écrans VGA sur place et un charriot pour transporter le matériel au 2ᵉ étage avec l’ascenseur.

Pensez simplement à ramener clavier, souris, et câble réseau RJ45 !

Côté fonctionnement, nous ne faisons pas de formation informatique à proprement parler : chacun vient avec ses besoins et/ou désirs, et avance à son rythme, en sollicitant l’aide des membres présents, dans une ambiance chaleureuse et conviviale !

Tous les autres détails sont sur notre site internet (rubrique débutants) !

À noter que le Domaine Langmatt est un hôtel-restaurant situé tout en haut de Murbach (800m d’altitude), dans la forêt : il faut dépasser la célèbre abbaye de Murbach, et continuer jusqu’au bout de la route, cf. carte OpenStreetMap.

Le bâtiment qui nous accueille est à gauche, et la salle au 3ᵉ étage !

[FR Vandœuvre-lès-Nancy] Présentation d’OpenStreetMap - Le samedi 17 avril 2021 de 15h00 à 17h00.

OpenStreetMap est une cartographie libre et participative. Souvent comparé à première vue aux services tels que Google Maps et Mappy, OSM n’est pas une simple carte routière, mais bien plus encore !

Fonctionnant sur la contribution collective tel que Wikipédia pour l’encyclopédie, venez découvrir les différents thèmes et usages qui en découlent.

Horaires

Cette animation se déroule l’après-midi, de 15 h à 17 h.

Inscription aux ateliers

La participation est limitée au nombre de places. Pré-inscription possible depuis le site web.

[FR Montpellier] Aprilapéro - Le samedi 17 avril 2021 de 18h45 à 19h30.

Un apéro April consiste à se réunir physiquement afin de se rencontrer, de faire plus ample connaissance, d’échanger, de partager un verre et de quoi manger mais aussi de discuter sur l’actualité et les actions de l’April.

Un apéro April est ouvert à toute personne qui souhaite venir, membre de l’April ou pas. N’hésitez pas à venir nous rencontrer.

Les apéros April auront lieu à Paris vendredi 13 mars 2020, à Marseille vendredi 13 mars et à Montpellier jeudi 19 mars.

Régulièrement Montpel’libre relaie et soutient les actions de l’April. De nombreux Apriliens ont par ailleurs rejoints les rangs de Montpel’libre, lors d’événements tels que les Apéros April, l’AprilCamp ou les Rencontres Mondiales du Logiciel Libre qui ont eu lieu à Montpellier et bien sûr de nombreux Montpel’libristes sont adhérents de l’April.

Nous vous invitons donc à venir nous rejoindre dans une ambiance conviviale, à partager cet apéro, chacun porte quelque chose, boissons, grignotages… et on partage.

Au programme des discussions :

  • Surveillance numérique et libertés fondamentales
  • La souveraineté numérique, pour quoi faire ?

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le DoTank, l’April, API : Action of Public Interest et Montpel’libre.

Jeudi 17 septembre 2020 de 18h45 à 19h30
DoTank au 2, rue du Pavillon, 34000 Montpellier

Tramway lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude : 43.60285 | Longitude : 3.87927
Carte OpenStreetMap

[FR Toulouse] Visioconférence Monnaie Libre - Le samedi 17 avril 2021 de 19h00 à 22h00.

On vous propose une série d’apéro présentation en visioconférence:
La Monnaie Libre en Q&R,
Présentation des projets d’Econolibre,
Présentation de projets de monnaie libristes,
Alors notre monde en Monnaie Libre, comment on le fait?

Chaque samedi à partir de 19h à 22h

Cela nous permettra de nous réunir, de voir comment nous supportons cette folie Covid-1984,
De poser des questions sur la monnaie libre et de présenter les nouveaux projets de l’association ECONOLIBRE et des projets d’autres acteurs Monnaie Libre;
de réfléchir aux projets que nous pouvons faire ensemble, et de mieux nous connaître.

Rien de spécial à installer, ça se passera via le site web Jitsi:
https://meet.jit.si/econolibre

On pourra décider d’autres dates de réunions-visio en format différent (ateliers, cours, etc.) qui sont proposés par l’équipe d’Econolibre.

Détails de l’association sur notre site: https://econolibre.org

On peut manger pendant les réunions (c’est un apéro).

Un petit TUTO pour expliquer comment utiliser Jitsi:
Tuto Meet Jitsi

(si besoin) Une présentation pour les nouveaux monnaie libristes est faite, qui dure moins de 30min et sera suivie de questions réponses.

Quelques vidéos de présentation sur notre chaine Youtube: (Econolibre)
chaîne Youtube Econolibre
et sur notre chaine Odysee:
chaîne Odysee Econolibre

[FR Montpellier] Permanence FSFapéro - Le samedi 17 avril 2021 de 19h30 à 20h15.

Afin de se rencontrer, d’échanger et de faire plus ample connaissance, Montpel’libre lance de nouvelles rencontres surnommées les FSFapéros-FSFE. C’est l’occasion pour les neurones de toutes parts de se réunir physiquement pour discuter, échanger et partager un verre et de quoi grignoter.

Les FSFapéros-FSFE auront lieu tous les 3ᵉ jeudis de chaque mois. Ils sont l’occasion de discussions informelles d’une part et de discussions plus sérieuses sur les différents thèmes d’importance et les différentes actions et campagnes en cours.

Tout le monde est invité et peut venir aux FSFapéros-FSFE, qu’on soit contributeur de longue date, simple intéressé·e par les sujets que défend la Free Software Foundation Europe, ou nouvel·le arrivant·e cherchant à participer davantage. N’hésitez pas à amener vos amis et à leur faire découvrir la Free Software Foundation, la FSFE et Montpel’libre.

Peuvent être aussi abordées des questions sur Les exégètes amateurs ou Open Law.

Au programme des discussions :

  • selon l’actualité du moment

Les FSFapéros (FSFE) Montpellier ont lieu le 3ᵉ jeudi de chaque mois de 19h30 à 20h15

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le DoTank, la Free Software Foundation, la FSFE et Montpel’libre.

Tramway lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude : 43.60285 | Longitude : 3.87927
Carte OpenStreetMap

de 19h30 à 20h15 (3ᵉ jeudi de chaque mois)
DoTank - 2, rue du Pavillon, 34000 Montpellier

[FR Montpellier] Quadrapéro - Le samedi 17 avril 2021 de 20h15 à 21h00.

Afin de se rencontrer, d’échanger et de faire plus ample connaissance, Montpel’libre lance de nouvelles rencontres surnommées les Quadrapéros. C’est l’occasion pour les neurones de toutes parts de se réunir physiquement pour discuter, échanger et partager un verre et de quoi grignoter.

Les Quadrapéros auront lieu tous les 3ᵉ jeudis de chaque mois. Ils sont l’occasion de discussions informelles d’une part et de discussions plus sérieuses sur les différents thèmes d’importance et les différentes actions et campagnes en cours.

Tout le monde est invité aux Quadrapéros, qu’on soit contributeur·rice de longue date, simple intéressé·e par les sujets que défend la Quadrature, ou nouvel·le arrivant·e cherchant à participer davantage. N’hésitez pas à amener vos amis et à leur faire découvrir La Quadrature et Montpel’libre.

Peuvent être aussi abordées des questions sur Les exégètes amateurs ou Open Law.

Au programme des discussions :

  • selon l’actualité du moment

Les Quadrapéros Montpellier ont lieu le 3ᵉ jeudi de chaque mois de 20h15 à 21h00.

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le DoTank, la Quadrature, Montpel’libre et API : Action of Public Interest

Tramway lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude : 43.60285 | Longitude : 3.87927
Carte OpenStreetMap

(3ᵉ jeudi de chaque mois)
DoTank - 2, rue du Pavillon, 34000 Montpellier

[FR Lodève] Aide à l’informatique Libre - Le dimanche 18 avril 2021 de 09h30 à 17h00.

Gagnez votre liberté avec les logiciels logiquement libres !

  • intéressé·es ?
  • envie de pratique ?
  • d’apprendre ?
  • de partager ?
  • de questionner ?

Tous les jeudis et vendredis, venez découvrir Linux et les Logiciels Libres et vous faire aider pour l’installation, l’utilisation et à la prise en main, dans différents lieux. Des ateliers informatiques pour réduire la fracture numérique.

Le contenu de l’atelier s’adapte aux problèmes et aux questionnements des personnes présentes avec leur(s) ordinateur(s), qu’il soit fixe ou portable, et permet ainsi l’acquisition de nouvelles compétences nécessaires à une autonomie numérique certaine, au rythme de chacun. Des ordinateurs sont également mis à la disposition du public.

Pour rester en conformité avec le décret du 31 mai 2020, nous vous rappelons que les masques doivent être portés systématiquement par tous dès lors que les règles de distanciation physique ne peuvent être garanties. Notez bien que le respect des gestes barrières et des règles de distanciation sociale, restent quant à eux, obligatoire.

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible. Rejoindre le groupe Montpel’libre sur Telegram S’inscrire à la Newsletter de Montpel’libre.

Bus Lio, ligne 661, direction Lodève, arrêt Lodève Gare Routière.
GPS Latitude : 43.73094 | Longitude : 3.32060
Carte OpenStreetMap

Jeudis 11 mars 2021 de 9h30 à 12h00 et de 14h00 à 17h00
Shantidas - 11 Grand Rue 34700 Lodève

Ça m’intéresse, je m’inscris !

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Au cœur de l'April et de « Libre à vous ! » — Émission du 30 mars 2021 — Podcasts et références

dim, 11/04/2021 - 11:25

Centième émission « Libre à vous ! » de l’April. Le Podcast et au programme : une émission spéciale avec une nouvelle chronique, de nouveaux jingles et un sujet principal intitulé « Au cœur de l'April et de Libre à vous ! ». Nous avons parlé de l'April, de certaines de nos actions, des coulisses de l'émission, de la radio.

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 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.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Nouveau clip full-FOSS des PlagiatBros : J'ai Acheté·r un Agno Gastrik sur Wish 'n' Lidl + suicide F

sam, 10/04/2021 - 20:55

Les Plagiat Bros, duo basse/batterie/machines libres/chant, dont j'ai déjà ici présenté un précédent opus vidéo qui a depuis obtenu le prix spécial du jury du Festival Clips d'Ici 2021, sont de retours avec un doublé :
- la sortie d'un nouveau clip de rap-in-opposition de 13'34" intégralement réalisé et produit avec des logiciels libres,
- une mise en abîme de leur sortie des réseaux sociaux centralisés : suppression de leur compte Facebook dans un live Facebook (et PeerTube) depuis ledit compte.

La dépêche présente, en plus du contenu artistique, le contexte logiciel utilisé

Nouveau clip : J'ai acheté·r un AGNO GASTRIK chez Wish & Lidl

A regarder sur Peertube :

Plagiat - J'ai acheté·r un Agno Gastrik chez Wish & Lidl
Une version 30 FPS est en lien depuis la page Peertube pour celleux pour qui le 60 FPS serait l'image de trop !

Ce nouveau clip de 13'34" (+ le temps que vous passerez peut-être à faire pause pour trouver/lire les nombreux détails) est le cinquième des Plagiat Bros, toujours réalisé intégralement avec des logiciels libres, principalement :
- Kdenlive pour les montage et étalonnage vidéo,
- Ardour pour le mixage audio et le mastering,
sur des machines tournant sur des sytèmes Debian Bullseye.
(liste complète des logiciels utilisés en fin de dépêche)

A noter que le clip se termine sur un featuring live à distance de Vin Rouge (Clermont Ferrand) et Plagiat (Sarthe Me Up), qui a été l'occasion d'expérimenter le logiciel de "gig à distance" Jamulus.

Précisons dès maintenant que ce clip n'a pas été capté avec une caméra en hardware libre, ces dernières étant hors de portée des moyens de l'AMMD pour le moment. Précisons cependant que ça n'a pas été tourné au téléphone portable pour autant !

La musique, le film et les personnages sont diffusés sous Licence CC BY-SA 4.0, et les sources seront disponibles en ligne prochainement sur archive.org (l'article sera mis à jour dès que le lien sera accessible).

Sortie des réseaux sociaux : le suicide social des Plagiat Bros sur FB-Live

A l'occasion de cette sortie, les Plagiat Bros ont annoncé un Live Facebook et Peertube pour la 1ère diffusion de leur clip, mais… Plutôt que de streamer le clip, les Plagiat Bros ont simplement supprimé leur compte Facebook en live sur Facebook depuis leur compte (vous me suivez ?).
Cet instant mémorable est disponible sur Peertube avec une bande son ré-écrite pour l'occasion :

Plagiat -Facebook Suicide Sociable (track(t)er version)

Ce que vous avez loupé

Entre le clip de Respecte la Puissance Papale sorti il y a un peu plus d'un an et celui de J'ai Acheté·r un Agno Gastrik chez Wish & Lidl, les Plagiat Bros n'ont pas chômé, sortant par ailleurs 3 autres clips dont je ne suis pas venu vous parler, que vous pouvez retrouver ici : https://plagiat.org/clips.

Enjoy !

Liste des logiciels utilisés : Système Audio Système DAW Greffons
  • Ardour : a-High/Low Pass
  • Bitrot : Tapestop/ Crusher
  • CAPS : Scape, PlateX2, AmpVTS
  • Calf : Gate, Bass Enhancer, Equalizer 8 Band, Mono Comp, Compressor, Emphasis, Vintage Delay, Tape Simulator, Sidechain Compressor, Exciter, Ring Modulator, Pulsator, Saturator, Envelope filte, Multiband Comp, Limiter
  • lsp-plugins : 32 band stereo
  • Invada : Delay Munge
  • MDA : Transient, Detune, Bandisto, Rezfilter, Degrade
  • SWH :Ringmod with LFO, Reverse delay, L/C/R Delay, vocoder
  • TAP : Autopanner, Reverberator
  • x42-plugins : x42-fat1 autotune (microtonal), EBU meters
  • zita : zita-reverb
  • Gverb
  • freeverb
Instruments Autres Video Autres
  • node.js, emacs et atom pour la génération de l'environnement "a la Twitch / Cyberpunk" de la dernière partie du clip.
Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Revue de presse — avril 2021

ven, 09/04/2021 - 09:17

Un mois d’avril encore très particulier et tout de même quelques nouveautés sont arrivées chez votre marchand de journaux. Voici donc un petit tour subjectif et parti{e,a}l de la presse papier, celle que vous pouvez encore trouver dans vos kiosques à journaux préférés (avant 19h00 pour la France métropolitaine).

Les nouveautés d’avril 2021 :

  • GNU/Linux Magazine France no 247 creuse toujours plus profond votre apprentissage au confins de l'informatique périphérique (ou l’inverse ?) ;
  • Planète Linux no 119 cherche la distribution qui domine le monde marché ;
  • Hackable no 37 nous fait découvrir la nouvelle Raspberry Pi Pico.

Et toujours disponibles :

  • Linux Pratique no 124 reste dans la mouvance « DevOps » avec de nouveaux outils passés en revue ;
  • GNU/Linux Magazine hors‑série no 113 et la maintenance du code legacy ;
  • Linux Identity Starter no 42 avec du Ubuntu 20.10 pour ceux qui n’ont pas de connexion ou forfait adapté ;
  • MISC magazine no 114 consacre son dossier aux puces sécurisées.

Tour d’horizon plus détaillé des nouveautés dans la suite de cette dépêche.
Bonnes lectures !

Les sommaires des numéros sortis en avril 2021 ) GNU/Linux Magazine numéro 247

Au sommaire de ce numéro d’avril 2021 :

  • Les barrages se tordent (de rire) : comparaison d'images (mal) géoréférencées avec l'interférométrie par RADAR spatioporté ;
  • Prise en main de la NVIDIA Jetson Nano pour le Deep Learning & Edge Computing ;
  • Outils & Système : C’est l’histoire d’un make… ;
  • Kernel : À la découverte des namespaces mount et uts ;
  • « Abracadabra, Python ! » : les méthodes magiques en Python ;
  • Un alter ego d’Eliza en Java faisant du calcul symbolique ;
  • Godot : comment créer un jeu d’aventure.
Planète Linux numéro 119

Au sommaire de ce numéro de février et mars 2021 :

  • Distributions : qui domine le marché ;
  • Quelle distribution pour avoir les nouveautés ;
  • MOFO Linux 7 ;
  • Linux Lite 5.2 ;
  • Plusieurs distributions sur une seule clef ;
  • Vers un internet payant ?
  • Installer et configurer Grammalecte ;
  • Lire et transférer un ebook avec DRM sous Linux (ou pas) ;
  • Gestion de fichiers avec panneau double ;
  • Agenda avec Nextcloud ;
  • Donner un look MacOS à votre bureau ;
  • Mailvelope : chiffrer son webmail ;
  • Nextcloud : son propre serveur perso ;
  • Gérer votre wifi avec iwd.
Hackable numéro 37

Au sommaire de ce numéro d'avril à juin 2021 :

  • De la preuve formelle en Verilog, librement ;
  • On ne compile jamais sur la cible embarquée » : Buildroot propose GNU Radio sur Raspberry Pi (et autres) ;
  • Raspberry Pi Pico, Arduino killer ?
  • Installer OpenOCD spécial Pico pour votre Debian ;
  • Mesurer l’éclairement avec Arduino ;
  • Programmation avec le 6502 : vers des jeux plus évolués ;
  • Une nouvelle méthode d’imagerie tridimensionnelle pour la rétro-ingénierie des circuits intégrés.
Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus

Les journaux LinuxFr.org les mieux notés de mars 2021

ven, 09/04/2021 - 00:13

LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l’équipe de modération avant publication. C’est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

Ce que l’on sait moins, c’est que LinuxFr.org vous propose également à tous de tenir vos propres articles directement publiables, sans validation a priori de lʼéquipe de modération. Ceux-ci s’appellent des journaux. Voici un florilège d’une dizaine de ces journaux parmi les mieux notés par les utilisateurs et les utilisatrices… qui notent. Lumière sur ceux du mois de mars passé.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Catégories: Les actus