Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

QSPTAG #314 — 18 octobre 2024

Par : robinson
18 octobre 2024 à 10:24

CNAF : recours collectif contre l’algo de la galère

La Quadrature travaille depuis des années sur les algorithmes utilisés par les administrations et les services sociaux, et en particulier sur l’algorithme de « scoring » de la Caisse nationale d’allocations familiales (CNAF). Il a fallu d’abord batailler contre l’administration pour obtenir la communication du code source, avant de publier en novembre 2023 l’analyse de la version n-1 de cet algo, la CNAF ayant refusé de fournir le code de l’algorithme en usage aujourd’hui. Et ce 16 octobre, La Quadrature et 14 autres associations de défense des droits attaquent donc l’algorithme de la CNAF devant le Conseil d’État, pour discrimination et surveillance excessive.

Cet algorithme analyse chaque mois les données personnelles (et intimes) de 13 millions de foyers touchant des allocations familiales, soit environ 32 millions de personnes en France, pour leur attribuer un « score de risque ». Si ce score est trop élevé, un contrôle est déclenché.
La CNAF présente cet outil comme un « algorithme de lutte contre la fraude ». En réalité, l’algorithme n’est évidemment pas capable de détecter des fraudes, qui supposent un mensonge intentionnel impossible à traduire en calcul. En revanche, que peut faire un algorithme ? Il peut identifier les personnes les plus susceptibles d’avoir reçu des « indus » ou des « trop-perçus », c’est-à-dire des sommes supérieures à ce que le calcul de leurs droits leur destine. Comment ? En identifiant les personnes dont la situation est la plus susceptible de provoquer des erreurs de déclaration. Qui sont ces personnes ? Celles qui changent souvent d’adresse, de travail, de situation familiale, qui sont mères célibataires, qui bénéficient de minima sociaux ou ont de faibles revenus. C’est-à-dire celles dont la vie est la plus marquée par la précarité.
Voici comment, sous couvert de « lutter contre la fraude », on traque systématiquement les personnes en difficulté.

L’analyse du code source a confirmé sans ambiguïté la fonction discriminatoire de cet algorithme. Les critères choisis et leur pondération ciblent de façon délibérée les personnes les plus précaires : famille monoparentale, bénéficiaires du RSA, personnes sans emploi, au domicile instable, etc.
Cette discrimination, couplée à une surveillance de masse (près de la moitié de la population française est concernée), nous ont poussées à saisir le Conseil d’État. Si vous voulez comprendre le raisonnement juridique qui structure le recours, tout est dans le communiqué de la coalition. Et si vous voulez suivre notre campagne de long cours contre les algorithmes administratifs, visitez notre page France Contrôle.

Lire le communiqué : https://www.laquadrature.net/2024/10/16/lalgorithme-de-notation-de-la-cnaf-attaque-devant-le-conseil-detat-par-15-organisations/

Livre : une histoire de la Technopolice

Notre campagne Technopolice a cinq ans. Félix Tréguer, chercheur et membre de La Quadrature, raconte à la première personne, dans Technopolice, la surveillance policière à l’ère de l’intelligence artificielle, ce long travail d’enquête collective sur les pratiques de surveillance numérique de la police, depuis la découverte de « l’observatoire du Big Data de de la tranquillité publique » de Marseille fin 2017, jusqu’à la légalisation de la VSA par la loi Jeux Olympiques en 2023, en passant par le récit étonnant et éclairant du quotidien d’un policier dans la ville de Denver au Colorado.

Croisant les analyses politiques et sociologiques, les enquêtes de terrain et les chiffres, l’ouvrage analyse la Technopolice comme un fait social complexe, qui met en jeu des idéologies politiques, des ambitions industrielles, des fantasmes policiers, au prise avec des problèmes matériels, économiques et humains. Et si vous voulez rencontrer l’auteur et lui poser des questions, le site recense les nombreuses rencontres en librairie à venir pour les mois d’octobre, novembre et décembre.

Lire l’article : https://www.laquadrature.net/202fondateur4/10/11/parution-du-livre-technopolice/

Action à Marseille contre le data center de trop

Le 16 septembre dernier, La Quadrature du Net et le collectif local Le nuage est sous nos pieds ont organisé une conférence de presse pour alerter au sujet de la construction d’un data center géant dans l’agglomération de Marseille : gourmand en énergie et en eau potable, ce projet s’incrit dans une logique d’inflation numérique dispendieuse, dont la nécessité n’est jamais questionnée ni soumise à la délibération démocratique de la population qu’elle touche directement. Lisez le communiqué du collectif Le nuage et sous nos pieds sur notre site.

Lire le communiqué : https://www.laquadrature.net/2024/09/16/conference-de-presse-a-marseille-contre-les-data-centers/

Agenda

La Quadrature dans les médias

Livre « Technopolice »

Algo de la CNAF

Data center à Marseille

Divers

Des nouvelles de Unvanquished

La dernière dépêche sur le jeu Unvanquished a été publiée ici en 2023, pour son dixième anniversaire. La dernière version annoncée ici était la version 0.53, en 2022. Alors que nous sommes à deux mois de 2025 et à quelques jours de la prochaine version 0.55, c’est l’occasion de faire un point sur ce qui s’est passé ces dernières années et d’ajouter un épisode à la série « des nouvelles de [votre jeu préféré] » et de faire suite à celui sur Xonotic.

Unvanquished

Laisse-moi sortir de là ! — réclame la version 0.55…

Unvanquished est un jeu de stratégie en temps réel (RTS) à la première personne (FPS) où des extraterrestres évolutifs et des humains lourdement armés s’affrontent pour leur survie. Son développement, basé sur Tremulous, a commencé en 2011.

Sommaire

Quelques nouvelles en vrac

Un nouveau lanceur

En prévision de la prochaine version 0.55 qui arrive (deux « release candidates » ont déjà été publiées), le « lanceur » (aussi appelé « updater ») a été mis à jour en juillet dernier.

Le lanceur est le moyen recommandé d’installer Unvanquished : il permet une intégration optimale avec le système (possibilité de cliquer sur des liens pour lancer une partie) et propose la mise à jour du jeu quand une nouvelle version est disponible. Le lanceur sait aussi se mettre à jour et c’est ce qui a été fait en juillet.

Des améliorations graphiques

L’année dernière le projet Unvanquished avait annoncé être en recherche d’un développeur spécialisé dans les moteurs de rendus. Reaper a rejoint l’équipe et a réalisé un gros travail : débugage et finalisation des miroirs récursifs et d’autres choses. Il fait aussi progresser le moteur pour tirer partie d’OpenGL 4.6 et autre techniques avancées (« bindless textures », etc.).

Un explorateur de serveur minimaliste

Viech a publié un explorateur de serveur de jeu minimaliste qui tient dans la barre de notification (tray browser). C’est à la fois simple et pratique.

Des vidéos et un compte Mastodon

Diverses vidéo montrant les avancées du développement ont été publiées sur la chaîne Youtube d’Unvanquished, c’est l’occasion de rappeler l’existence de cette chaîne : https://www.youtube.com/@UNVofficial

Pour ceux qui préfèrent Peertube, qui permet aussi de s’abonner aux chaînes à travers Mastodon et plus globalement le Fédiverse, avec la publication de certaines parties : https://vdo.unvanquished.greboca.com/

Un compte Mastodon a été créé sur l’instance idtech.space dédiée aux technologies id Tech et projets associés (le moteur d’Unvanquished dérive d’id Tech 3) : https://idtech.space/users/UNVofficial

Ce compte Mastodon s’ajoute aux comptes X et Facebook. Le public libriste sera peut-être plus intéressé par ce compte Mastodon.

Unvanquished, ARMé et dangereux

De nouvelles architectures

La version 0.54 de Unvanquished sortie en janvier 2023 avait été la première à être jouable autrement que sur PC (x86 et x86-64), en proposant des binaires pour les processeurs ARM (sous Linux seulement pour l’instant).

Côté moteur la version 0.54 avait reçu de nombreuses optimisations pour mieux tourner sur des machines moins performances, par exemple, Certaines ressources logiciels optionnelles comme les deluxemaps ne sont plus chargées si désactivées, ceci économise non seulement le calcul, mais aussi la mémoire de la carte graphique. Les lightstyles peuvent être désactivés, ce qui peut accélérer le rendu graphique, etc. La compatibilité matérielle sera encore étendue avec la version 0.55.

À partir de la version 0.54 tous les binaires pour toutes les architectures matérielles et systèmes d’exploitation sont compilés dans des containers Docker, y compris les binaires macOS compilés dans un container Linux en utilisant Darling, Darling étant à macOS ce que Wine est à Windows. La version 0.55 sera produite de la même manière.

La version 0.55 apportera la compatibilité pour un nouveau système d’exploitation ! 🤫️

Interface, jouabilité et bots

Chargement de carte

Le nouvel écran de chargement des cartes.

L’interface avait été revue à l’occasion de la version 0.54 :

  • Nouvelles icônes d’inventaire contribuées par Nanaa, Gireen et Bob Vador
    Ces icônes donnent un coup de fraîcheur, on distingue mieux les deux types de grenades et les armures ainsi que le mode de déplacement.
  • L’écran de chargement des cartes affiche le nom de la carte et des auteurs (si renseigné) depuis les métadonnées. Historiquement, les artistes inscrivaient ces informations sur l’image d’illustration de la carte avec un logiciel de dessin… (!!!)
  • La version 0.55 apportera des modifications d’interface réalisées par Grise.

Côté jouabilité, la version 0.54 avait corrigé le momentum négatif qui était particulièrement pénalisant. Le momentum, est généré par les Leech (Alien) ou les Drills (Humain). Il faut qu’il y ait assez de momentum pour pouvoir construire d’autres éléments.

La version 0.54 a apporté toute une série de nouveautés au niveau des bots (entités qui remplacent les joueurs afin de compléter les équipes) :

  • Amélioration de l’évitement d’obstacles pour les bots.
  • Les bots peuvent viser des cibles situées sur des navmesh différents.
  • Certains bots n’hésiteront pas à sauter pour atteindre une cible en hauteur, d’autres se retiennent d’exécuter une attaque qui pourraient les blesser si la cible est trop proche…

Depuis quelque temps, le développement des bots suscite un regain d’intérêt. La version 0.55 ne sera pas la plus riche à ce sujet car elle apportera surtout des améliorations du moteur. Le développement de gameplay ne s’est pas ralenti mais s’est surtout focalisé sur des mods dont il faudra fusionner les avancées dans le tronc commun après la sortie de la version 0.55. Ces améliorations de gameplay sont déjà jouables sur des serveurs en ligne.

L’amélioration du comportement des bots à permis un nouveau type de jeu : Le PVE. C’est à dire que les joueurs peuvent jouer ensemble contre l’ennemi piloté par le serveur. Certaines cartes ont été créées spécifiquement pour ce type de jeu, et d’autres ont été adaptées à l’aide de layout qui étaient déjà utilisés pour créer des variantes de parties.

La version 0.54.1 n’avait pas vraiment proposé de modifications des données, il s’agissait surtout de publier des correctifs de bugs gênant du moteur. La version 0.55 viendra avec une mise à jour des données et donc avec les corrections attendues. Par exemple un bug dans la chaîne logicielle de conversion d’images avait produit des artefacts dans certaines textures, ce sera corrigé dans la version 0.55.

La danse des submodules

            _________________
           /                 \
          |         ✝         |  
          |                   |
          |      beloved      |
          |     submodule     |
          |                   |
          |    2017-12-30     |
          |     2023-04-11    |
          |                   |
          |       R.I.P.      |
          |                   |  🄵
  (,,)é   |                   |   ɘ̀(⹁⹁)  ɘ̀(⹁⹁)
////////////////////////////////////////////////

Press F to Pay Respects!

Tous ceux qui doivent traiter avec Git savent que les submodules sont très pratiques mais parfois bien ennuyeux. Un travail de fond réalisé sur les outils de production des données a permis la réintégration du dossier source unvanquished_src.dpkdir. Le générateur de code CBSE qui produit la plomberie pour la logique de jeu a été réintégré aussi. Cela rend plus facile de travailler sur des mods en évitant de devoir gérer plusieurs dépôts différents.

Contributions

Unvanquished recrute
Voulez-vous en savoir plus ?

Comme vous le voyez, ce cycle de développement a aussi vu de nouveaux contributeurs apporter leur concours au projet. Certaines de leurs améliorations ont déjà été publiées dans la version mineure 0.54.1, d’autres arriveront avec la version 0.55.

Récement, le développeur Slipher qui est un des développeurs Unvanquished les plus prolifiques et les plus fidèles a étendu ses activités au moteur de rendu et a rejoint la petite élite de ceux qui savent comment le moteur fonctionne. Il a corrigé entre autre le rendu de vidéo sur des surfaces et une fonctionnalité de sprites.

La liste de régressions depuis le désormais lointain ancêtre d’Unvanquished, Tremulous, est maintenant réduite à peau de chagrin.

Des traductions !

La grosse nouveauté de la version 0.54.1 publiée en décembre 2023 a été de proposer à nouveau des traductions intégrées au jeu. L’outil de traduction est gracieuseuement hébergé par Weblate.

L’interface Weblate

L’interface de traduction Weblate.

Il y a longtemps, le jeu était traduit, mais suite à de très profonds changements (par exemple le remplacement total de la technologie utilisée pour faire des menus, désormais sous RmlUi), l’effort de traduction avait été interrompu.

La traduction francophone est bien avancée, mais la traduction en breton a besoin de plus de contributions. Si vous souhaitez contribuer votre langue régionale, vous êtes les bienvenus, c’est ici que cela se passe !

La 0.55 arrive !

Préparez votre souris et votre clavier, la version 0.55 arrive très bientôt.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Le Lama déchaîné ou la nouvelle campagne de soutien financier de l'April

2015 est la date de la dernière campagne d’adhésion de l’April. Neuf ans sans recrutement, il était temps de s’y remettre. Mais la formule change en cette année 2024 !

Mais commençons par le début :

L'April, c’est l’association qui promeut et défend le logiciel libre et les libertés informatiques. Au fur et à mesure des années, sa tâche s’est accrue, le nombre de dossiers à traiter, toujours plus urgents les uns que les autres, augmentant sans cesse. Et pourtant, depuis 2015, aucune campagne d’adhésions n’a été proposée…

L’April en difficulté financière

Depuis deux ans, notre situation financière n’étant plus à l’équilibre, il nous a paru opportun de relancer la machine en cette fin d’année. Pour finir sereinement l’année 2024, une somme de 20 000 € nous serait nécessaire.

Le Lama déchaîné

Pour cette nouvelle campagne, nous n’allons pas vous proposer un seul et unique texte, aussi encourageant soit-il, sur un site de campagne, mais neuf, un pour chacune de ces années sans sollicitation !

Ce défi a été fièrement et, nous espérons, dignement relevé par notre équipe devenue, pour un temps, une rédaction de journalistes. Soyez à l’affût, car à partir d’aujourd’hui et durant neuf semaines, chaque mercredi, paraîtra un exemplaire de ce magazine automnal, Le Lama déchaîné. Diverses rubriques vous présenteront les différentes actions de l’association durant toutes ces années ! Mais pas que, puisque nous avons invité également des plumes extérieures à l’April afin de parler du Libre et que nous vous confions quelques anecdotes rigolotes. Sans oublier les mots croisés et le concours de dessins générés !
Le Lama déchaîné

À vous de décider, numéro après numéro, si notre initiative est suffisamment convaincante pour susciter de votre part une adhésion ou, à minima, si elle vous encourage à faire de temps en temps un don ponctuel pour nous soutenir. Nous avons fait le choix de l’indépendance vis-à-vis des institutions en n’ayant recours à aucune subvention et le rescrit d’intérêt fiscal nous a été refusé deux fois.

Sans vos apports financiers, l’April ne pourrait pas agir aussi librement !

Découvrez le numéro 0 du Lama déchaîné

Numéro 0 car, en informatique, tout commence à 0.

Lisez-le, dévorez-le d’un seul coup, dégustez-le lentement un ou deux articles par jour, parcourez-le rubrique après rubrique, n’hésitez pas à participer à l’un des numéros suivants en proposant un dessin et, surtout, parlez-en autour de vous et relayez le plus possible !

Nous comptons sur chacun et chacune d’entre vous. Merci d’avance !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Minetest, l'autre pays du minage - « Libre à vous ! » du 10 septembre 2024 - Podcasts et références

28 septembre 2024 à 02:49

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

  • sujet principal : « Minetest : l’autre pays du minage »

  • la chronique « Que libérer d’autre que du logiciel » avec Antanak, sur la pratique de double système d’exploitation

  • la chronique « Pépite libre » de Jean-Christophe Becquet, vice-président de l’April, sur le thème « L’Accueillette : un outil d’autodiagnostic de lieux d’accueil »

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

Commentaires : voir le flux Atom ouvrir dans le navigateur

Haiku a 23 ans - Haiku R1 bêta 5 (partie 3 : documentation, finances et GSOC)

Les deux parties précédentes ont présenté les principales évolutions dans le code de Haiku. Mais le code ne fait pas tout.

Cette troisième (et dernière) partie présente les nouveautés dans la documentation, ainsi qu’un court aperçu du rapport financier et aux dons qui permettent à Haiku d’employer un développeur à plein temps de façon durable.

Enfin, elle présente la participation au Google Summer of Code et les travaux réalisés par les cinq étudiants encadrés par Haiku cette année.

Sommaire

Documentation

La documentation de Haiku se découpe en 3 parties principales : un manuel de l’utilisateur, une documentation d’API, et une documentation interne pour les développeurs qui travaillent sur les composants du système.

Ces documents sont complétés par de nombreuses pages et articles sur le site Internet, et deux livres pour apprendre à programmer en C++ avec Haiku, ou encore un document de référence pour la conception d’interfaces graphiques et un autre pour le style graphique des icônes.

Documentation d’API

La documentation d’API de BeOS était assez complète et de bonne qualité. L’entreprise Access Co Ltd qui a hérité de la propriété intellectuelle de BeOS a autorisé le projet Haiku à la réutiliser et à la redistribuer. Malheureusement, cette autorisation est faite avec une licence Creative Commons n’autorisant pas les modifications. Cette documentation ne peut donc pas être mise à jour, ni pour corriger les erreurs, ni pour ajouter des informations sur toutes les nouvelles fonctions ajoutées par Haiku ou les différences entre les deux systèmes.

Il est donc nécessaire de réécrire une nouvelle documentation à partir de zéro. Ce travail est assez ingrat lorsqu’il s’agit de re-décrire ce qui est déjà très bien expliqué dans la documentation existante. La nouvelle documentation a donc tendance à se concentrer sur les nouvelles fonctions, et il faut souvent jongler entre les deux documentations, le contenu des fichiers .h, et des exemples de code d’applications existantes pour découvrir toutes les possibilités offertes.

Il ne semble pas utile de lister chaque fonction ou méthode qui a été documentée. On peut mentionner une page d’explications sur la bibliothèque C standard, comprenant des liens vers les spécifications POSIX qui documentent déjà la plupart des choses, et quelques détails sur les différences avec d’autres systèmes.

Une autre nouvelle page documente les primitives de synchronisation qui sont disponibles pour le code s’exécutant dans le noyau.

Documentation interne

La documentation interne était à l’origine simplement une accumulation de fichiers dans divers format dans un dossier « docs » du dépôt Git de Haiku. Depuis 2021, ces fichiers ont été rassemblés et organisés à l’aide de Sphinx, qui permet de mettre à disposition une version navigable en HTML et de donner une meilleure visibilité à ces documents.

D’autres pages sont petit à petit migrées depuis le site web principal de Haiku, qui n’est pas un très bon support pour de la documentation, et bénéficiera un jour d’une refonte pour être plus tourné vers les utilisateurs que vers les développeurs.

Quelques nouvelles pages ajoutées cette année:

  • Une documentation sur l’utilisation de divers outils de complétion de code automatique avec le code source de Haiku
  • Une page présentant l’organisation du code source et les principaux dossiers et sous-dossiers
  • La documentation de l’outil rc utilisé pour compiler les « resources » attachées aux exécutables a été intégrée
  • Le système de fichier FAT a reçu également une page de documentation à l’occasion de sa réécriture

Un point sur le financement

L’association Haiku inc qui gère le compte en banque de Haiku publie chaque année un rapport financier.

Le financement provient principalement de dons des utilisateurs et soutiens de Haiku. Le projet reçoit également une compensation financière de Google pour le temps passé à encadrer les participants du Google Summer of Code (voir le paragraphe suivant). La contribution de Google cette année est de 3 300$.

Les plateformes de don les plus utilisées sont Paypal et Github sponsor. Ce dernier est recommandé car, pour les dons reçus via Github, c’est Microsoft qui paie les frais bancaires de la transaction. 100% de l’argent donné arrive donc sur le compte de Haiku. Tous les autres opérateurs ont un coût, soit fixe lors des retraits, soit un pourcentage de chaque don, soit un mélange des deux.

En 2023, l’association a reçu 25 422$ de dons et a dépensé 24 750$. Elle dispose d’une réserve confortable de 100 000$ (accumulés avant 2021, alors qu’il n’y avait pas de développeur salarié) ainsi que d’environ 150 000$ en cryptomonnaies.

Les dons en cryptomonnaies sont pour l’instant bloqués sur un compte Coinbase suite à des problèmes administratifs (le compte n’est pas correctement déclaré comme appartenant à une association, il faudrait donc payer un impôt sur le revenu lors de la conversion en vraie monnaie). Il semble difficile de contacter Coinbase pour régler ce problème.

Du côté des dépenses, le poste le plus important est le paiement de 21 000$ à Waddlesplash, développeur employé par Haiku inc pour faire avancer le projet Haiku. Il travaille à temps partiel et avec un salaire très bas par rapport au marché, comme cela a été fait pour les précédents contrats entre Haiku inc et d’autres développeurs. Les finances de l’association ne permettent pas encore d’assurer un emploi à plein temps avec un salaire correct sur le long terme (c’est faisable sur le court ou moyen terme à condition de puiser dans les réserves de trésorerie).

Le reste des dépenses concerne principalement le paiement de l’infrastructure (serveurs pour le site Internet, l’intégration continue, hébergement cloud pour les dépôts de paquets) pour environ 3 000$.

Il faut enfin compter environ 500$ de frais Paypal, puis quelques dépenses administratives (déclaration de changement d’adresse de l’association, déclaration d’embauche) pour des montants négligeables (moins de 10$ au total).

En 2024, l’objectif fixé en janvier était de récolter 20 000$ de dons supplémentaires. Cet objectif a été atteint dès le mois de juillet, et a donc été révisé pour tenter d’atteindre les 30 000$. Cela permettra de rémunérer Waddlesplash pour un plus grand nombre d’heures cette année, ou bien d’envisager l’embauche d’une deuxième personne si un ou une candidate se présente parmi les personnes contribuant au projet (l’embauche d’une personne extérieure ne se fera pas tant que l’association ne peut pas se permettre de proposer une rémunération raisonnable).

Google Summer of Code

Haiku participe au Google Summer of Code depuis 2007. Il s’agit d’un programme où des étudiants (et d’autres participants pas forcément étudiants, ces dernières années) sont payés par Google pendant deux mois pour découvrir la contribution à des projets de logiciels libres.

Ce programme a été monté par « l’Open source program office » de Google. Leur intérêt est de défendre leur image d’entreprise sympathique (bien mise à mal ces dernières années, c’est devenu un géant de la publicité en ligne et de l’aspiration des données personnelles), et de contribuer à la richesse d’un écosystème de logiciels libres dont ils bénéficient beaucoup. Cela permet aussi d’encourager des personnes à s’essayer au développement logiciel, facilitant indirectement le recrutement chez Google en augmentant le nombre de candidats. Ces justifications peuvent sembler hypothétiques ou très indirectes, mais elles ont convaincu Google d’attribuer un budget de quelques millions de dollars à ce programme.

Une équipe de Google choisit les projets de logiciel libres participants parmi de nombreuses candidatures. Chaque projet participant propose une liste « d’idées » (un peu sous la forme d’un sujet de stage) et a ensuite la responsabilité de choisir parmi les candidats qui ont répondu à cette offre (en respectant les critères de non-discrimination imposées par Google ainsi que les embargos imposés par les USA), et d’assurer l’encadrement des personnes sélectionnées. Google rémunère les participants, et dédommage les projets participants pour le temps investi.

Cette année les développeurs de Haiku encadrent cinq participants :

Calisto Mathias — Re-design de la fenêtre de recherche de fichiers

Le système de fichier BFS utilisé par Haiku permet l’exécution de requêtes (comme une base de données) exploitant les attributs étendus des fichiers, qui peuvent être indexés.

Ce système permet de faire beaucoup de choses, et la fenêtre de recherche du navigateur de fichier essaie d’en tirer parti. Cependant, l’interface résultante est trop complexe, et peu de personnes prennent le temps de concevoir des requêtes améliorant leur façon de travailler, se cantonnant aux quelques exemples fournis.

L’objectif de ce projet est de refondre l’interface de cette fenêtre pour obtenir quelque chose de plus intuitif, et également d’afficher en temps réel les résultats de la requête dès qu’elle est modifiée, pour encourager les utilisateurs à expérimenter avec des requêtes plus complexes.

Daniel Martin — Virtualisation matérielle accélérée avec NVMM

Haiku n’est pas encore parfait, et certaines tâches nécessitent encore l’utilisation d’autres systèmes d’exploitation. Une partie des utilisateurs ont donc une configuration en double boot, ou bien lancent Haiku dans une machine virtuelle.

L’objectif de ce projet est de permettre d’utiliser Haiku comme système principal, et de lancer les autres systèmes dans des machines virtuelles. Cela sera réalisé à l’aide d’un portage de NVMM, qui a été développé à l’origine par NetBSD et Dragonfly BSD. Cette bibliothèque a l’avantage d’être bien documentée et conçue pour faciliter son adaptation vers d’autres systèmes.

NVMM sera complétée par l’utilisation de QEMU qui pourra fournir un « front-end » à cette mécanique.

Diego Roux — Pilote pour les cartes sons virtuelles VirtIO

Pour les personnes utilisant Haiku dans une machine virtuelle, il est intéressant d’utiliser autant que possible la famille de périphériques VirtIO.

Il s’agit de périphériques virtuels conçus sans s’inspirer de matériel existant, et plutôt pour avoir l’interface la plus simple possible entre la machine virtualisée et son hôte.

Haiku dispose déjà d’un jeu de pilote Virtio relativement complet (réseau, stockage de masse, affichage graphique). Le but de ce projet est de compléter cet ensemble avec un pilote pour les cartes son VirtIO.

trungnt2910 — Portage de GDB

Haiku dispose de son propre débugger (appelé Debugger, de façon assez peu originale). Ce dernier présente une interface graphique confortable, mais une interface en ligne de commande beaucoup plus limitée. Il souffre également de quelques problèmes de performances et d’un manque de prise en charge des fichiers exécutables et bibliothèques compilés avec autre chose que GCC. Il est également incapable de faire du debug à distance ou de s’intégrer dans une interface graphique existante (par exemple au sein d’un IDE).

L’objectif de ce projet est de ressusciter la version de GDB ciblant Haiku. Cette version très ancienne était utilisée avant l’apparition du Debugger natif. Le projet est en bonne voie, le code d’interfaçage a été entièrement réécrit pour s’adapter aux versions modernes de GDB, et plusieurs évolutions et corrections ont été intégrées dans le système de debugging de Haiku (par exemple, pour mettre en pause tous les threads nouvellement créés afin que le debugger puisse les intercepter).

Zardshard — Migration du navigateur web WebPositive vers WebKit2

Le navigateur WebPositive utilise le moteur de rendu webKit. Actuellement, il s’interface avec ce moteur via l’API WebKitLegacy. Cette API exécute tout le moteur de rendu web dans un seul processus, et ne fournit pas les garanties d’isolation nécessaires pour les navigateurs web modernes (que ce soit en termes de sécurité, ou en termes de fiabilité).

L’objectif de ce projet est de reprendre les travaux déjà entamés en 2019 pour migrer WebPositive vers la nouvelle API « WebKit2 », et bénéficier d’une séparation entre l’interface graphique, la communication réseau, et le rendu HTML/CSS/JavaScript dans des applications séparées. Ainsi, un crash d’un de ces composants peut être récupéré de façon transparente sans faire disparaître toute l’application (et les données non enregistrées de l’utilisateur avec).

Le projet est également en bonne voie, un navigateur de test permet déjà d’afficher quelques pages ce qui montre que les bases sont en place. Il reste à régler de nombreux problèmes de rendu de texte, ainsi qu’à implémenter la gestion des entrées (clavier et souris) pour avoir un navigateur web utilisable. Il faudra ensuite migrer WebPositive vers ces nouvelles APIs.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Haiku a 23 ans - Haiku R1 bêta 5 (partie 1 : applications)

Haiku est un système d’exploitation libre destiné aux ordinateurs personnels ou de bureau (pas de serveurs, pas de systèmes embarqués, pas de tablettes ni de téléphones). Il s’agit au départ d’une réécriture libre de BeOS, préservant la compatibilité binaire avec ce dernier (les applications BeOS peuvent tourner sur certaines versions de Haiku).

Le projet Haiku (au départ nommé OpenBeOS) a démarré officiellement le 18 août 2001 avec le premier message sur la liste de diffusion : Ok, let's start (OK, allons-y). Cet anniversaire est l’occasion de faire un point sur les développements de l’année dans Haiku et ce qui est en préparation.

La dépêche a été un peu retardée cette année, pour être synchronisée avec la version R1 bêta 5 de Haiku, publiée le vendredi 13 septembre 2024.

Le projet emploie un développeur presque à plein temps depuis 2021 et le reste de l’équipe contribue bénévolement. La dernière version bêta a été publiée fin 2023 et la Bêta 5 est désormais disponible : l’occasion de revenir en trois parties sur ce que propose Haiku, d’abord des applications, un noyau et des améliorations de la documentation.

Sommaire

Près de 350 tickets ont été clos dans le cadre du travail sur la version R1 bêta 5. Il y a bien sûr de très nombreuses corrections de bugs, qui ne seront pas listées dans cet article. On se concentrera plutôt sur les nouveautés, sauf dans les cas où la correction est vraiment importante ou permet d’ouvrir de nouvelles possibilités d’utilisation.

Applications

Haiku est un système d’exploitation complet, fourni avec un certain nombre d’applications permettant d’accomplir les tâches les plus courantes. En plus de ces applications de base, le gestionnaire de paquets HaikuDepot, alimenté principalement par le travail du projet HaikuPorts, apporte à la fois des applications portées depuis d’autres systèmes et des applications développées spécifiquement pour Haiku.

De façon générale, on trouve cette année dans les applications de Haiku des améliorations sur le rendu des nombres, l’utilisation d’un symbole de multiplication à la place d’une lettre x là où c’est pertinent, et de nombreuses petites corrections et améliorations sur la mise en page des fenêtres, des corrections de problèmes de traduction et ainsi de suite.

AboutSystem

AboutSystem est la fenêtre d’information sur le système Haiku. Elle fournit quelques informations sur la machine sur laquelle le système fonctionne (quantité de RAM, marque et modèle du CPU, uptime) ainsi que les noms des développeurs et autres logiciels libres ayant participé au développement de Haiku.

Cette application reçoit tout d’abord une mise à jour cosmétique : si le système est configuré en « mode sombre », le logo Haiku correspondant (avec un lettrage blanc et des dégradés de couleurs un peu différents) sera utilisé. Sinon, ce sera le logo avec lettrage noir.

AboutSystem en mode clair
AboutSystem en mode sombre

Elle reçoit également quelques mises à jour de contenu : en plus de l’ajout de quelques nouveaux contributeurs qui ont rejoint le projet, on trouvera maintenant un lien vers la page web permettant de faire un don à Haiku. Plusieurs liens vers des bibliothèques tierces utilisées dans Haiku, qui ne fonctionnaient plus, ont été soit supprimés, soit remplacés par des liens mis à jour.

Enfin, il est désormais possible d’utiliser AboutSystem comme un « réplicant », c’est-à-dire de l’installer directement sur le bureau pour avoir en permanence sous les yeux les statistiques sur l’utilisation mémoire et l’uptime ainsi que le numéro de build de Haiku en cours d’exécution (ce qui peut être utile par exemple lorsqu’on lance beaucoup de machines virtuelles avec des versions différentes de Haiku pour comparer un comportement, ou si on veut stocker des captures d’écran de plusieurs versions et s’y retrouver facilement).

CharacterMap

L’application « table de caractères » permet d’étudier de près les différents glyphes et symboles présents dans une police de caractères. En principe, elle permet de choisir une police spécifique, mais le serveur graphique de Haiku substitue automatiquement une autre police si on lui demande d’afficher un caractère qui n’est pas disponible dans la police demandée.

Cela peut être gênant dans certains contextes, par exemple si on envisage d’embarquer une police dans un fichier PDF, il est difficile de savoir quelle police contient vraiment les caractères qu’on veut utiliser.

L’application a été améliorée pour traiter ce cas et affiche maintenant ces caractères en grisé.

CharacterMap affichant des caractères manquants

CodyCam

CodyCam est une application permettant de tester une webcam et de l’utiliser pour envoyer périodiquement des images vers un serveur HTTP.

L’évolution principale a été la mise à jour de l’icône de l’application. L’utilité de CodyCam est limitée par le manque de pilotes : il faudra soit trouver une webcam Sonix du début des années 90, seul modèle USB à disposer d’un pilote fonctionnel, soit utiliser un ordiphone Android équipé d’un logiciel permettant de le transformer en caméra IP (ou encore une vraie caméra IP).

Le pilote pour les WebCams UVC — standard utilisé pour les caméras USB modernes — n’est pas encore au point et n’est pas inclus dans les versions publiées de Haiku.

Debugger

Debugger est, comme son nom l’indique, le debugger de Haiku. Il est développé spécifiquement pour le projet sans s’appuyer sur les outils existants (gdb ou lldb). Il dispose à la fois d’une interface graphique et d’une interface en ligne de commande, plus limitée. Cette dernière est surtout utilisée pour investiguer des problèmes dans les composants de Haiku qui sont nécessaires pour l’utilisation d’une application graphique : app_server, input_server ou encore registrar.

La version en ligne de commande a reçu quelques petites améliorations, mais la principale nouveauté est la prise en charge des formats DWARF-4 et DWARF-5 pour les informations de debug. Cela permet de charger les informations générées par les versions modernes de GCC, sans avoir besoin de forcer la génération d’une version plus ancienne du format DWARF.

Le désassembleur udis86, qui n’est plus maintenu et ne reconnaît pas certaines instructions ajoutées récemment dans les processeurs x86, a été remplacé par Zydis.

Enfin, un bug assez gênant a été corrigé : si une instance de Debugger était déjà en train de débugger une application et qu’une deuxième application venait à planter, il n’était pas possible d’attacher une deuxième instance de Debugger à cette application. Les problèmes impliquant plusieurs processus pouvaient donc être un peu compliqués à investiguer. C’est maintenant résolu.

Deskbar

L’application DeskBar fournit la « barre des tâches » de Haiku. Elle permet de naviguer entre les fenêtres et applications ouvertes, de lancer de nouvelles applications via un menu (similaire au « menu démarrer » de Windows), ou encore d’afficher une horloge et des icônes fournis par d’autres applications (sous forme de réplicants).

Elle fait partie, avec le Tracker, des applications qui ont été publiées sous license libre lors de l’abandon de BeOS par Be Inc.

Quelques changements dans la DeskBar :

  • Tous les menus utilisent maintenant la police « menu » choisie dans les préférences d’apparence du système. Auparavant, la police « menu » et la police « plain » étaient mélangées. Ces deux polices étant identiques dans la configuration par défaut, le problème n’avait pas été repéré.
  • Si un nom de fenêtre est tronqué dans la liste des fenêtres, le nom complet peut être affiché dans une infobulle.
  • L’icône pour les fenêtres dans la DeskBar a été remplacée. La nouvelle icône indique plus clairement si une fenêtre se trouve dans un autre bureau virtuel (dans ce cas, activer cette fenêtre provoquera un changement de bureau).

GLTeapot

GLTeapot est une application permettant de tester le rendu OpenGL, en affichant un modèle 3D de la théière de l’Utah.

En plus de la théière, cette application affiche un compteur du nombre d’images affichées par secondes. Bien que les chiffres affichés ne soient pas du tout représentatifs des performances d’un rendu 3D réaliste, certains utilisateurs insistent lourdement pour pouvoir faire le concours de gros chiffres de nombre d’images par seconde.

Il est donc à nouveau possible de désactiver la synchronisation sur le rafraîchissement de l’écran, et demander au processeur de réafficher la théière plusieurs centaines de fois par seconde, bien que l’écran soit incapable de suivre le rythme. Par défaut, la synchronisation est activée et le rafraîchissement ne dépassera jamais 60 FPS, si toutefois le pilote graphique implémente les fonctions de synchronisation nécessaires.

HaikuDepot

HaikuDepot est un hybride entre un gestionnaire de paquets et un magasin d’applications.

Il se compose d’un serveur (développé en Java) fournissant une API REST et permettant de collecter les informations sur les applications (icônes, captures d’écrans, catégories, votes et revues des utilisateurs, choix de la rédaction pour les applications mises en avant…), d’un frontend web minimaliste et d’une application native C++ permettant d’afficher ces données.

La principale nouveauté est l’intégration du système de single-sign-on (SSO) permettant d’utiliser un compte utilisateur commun avec d’autres services en ligne de Haiku. Actuellement, l’outil de revue de code Gerrit
utilise ce même compte, mais ce n’est pas encore le cas pour Trac (outil de suivi des bugs) ni pour le forum. Ce sera mis en place plus tard.

De façon peut-être moins visible, mais pas moins importante, le code C++ de l’application a reçu de nombreuses améliorations et optimisations « sous le capot », rendant l’application plus rapide et plus fiable, mais qui sont un peu difficiles à résumer dans le cadre de cette dépêche.

Enfin, l’apparence de l’application a été légèrement retravaillée pour mieux s’adapter aux écrans à haute définition (ce qui nécessite d’avoir des marges et espacements de taille dynamique en fonction de la taille de texte choisie par l’utilisateur).

Icon-O-Matic

Capture d’écran de l’éditeur d’icônes

Icon-O-Matic est un éditeur d’icônes. Il permet d’exporter les fichiers au format HVIF, un format vectoriel compact qui permet de stocker les icônes dans l’inode d’en-tête des fichiers pour un chargement et un affichage rapide.

Cette application a bénéficié du travail de Zardshard pendant le Google Summer of Code 2023, elle a donc reçu plusieurs évolutions et corrections importantes (dont certaines sont mentionnées dans la dépêche anniversaire de l’année dernière).

Citons en particulier l’ajout d’un nouveau type de transformation, « perspective », qui permet de facilement déformer un ensemble de chemins vectoriels selon une projection de perspective, ce qui est assez utile pour concevoir plus facilement une icône avec un aspect tridimensionnel (bien qu’en pratique l’apparence habituelle des icônes de Haiku soit un intermédiaire entre une projection perspective et une vue isométrique, ne se prêtant pas forcément à l’utilisation de cette opération de transformation purement mathématique).

Une autre petite amélioration est l’ajout d’une vérification pour empêcher la fenêtre de Icon-O-Matic de se positionner en dehors de l’écran, par exemple si on a déplacé la fenêtre vers le bas de l’écran, enregistré cette position, puis relancé l’application dans une résolution d’écran plus réduite. Dans ce cas, la fenêtre sera automatiquement ramenée dans la zone visible de l’affichage.

Magnify

L’application Magnify permet d’afficher une vue zoomée d’une partie de l’écran. Elle peut servir pour améliorer l’accessibilité (mais n’est pas idéale pour cet usage), mais aussi pour les développeurs d’interfaces graphiques qui ont parfois besoin de compter les pixels pour s’assurer que leurs fenêtres sont bien construites.

En plus de l’affichage zoomé, l’application permet d’afficher l’encodage RGB de la couleur d’un pixel, ou encore de placer des « règles » permettant de vérifier l’alignement des objets. Ces dernières ont reçu une petite mise à jour, avec une amélioration de l’affichage de leur largeur et hauteur pour les rendre plus lisibles.

Magnify avec une 'règle'

MediaPlayer

L’affichage des sous-titres ne fonctionnait pas correctement, il manquait une partie du texte. C’est maintenant corrigé.

PowerStatus

Capture d’écran de PowerStatus: fenêtre principale et icône de la DeskBar avec son menu

L’application PowerStatus permet de surveiller l’état de la batterie pour les ordinateurs qui en disposent.

Elle a reçu plusieurs améliorations importantes :

Une notification a été ajoutée pour un niveau de décharge très faible (en plus du niveau faible déjà présent). Ces deux niveaux peuvent être paramétrés à un pourcentage choisi de décharge de la batterie, et associé à des sons d’alerte spécifiques. Avant ces changements, il était facile de ne pas voir le message d’alerte (affiché seulement pendant quelques secondes) ou de se dire qu’avec 15% de batterie on a encore le temps de faire plein de trucs, puis se retrouver un peu plus tard avec une batterie vide sans autre avertissement.

L’état « not charging » est maintenant détecté et correctement affiché, pour une batterie au repos : ni en train de se charger, ni en train d’alimenter la machine. C’est en particulier le cas d’une batterie déjà chargée à 100%, si la machine reste connectée au réseau électrique.

L’icône de statut de la batterie s’installe automatiquement dans la DeskBar au premier démarrage de Haiku sur les machines disposant d’une batterie.

Le réglage du mode « performance » ou « économie d’énergie" est enregistré et ré-appliqué lors des prochains démarrages (ces modes configurent l’ordonnanceur du noyau pour exécuter un maximum de tâches sur tous les cœurs du processeur, ou bien au contraire pour essayer de garder ces cœurs en veille autant que possible s’ils ne sont pas nécessaires).

SerialConnect

SerialConnect est une application de terminal série, utile principalement aux développeurs de systèmes embarqués et autres gadgets électroniques.

Elle est encore en cours de développement et propose pour l’instant les fonctions les plus basiques. Il est maintenant possible de coller du texte depuis le presse-papier pour l’envoyer sur un port série, ce qui est pratique si on veut envoyer plusieurs fois la même séquence de commandes.

ShowImage

ShowImage est la visionneuse d’images de Haiku. Elle utilise les traducteurs, des greffons avec une API standardisée qui permettent de convertir différents formats de fichiers entre eux.

L’interface graphique de ShowImage a été mise à jour pour utiliser le « layout system ». Historiquement, dans BeOS, tous les éléments des interfaces graphiques devaient être positionnés manuellement avec des coordonnées en pixels, ce qui est pénible à faire, surtout si on doit traiter tous les cas (polices de caractères de différentes tailles, remplacement des textes lors de traductions, utilisation de thème d’interfaces différents), et aussi lors d’évolution de l’application (si on veut insérer un élément en plein milieu, il faut souvent décaler tout ce qui se trouve autour).

Le « layout system » fournit un ensemble d’outils pour automatiser ce travail, soit à l’aide d’éléments prédéfinis (grilles, groupes, « cartes » superposées), soit à l’aide d’un système de définition de contraintes et de programmation linéaire.

D’autre part, ShowImage dispose maintenant d’un menu permettant d’ouvrir l’image affichée dans un éditeur d’images.

Terminal

Le Terminal de Haiku permet d’exécuter un shell (c’est bash par défaut) et toutes les applications conçues pour un affichage en console.

Les principaux changements cette année sont la correction d’un problème sur la configuration des couleurs utilisées par le Terminal (il y avait un mélange entre le nom anglais et le nom traduit des couleurs, empêchant d’enregistrer et de relire correctement le fichier de configuration), ainsi que des modifications sur les raccourcis clavier utilisés par le Terminal lui-même (en particulier pour naviguer entre plusieurs onglets) qui entraient en conflit avec ceux utilisés par les applications lancées dans le terminal.

Le terminal est également capable de traiter les « bracketed paste », c’est-à-dire que les applications en console sont informées que des caractères en entrée proviennent du presse-papier. Cela permet par exemple à bash de ne pas exécuter directement des commandes qui sont collées, mais de les mettre en surbrillance et d’attendre que l’utilisateur valide cette saisie.

D’un point de vue plus bas niveau, les pilotes TTY utilisés pour les ports série et pour le Terminal, qui étaient indépendants, ont été unifiés afin d’éviter de devoir corriger tous les bugs deux fois dans deux versions du code presque identiques.

Tracker

Tracker est le navigateur de fichiers de Haiku. Tout comme la DeskBar, il fait partie des quelques rares morceaux de BeOS qui ont été publiés sous licence libre par Be et ont donc pu être repris directement par Haiku. Contrairement à la DeskBar, la publication du code du Tracker avait conduit à l’apparition de nombreux forks, chacun améliorant à sa façon le logiciel. La version utilisée par Haiku provient principalement du projet OpenTracker, mais a réintégré ou réimplémenté au fil du temps les modifications faites dans d’autres variantes.

Le Tracker est un composant central de l’interface de Haiku et a donc reçu un nombre assez important d’évolutions :

La taille des fichiers est maintenant affichée à l’aide de la fonction string_for_size qui s’adapte aux conventions de la langue et du pays choisi par l’utilisateur.

Les brouillons de courrier électronique disposent maintenant de leur propre type MIME et de l’icône associée. Ils s’ouvriront dans un éditeur de mail plutôt que dans une fenêtre de lecture de message.

Pour les fichiers qui disposent d’un attribut « rating » (évaluation), ce dernier est affiché avec des étoiles pleines ou vides selon la note attribuée. La note va de 0 à 10 mais il n’y a que 5 étoiles. Le caractère demi-étoile permet d’afficher la note exacte avec les versions récentes d’Unicode (depuis 2018 en fait, mais il a fallu attendre la disponibilité dans une police de caractères).

Une fenêtre du Tracker, montrant la colonne taille et la colonne rating

La gestion des dossiers en lecture seule a été améliorée. Ils sont affichés sur fond gris (au lieu d’un fond blanc pour les dossiers modifiables) et tous les menus correspondant à des opérations non autorisées sont désactivés (au lieu d’être activés, mais d’aboutir sur une erreur car le dossier est en lecture seule).

Dans le même esprit, le bouton « ouvrir » des boîtes de dialogues d’ouverture de fichier est désactivé si le fichier sélectionné ne peut pas être ouvert (c’était déjà le cas, mais tous les cas possibles n’étaient pas bien pris en compte).

Un problème d’affichage sur le système de fichier packagefs a été corrigé : les dossiers n’ont pas de taille et affichent donc - au lieu d’une taille fixe de 4 Kio qui n’a aucune signification.

La fenêtre de recherche a reçu quelques évolutions, voir plus bas dans la section dédiée au Google Summer of Code, qui détaille le travail réalisé à ce sujet.

Le menu « templates », utilisé quand on fait un 'clic droit -> Nouveau…' et qui permet de créer différents types de fichiers et de dossiers à partir de fichiers de référence, peut maintenant contenir des sous-dossiers, pour les personnes qui utilisent beaucoup cette possibilité, avec par exemple des modèles de documents pré-remplis pour différents usages.

Enfin, un peu de nettoyage interne : les classes NavMenu et SlowContextPopup, qui permettent la navigation dans les sous-dossiers via des menus popup, ont été fusionnées en une seule classe car elles sont toujours utilisées ensemble. Cela simplifie le code pour l’affichage de ces menus, qui a quelques particularités pour permettre une navigation confortable même sur un disque dur un peu lent.

TV

L’application TV utilisée pour recevoir la TNT à l’aide d’un tuner approprié a été déplacée dans le paquet haiku_extras et n’est donc plus installée par défaut. La plupart des gens ne disposant pas d’un tuner compatible sur leur ordinateur, cette application était source de confusion et de nombreuses questions sur le forum.

WebPositive

WebPositive est le navigateur web de Haiku. Il utilise le moteur WebKit développé conjointement par Apple, Igalia et Sony principalement.

En dehors de la mise à jour du moteur vers une version plus récente, WebPositive reçoit actuellement peu d’évolutions, les développeurs étant malheureusement trop occupés par ailleurs. On peut toutefois mentionner une correction sur la barre de signets : celle-ci ne s’affichait jamais lorsque la langue du système était autre chose que l’anglais.

Zip-O-Matic

Zip-O-Matic est un outil permettant de créer une archive zip facilement depuis le Tracker. Il a reçu une amélioration qui est en fait une correction d’un problème qui existait depuis longtemps : l’archive créée est maintenant automatiquement sélectionnée dans le navigateur de fichier à la fin du processus, ce qui permet de facilement la retrouver pour la renommer, la déplacer ou l'envoyer à son destinataire.

Haikuports

Haikuports est un projet indépendant de Haiku, il se charge d’alimenter le dépôt de paquets. Au départ il s’agissait principalement d’un projet pour le portage de bibliothèque et de programmes venant d’autres systèmes (d’où son nom), mais il est également utilisé pour la plupart des applications natives développées pour Haiku.

Le dépôt de paquets contient actuellement 4193 paquets, il est mis à jour en continu par une petite équipe de bénévoles qui ne sont pas forcément tous développeurs, mais tout de même capables de faire les tâches de maintenance ainsi que le développement de quelques patchs simples.

Il est impossible de lister toutes les mises à jour et ajouts, le projet HaikuPorts étant très actif. Donc voici une sélection arbitraire de quelques nouveautés et mises à jour.

Applications natives

  • Mises à jour de Renga (client XMPP), PonpokoDiff (outil de diff), 2pow (clone de 2048), StreamRadio (lecteur de podcasts), NetSurf (navigateur web léger)…
  • Genio, un IDE pour Haiku avec gestion de la complétion de code via le protocole LSP (compatible avec les outils développés pour VS Code par exemple).
  • Ajout de HaikuUtils, un ensemble d’outils de développement et de debug divers.
  • WorkspaceNumber, un replicant pour afficher le numéro du bureau actif dans la DeskBar.
  • KeyCursor, un outil pour contrôler le curseur de souris à l’aide du clavier.
  • BatchRename, un outil pour renommer automatiquement des fichiers par lot.

HaikuUtils

WorkspaceNumber

PonpokoDiff

PecoRename

2pow

BatchRename

Applications portées

  • Un gros travail a été fait sur le portage de KDE Frameworks et des applications l’utilisant. De très nombreuses applications Qt et KDE sont donc disponibles.
  • Du côté de GTK, il n’existait pas de version de GTK pour Haiku, le problème a été résolu à l’aide d’une couche de compatibilité avec Wayland qui n’implémente pas le protocole Wayland mais réimplémente l’API de la libwayland. Les applications GTK arrivent petit à petit, mais l’intégration est pour l’instant beaucoup moins bonne qu’avec Qt, qui dispose lui d’un vrai port utilisant les APIs natives directement. L’apparence des applications est très visiblement différente, certaines touches du clavier ne fonctionnent pas. C’est donc encore un peu expérimental.
  • Enfin, pour compléter les possibilités d’outils graphiques, la bibliothèque Xlibe implémente les APIs de la libx11 (mais pas le protocole de communication de X) et permet de porter les applications FLTK par exemple, ainsi que celles utilisant directement la libx11. Il reste encore des problèmes avec les applications utilisant Tk (si vous connaissez Tk ou X, les développeurs de Xlibe aimeraient bien un petit coup de main). En attendant, les applications Tk sont utilisables à travers un portage de undroidwish, mais ça reste peu confortable.

Du côté des compilateurs et des langages de programmation : LLVM a été mis à jour en version 17. GCC est disponible en version 13 et peut maintenant être utilisé pour compiler du FORTRAN et de l’Objective-C. Les dernières versions de Python sont disponibles, et en plus avec des performances améliorées. Node.JS est également mis à jour, ou si vous préférez le langage R, vous le trouverez également, avec son IDE associé rkward.

Bien sûr, la plupart des bibliothèques et outils disponibles sur d’autres systèmes sont aussi disponibles : ffmpeg (en version 6), Git, libreoffice, Wireshark…

Mentionnons enfin un pilote FUSE pour monter des volumes réseau NFS, qui vient compléter les deux implémentations de NFS présentes dans le noyau (une obsolète qui implémente NFS2, et une plus récente implémentant NFS4, mais qui est instable et pas activement maintenue actuellement).

GCompris

DrawTerm

KDE Mah Jong

NetBeans

Frogatto

CudaText

Cantor

Panneaux de préférences

Appearance

Les préférences « Appearance » permettent de configurer l’apparence du système et des applications : principalement les polices de caractères et les choix de couleurs.

C’est ce dernier qui reçoit une mise à jour en profondeur, avec l’ajout d’un mode automatique. Auparavant, chaque couleur utilisée par le système devait être configurée manuellement, ce qui permet un contrôle très fin, mais demande de passer un certain temps à faire des ajustements. Le mode automatique permet de configurer seulement 3 couleurs : le fond des fenêtres, les barres de titres, et une couleur d’« accentuation ». Les autres couleurs et nuances sont calculées automatiquement à partir de cette palette de base.

En particulier, il devient beaucoup plus facile de choisir un fond sombre pour se retrouver avec un système en mode sombre, très à la mode chez certain·e·s utilisateurices de Haiku.

Il est toujours possible d’activer le mode avancé pour affiner les réglages si nécessaire (ou si vous aimez les interfaces graphiques bariolées et multicolores).

Le mode automatique dans l’application Appearance

La même capture d’écran avec une configuration « mode sombre »

Keymap (disposition clavier)

L’application Keymap permet de configurer la disposition de touches du clavier. Le point qui a reçu un peu d’attention est la gestion de la configuration des touches modificatrices.

Haiku est un dérivé de BeOS qui lui-même a été au départ inspiré de Mac OS. On conserve de cet héritage l’utilisation des touches commande et option au lieu de meta et alt sur les claviers de PC. Mais BeOS et Haiku sont conçus pour être utilisés avec des claviers de PC. La touche commande qui prend la place de la touche ALT est donc celle utilisée pour la plupart des raccourcis claviers. Cela se complique si on essaie d’utiliser un clavier fabriqué par Apple (les codes de touches renvoyés par le clavier pour des touches situées au même endroit ne sont pas les mêmes), ou encore si on a besoin d’une touche AltGr (historiquement utilisée comme touche option par BeOS, mais aujourd’hui ce rôle est plutôt attribué à la touche windows apparue un peu plus tard). Une page sur le wiki de développement de Haiku tente de résumer l’historique et la situation actuelle.

La configuration des touches modificatrices est donc un sujet complexe, et il est probable que le comportement sera à nouveau modifié plus tard. Quoi qu’il en soit, en attendant, l’application Keymap permet toutes les permutations possibles de configuration de ces touches.

Screen (Affichage)

Les préférences d’affichage, en plus de permettre de changer la résolution d’écran, affichent quelques informations essentielles sur la carte graphique et l’écran en cours d’utilisation. Pour les écrans, ces informations sont généralement extraites des données EDID, mais il y a une exception : les dalles d’affichage des PC portables n’implémentent en général pas ce protocole. Les informations sont donc récupérées par d’autres moyens parfois moins bien normalisés. Par exemple, l’identifiant du fabricant est un code à 3 lettres. En principe, les fabricants doivent s’enregistrer auprès d’un organisme qui attribue ces codes, afin d’en garantir l’unicité.

Cependant, certains fabricants ne l’ont pas fait, et se sont choisi eux-mêmes un code qui semblait inutilisé. La base de données officielle réserve donc ces codes et en interdit l’utilisation, afin d’éviter des conflits. Il arrivait donc que le fabriquant d’un écran soit affiché comme étant « DO NOT USE », ce qui a inquiété quelques utilisateurs de Haiku se demandant s’ils risquaient d’endommager leur matériel.

Ces entrées de la liste sont maintenant filtrées et remplacées par les noms des fabricants de panneaux d’affichages concernés (lorsqu’on sait de qui il s’agit).

Outils en ligne de commande

Haiku est fourni avec un terminal et un shell bash (par défaut, d’autres shells peuvent également être utilisés). Les outils définis dans la spécification POSIX sont fournis, ainsi que des compléments permettant d’utiliser les fonctionnalités supplémentaires de Haiku.

df

La commande df affiche l’espace disque disponible sur chaque volume de stockage actuellement monté.

Les colonnes de l’affichage ont été réorganisées, pour être plus lisibles, et se rapprocher un peu du format spécifié par POSIX (mais pas complètement lorsqu’on lance la commande sans options particulières : des informations supplémentaires sont alors affichées).

filteredquery

L’outil filteredquery permet d’effectuer une requête sur les attributs étendus du système de fichiers (permettant de requêter le système de fichiers comme une base de données, plutôt que de naviguer de façon hiérarchique dans les dossiers), puis de filtrer le résultat pour ne conserver que les réponses contenues dans un sous-dossier spécifique. En effet, les requêtes étant indépendantes de l’organisation des dossiers, il est nécessaire de faire ce filtrage par post-traitement des résultats (ce qui reste tout de même généralement plus rapide que de faire l’inverse : parcourir tous les fichiers d’un dossier pour trouver ceux correspondant à un critère particulier).

Cet outil n’a pas reçu de nouvelles fonctionnalités, mais de nombreuses corrections et nettoyages qui le rendent véritablement utilisable.

ping, traceroute, telnet, ftpd

Ces commandes liées à des opérations sur le réseau ont été remplacées par les dernières versions développées par FreeBSD, permettant de bénéficier d’une version moderne, avec plus de fonctionnalités et moins de bugs.

La commande ping6 est supprimée, car ping peut maintenant utiliser l’IPv6 aussi bien que l’IPv4.

pkgman

L’outil pkgman permet de télécharger et d’installer des logiciels et des mises à jour.

Il a peu évolué, mais on peut tout de même noter l’utilisation d’un algorithme de tri « naturel » pour l’affichage des résultats dans l’ordre alphabétique (par exemple, llvm12 sera affiché après llvm9).

Une fonction qui n’est toujours pas disponible dans pkgman est le nettoyage des dépendances non utilisées. Un script fourni dans le dépôt Git de Haiku permet de réaliser manuellement une analyse des paquets installés sur le système pour détecter ceux qui n’ont pas de dépendances, il faudra pour l’instant se contenter de cette solution.

strace

L’outil strace permet d’afficher les appels systèmes effectués par une application, pour comprendre son interfaçage avec le noyau et investiguer certains problèmes de performances ou de mauvais comportements.

L’interfaçage avec le noyau pour extraire ces informations étant assez spécifique, l’implémentation de strace est faite à partir de zéro, et ne partage pas de code avec la commande du même nom disponible par exemple sous Linux.

strace est mis à jour régulièrement et en fonction des besoins des développeurs de Haiku pour décoder et afficher de plus en plus d’informations. Par exemple, elle peut maintenant afficher le contenu des iovec (par exemple pour les fonctions readv ou writev), ainsi que les objets manipulés par wait_for_object et event_queue.

Un exemple de sortie de strace (traçant l’ouverture d’un fichier et le chargement d’une bibliothèque partagée) avant ces changements:

open(0x5, "plaintext", 0x2042, 0x0) = 0x8000000f () (49 us)
map_file("libicuuc.so.66 mmap area", 0x7f04c2675228, 0x6, 0x1ababd0, 0x1, 0x0, true, 0x3, 0x0) = 0x329a0 () (108 us)

et après :

open(0x5, "plaintext", O_RDWR|O_NOTRAVERSE|O_CLOEXEC, 0x0) = 0x8000000f Operation not allowed (57 us)
map_file("libicuuc.so.66 mmap area", [0x0], B_RANDOMIZED_ANY_ADDRESS, 0x1ababd0, B_READ_AREA, 0x0, true, 0x3, 0x0) = 0x73e8 ([0x6392223000]) (135 us)

whence

La commande whence permettait de trouver dans le PATH un exécutable à partir de son nom. Elle était implémentée sous forme d’une fonction bash dans le fichier profile par défaut. Cependant, cette implémentation posait problème pour charger le fichier profile avec d’autres shells, elle a donc été supprimée. La commande which peut être utilisée à la place, puisqu’elle remplit un rôle équivalent.

Serveurs

Les serveurs sont l’équivalent des daemons pour UNIX ou des services sous Windows : il s’agit d’applications lancées par le système pour rendre différents services et coordonner l’ensemble des applications.

app_server

app_server est le serveur graphique de Haiku, équivalent de X ou de Wayland. Il se distingue par un rendu graphique fait principalement côté serveur (pour les applications natives), ce qui permet de l’utiliser de façon fluide à travers une connexion réseau.

Bien que ce soit le serveur graphique, et qu’il ait reçu plusieurs améliorations importantes, les différences sont subtiles. Elles sont toutefois importantes pour proposer un système qui semble réactif et confortable à utiliser.

Un premier changement est une réarchitecture du code qui traite le rafraîchissement de l’écran. Ce rafraîchissement se fait en général en plusieurs étapes, par exemple, si on déplace une fenêtre :

  • Le contenu de la fenêtre déplacée peut être directement recopié de l’ancienne position vers la nouvelle,
  • La zone où se trouvait la fenêtre auparavant doit être re-remplie avec ce qui se trouvait en dessous de la fenêtre déplacée. Cela peut être plusieurs morceaux de fenêtres d’autres applications, qui vont devoir chacune ré-afficher une partie de cette zone.

Le problème étant que certaines applications peuvent mettre un peu de temps à répondre à cette demande de ré-affichage (par exemple parce qu’elles sont occupées ailleurs, ou alors parce que la zone à redessiner est relativement complexe).

Différentes stratégies peuvent être mises en place dans ce cas : laisser à l’écran le contenu obsolète, ou remplir la zone en blanc en attendant que les données deviennent disponibles, par exemple. Ou encore, tout simplement ne rien mettre à jour du tout tant que tout l’écran n’est pas prêt à être affiché. Il faut faire un compromis entre la réactivité (déplacer la fenêtre tout de suite), la fluidité (éviter les clignotements de zones blanches) et la précision (affichage d’information cohérente et à jour).

Plusieurs modifications ont permis d’obtenir un meilleur compromis.

Dans un autre domaine, la police de caractères par défaut « Noto Sans Display » a été remplacée par « Noto Sans », ce qui donne un affichage du texte légèrement différent. La police « display » avait été choisie suite à une mauvaise compréhension de la signification de ce mot en typographie : il signifie que c’est une police de caractères à utiliser pour des gros titres et autres textes courts. Il ne signifie pas que c’est une police à utiliser sur un écran d’ordinateur. De toutes façons la police Noto Display n’est plus maintenue par Google et a disparu des dernières versions du jeu de polices Noto.

Toujours dans le domaine des polices de caractères, app_server sait maintenant charger les fichiers « variable fonts ». Ces fichiers contiennent plusieurs polices de caractères définies à partir de glyphes de base, et d’algorithmes de transformation et de déformation (pour rendre une police plus ou moins grasse, plus ou moins italique…). Pour l’instant, app_server sait charger les valeurs de ces paramètres qui sont préconfigurées dans le fichier. Cela permet de réduire la place utilisée par les polices de caractères sur le media d’installation de Haiku (c’est l’un des plus gros consommateurs d’espace disque, qui nous empêche de faire tenir une version complète de Haiku sur un CD de démonstration par exemple).

Plus tard, il sera également possible de configurer plus finement ces paramètres pour générer des variantes intermédiaires des polices de caractères, ainsi que d’exploiter certaines polices qui offrent des paramètres configurables supplémentaires.

input_server

L’input_server se charge de lire les données venant des périphériques d’entrée (clavier et souris) et de les convertir en évènements distribués aux applications. Il est extensible par des add-ons qui peuvent générer ou filtrer des évènements, ce qui peut être utilisé pour de l’accessibilité (émuler une souris à partir de touches du clavier), de l’automatisation (envoi de commandes pré-enregistrées), du confort d’utilisation (bloquer le touchpad d’un ordinateur portable lorsque le clavier est en cours d’utilisation) et bien d’autres choses.

L’input_server a reçu des corrections de problèmes sur la gestion des réglages de souris, permettant en particulier d’utiliser des réglages différents pour plusieurs périphériques (souris, touchpad), et que ceux-ci soient bien enregistrés.

registrar

Le serveur registrar suit les applications en cours de fonctionnement, et leur permet de communiquer entre elles au travers de l’envoi de messages. Il assure également le suivi de la base de données des types MIME et des associations de types de fichiers avec les applications correspondantes.

L’implémentation de BMessageRunner, qui permet d’envoyer des messages périodiques (par exemple pour faire clignoter le curseur des zones de texte à la bonne vitesse), autorise maintenant des intervalles de répétition en dessous de 50 millisecondes. Cela permet d’utiliser ce système pour des animations fluides de l’interface graphique, par exemple.

D’autre part, la liste des applications et documents récemment lancés est maintenant limitée à 100 entrées. Cela évite un fichier qui grossit indéfiniment et finit par contenir surtout des vieilles informations sans intérêt.

Kits

Le système Haiku fournit les mêmes APIs que BeOS. Elles couvrent les usages basiques d’une application, et sont découpées (dans la documentation de BeOS et de Haiku, au moins) en « kits » qui prennent chacun en charge une partie spécifique (interface graphique, multimédia, jeux vidéos, accès au matériel, etc).

Interface

L’interface kit est la partie de la bibliothèque standard qui se charge des interfaces graphiques.

 BColumnListView

BColumnListView est un ajout de Haiku par rapport à BeOS. Il s’agit d’un élément d’interface permettant de présenter une liste avec plusieurs colonnes, de trier les lignes selon le contenu de ces colonnes, et aussi d’avoir des items hiérarchisés avec la possibilité de plier et déplier une partie de l’arborescence.

Cette classe remplace avantageusement BListView et surtout BColumnListView, les classes historiques de BeOS, qui sont beaucoup plus limitées.

Un certain nombre de type de colonnes prédéfinis sont également disponibles, ce qui facilite la construction d’interfaces présentant les données de différentes applications avec le même formatage.

La classe BColumnListView elle-même n’a pas changé. Par contre, les colonnes de type « taille » (pour afficher une taille en Kio, Mio, Gio…) et « date » utilisent la langue choisie dans les préférences système au lieu d’un format anglais par défaut.

BTextView

BTextView est une classe permettant d’afficher une zone de texte éditable. Elle implémente les fonctionnalités de base (curseur, sélection, retour à la ligne automatique) ainsi que quelques possibilités de mise en forme (couleurs, polices de caractères).

BTextView peut également être utilisée pour des zones de textes non éditables, souvent plus courtes. Cela permet de réutiliser une partie des algorithmes de mise en page et de formatage du texte dans différents contextes. Dans le cadre de l’utilisation du « layout system », une vue doit pouvoir indiquer sa taille minimale, maximale et optimale. Le « layout system » va ensuite calculer la meilleure disposition de fenêtre possible pour satisfaire ces contraintes.

Le cas des zones de texte est particulier, car la hauteur optimale dépend du nombre de lignes de texte, qui lui-même peut être plus ou moins grand si la largeur de la vue oblige à ajouter des retours à la ligne. Le « layout kit » prend en compte ce cas particulier, mais les algorithmes ne sont pas encore tout à fait au point et peuvent conduire à des résultats inattendus dans certains cas. Un de ces cas particuliers sur les zones de texte non éditables a été corrigé.

BMenu

La classe BMenu permet d’afficher un menu. Elle est utilisée de plusieurs façons, puisqu’on trouve des menus dans des barres de menu, dans des contrôles de type « popup », ou encore en faisant un clic droit sur certains éléments de l’interface.

Les menus sont également particuliers parce qu’ils peuvent d’étendre en dehors de la fenêtre dont ils sont originaires. Ils sont donc implémentés sous forme de fenêtres indépendantes. Mais cela pose un autre problème : dans Haiku, chaque fenêtre exécute son propre thread et sa propre boucle d’évènements. Si on navigue dans un grand nombre de menus et de sous-menus, cela peut causer quelques problèmes de synchronisation et de performances.

Le code contient également un grand nombre de cas particuliers pour, par exemple, aligner les raccourcis claviers et les flèches indiquant la présence de sous-menus ente les différents items d’un menu, ou encore détecter si un déplacement de souris a pour but de sélectionner un autre menu (en dessous ou au-dessus de celui actif), ou bien plutôt de naviguer vers un sous-menu.

Les nouveautés suivantes sont apparues cette année:

  • Correction de problèmes de race condition lors de l’ajout d’items dans un menu pendant qu’il est affiché à l’écran. Ce problème se manifestait par exemple dans les menus affichant la liste des réseaux Wifi, qui sont mis à jour en temps réel.
  • Finalisation de l’implémentation de la navigation au clavier (avec les flèches directionnelles) dans les menus.
  • Affichage des symboles graphiques UNICODE pour « backspace » (⌫) et « delete » (⌦) si ces touches sont utilisées comme raccourcis clavier pour un item de menu.
  • Utilisation d’un algorithme de tri stable pour la fonction SortItems. Ce type d’algorithme préserve l’ordre relatif des items qui sont égaux d’après la fonction de comparaison. Ce n’est pas le cas de certains algorithmes de tri classiques, notamment le quicksort. La conséquence était que trier un menu déjà trié pouvait changer l'ordre des items. C’était visible encore une fois sur le menu listant les réseaux Wifi, qui est trié par puissance du signal reçu.

 BSpinner

BSpinner est un contrôle permettant de choisir une valeur numérique, soit à l’aide de boutons +/- pour modifier la valeur par incréments, soit en entrant directement la valeur dans une zone de texte.

Il s’agit d’une extension de Haiku par rapport à BeOS qui ne proposait pas cette fonctionnalité.

Cette classe est encore en cours de développement. Elle a reçu des améliorations pour désactiver correctement les boutons +/- lorsque la valeur atteint le minimum ou le maximum autorisé, et aussi une correction sur le message de notification envoyé lors des changements de valeurs du spinner, qui ne contenaient pas la bonne valeur.

rgb_color

La structure rgb_color permet de représenter une couleur par la valeur de ses composantes rouge, vert, bleu (comme son nom l’indique) et alpha (comme son nom ne l’indique pas). Elle fournit également un certain nombre de fonctions pour mélanger des couleurs, les éclaircir ou les assombrir.

La méthode Brightness() dans la classe rgb_color implémentante maintenant l’algorithme perceptual brightness documenté par Darel Rex Finley, qui donne des meilleurs résultats que l’algorithme utilisé précédemment (qui était celui de la luminosité dans l’espace de couleurs Y'IQ. La fonction perceptual_brightness devenue redondante est supprimée.

Cette méthode permet en particulier de déterminer si une couleur est « sombre » ou « claire », et ainsi de décider si du texte affiché par-dessus doit être blanc ou noir (comme démontré ici par exemple).

Locale

Le locale kit se charge de tous les aspects liés à la localisation : traductions des applications, formatage des messages en utilisant les règles de pluralisation de chaque langue, formatage de dates, de nombres avec et sans unités, de pourcentages, nom des fuseaux horaires…

Il utilise ICU pour implémenter la plupart de ces fonctionnalités, mais fournit une surcouche avec une API s’intégrant mieux avec les autres kits.

La principale évolution cette année est l’implémentation de BNumberFormat, qui permet de formater des nombres. Elle permet de choisir une précision (nombre de décimales - pour les langues qui utilisent un système décimal), d’afficher ou non des séparateurs de groupes (de milliers en français, mais par exemple en Inde la séparation se fait traditionnellement par multiples de 10 000).

Media

Le media kit se charge de tous les aspects multimedia.

Il se compose de deux parties. D’une part, un système de gestion de flux média temps réel, permettant de transférer des données multimédia (son ou flux vidéo par exemple) entre différentes applications qui vont les manipuler, le tout avec un certain contrôle du temps de traitement ajouté par chaque opération, pour tenter de minimiser la latence tout en évitant les vidages de tampons qui produiraient une interruption dans le flux. D’autre part, des classes permettant d’encoder et de décoder des fichiers média et d’en extraire des flux de données (encodées ou décodées).

C’est surtout cette deuxième partie qui a reçu quelques évolutions. La version de ffmpeg utilisée pour le décodage de presque tous les formats audio et video est maintenant la dernière version ffmpeg 6. Quelques autres problèmes (erreurs d’arrondis, gestion des tampons partiels en fin de fichier) ont également été corrigés, ce qui permet de faire fonctionner à nouveau le jeu BePac Deluxe qui est extrêmement intolérant au moindre écart de comportement par rapport à l’implémentation du Media Kit dans BeOS.

Support

Le support kit contient un ensemble de classes basiques mais indispensables : gestion des chaînes de caractères, des tampons en mémoire, etc. Il fournit les briques de bases utilisées par les autres kits.

BDataIO

BDataIO est une classe abstraite avec des fonctions de lecture et d’écriture. Plusieurs autres classes sont des instances de BDataIO, par exemple BFile (représentant un fichier), mais aussi BMemoryIO (permettant d’accéder à une zone mémoire).

Plusieurs autres classes acceptent BDataIO (ou sa sous-classe BPositionIO, qui ajoute la possibilité de se déplacer à une position donnée dans le flux) comme entrée ou comme sortie. Il est donc facilement possible de réaliser les mêmes opérations sur un fichier, une zone de données en mémoire, un socket réseau, ou tout autre objet susceptible de fournir une interface similaire.

BDataIO elle-même n’a pas évolué, mais deux de ses implémentations, BBufferedDataIO et BAdapterIO, ont été améliorées. Ces deux classes permettent de construire un objet BDataIO à partir d’un autre, en ajoutant un cache en mémoire pour accélérer les opérations ou encore pour rendre compatible avec BPositionIO un objet qui ne l’est pas.

Ces classes sont en particulier utilisées par l’application StreamRadio, qui implémente la lecture de podcasts en connectant directement le résultat d’une requête HTTP (effectuée grace au network kit) dans un décodeur audio (via la classe BMediaFile du media kit). La mise en tampon permet de revenir en arrière dans la lecture d’un épisode, de télécharger en avance les données qui vont être lues, et d’éviter de conserver inutilement en mémoire les données qui sont déjà lues par l’application.

Bibliothèques C

Les « kits » mentionnés ci-dessus sont l’API en C++ utilisée par les applications Haiku.

Il existe aussi des APIs en C, en grande partie implémentant la bibliothèque C standard et les fonctions décrites dans la spécification POSIX.

Libroot

Libroot implémente la bibliothèque standard C. Elle regroupe entre autres la libc, la libm, et la libpthread, qui sont parfois implémentées comme 3 bibliothèques différentes pour d’autres systèmes. Les évolutions consistent à compléter l’implémentation de la spécification POSIX, et à suivre les évolutions de cette dernière ainsi que des nouvelles versions du langage C. On trouve également des corrections de bugs découverts en essayant de faire fonctionner de plus en plus d’applications sur Haiku, ce qui permet de mettre en évidence des différences de comportement avec d’autres systèmes.

  • Ajout de getentropy pour initialiser les générateurs de nombres aléatoires
  • Correction de problèmes de locks au niveau de l’allocateur mémoire lors d’un fork
  • Plusieurs corrections sur l’implémentation de locale_t, remplacement de code écrit pour Haiku ou provenant de FreeBSD par une implémentation simplifiée mais suffisante, provenant de la bibliothèque C musl.
  • Ajout de static_assert en C11
  • Correction d’un crash lors de l’utilisation de certaines fonctions XSI
  • Ajout de stpncpy
  • La fonction open utilisée sur un lien symbolique pointant vers un fichier non existant peut maintenant créer le fichier cible.
  • Il est possible d’utiliser mmap sur un fichier plus grand que la mémoire disponible sans avoir besoin de spécifier le flag MAP_NORESERVE
  • Utiliser rename pour renommer un fichier vers lui-même ne retourne plus d’erreur (conformément à la spécification POSIX).
  • Ajout de pthread_sigqueue

Libnetwork

La libnetwork implémente les APIs nécessaire pour se connecter au réseau (sockets, résolution DNS…). Elle est séparée de la bibliothèque C pour des raisons historiques : l’implémentation de TCP/IP pour BeOS avait été réalisée entièrement en espace utilisateur (le noyau n’offrant qu’une interface pour envoyer et recevoir des paquets ethernet sur la carte réseau). Cela a posé des problèmes de compatibilité avec d’autres systèmes, et des problèmes de performance. Haiku est donc compatible avec la version "BONE" de BeOS, qui implémente la pile réseau dans le noyau.

  • Mise à jour du résolveur DNS à partir du code de NetBSD 9.3. Précédement le code utilisé était celui du projet netresolv de NetBSD, mais ce projet n’a pas connu de nouvelles publications et le code est à nouveau maintenu directement dans NetBSD sans publication séparée.
  • Correction d’un crash lors de l’utilisation de multicast IPv4

LibBSD

La libbsd implémente plusieurs extensions fournies par la libc de certains systèmes BSD. Elle est séparée de la bibliothèque C principale pour limiter les problèmes de compatibilité: certaines applications préfèrent fournir leur propre version de ces fonctions, ou d’autres fonctions avec le même nom mais un comportement différent. Elles peuvent alors s’isoler en n’utilisant pas la libbsd pour éviter toute interférence.

LibGNU

De façon similaire à la libbsd, la libgnu fournit des fonctions qui sont disponibles dans la glibc (la bibliothèque C du projet GNU) mais ne font pas partie d’un standard (C ou POSIX).

  • Ajout de sched_getcpu pour savoir sur quel cœur de CPU le thread appelant est en train de s’exécuter.
  • Ajout de pthread_timedjoin_np, pour attendre la fin de l’exécution d’un thread (comme pthread_join mais avec un timeout.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Entrevue avec Christophe Grenier, développeur de testdisk et photorec

testdisk et photorec sont deux outils libres (GPLv2+) formidables… que l’on souhaite pourtant ne jamais avoir à utiliser ! En effet, les deux sont dédiés à la récupération de données après une panne matérielle, ou une bévue.

TestDisk

Le premier est axé supports de stockage et leurs partitions, le second orienté récupérations de fichiers (mais il est loin de se limiter aux images).

Cocorico : le développeur de ces outils est français, et il a bien voulu répondre à notre sollicitation d’entrevue :).

Bonjour Christophe ! Pouvez-vous présenter votre parcours ?

Quand j’ai commencé à développer testdisk, mon premier outil de récupération de données, j’étais encore étudiant en école d’ingénieur.
Maintenant, cela fait plus de 20 ans que je suis diplômé de l’ESIEA, j’interviens d’ailleurs dans son Mastère Spécialisé Sécurité et Information des systèmes depuis 2004.
Après avoir travaillé dans la sécurité informatique, j’ai travaillé autours des systèmes Linux, du réseau et de la sécurité.
Depuis un peu plus de 10 ans, je suis directeur d’exploitation pour un hébergeur parisien.
Dans le cadre de mon auto-entreprise, je fais de la récupération de données.

Comment avez-vous démarré ce projet ?

Un ami développeur professionnel sous Windows venait d’acheter un nouveau disque dur et pour éviter d’avoir trop de lettres de lecteurs (C:, D:, E:, …) avait décidé de réduire le nombre de partitions de son disque de données ; ce disque contenait 3 partitions.
Il a sauvegardé les données, supprimé les 3 partitions, en a créé 2 et — au moment de restaurer les données — il s’est rendu compte qu’il avait été trop vite et qu’il lui manquait la sauvegarde d’une des partitions.
Sachant que j’avais des connaissances sur le partitionnement des PC (je m’étais intéressé au fonctionnement des virus de boot qui se logeaient dans le premier secteur des disques durs), il m’a contacté.

Armé d’un éditeur hexadécimal, il nous avait fallu la journée pour reconstruire manuellement la table des partitions et récupérer ces données. Un peu plus tard ayant appris les rudiments de la programmation en C, je me suis dit qu’il devait être possible d’automatiser la récupération des partitions et c’est ainsi qu’est né testdisk en 1998.

Pour photorec, il a fallu attendre mon premier appareil photo numérique en 2002. Ayant peur de perdre des photos (effacement par mégarde de photos non sauvegardées, reformatage de la mauvaise carte mémoire…), avant même de partir en voyage, j’ai bricolé un programme en C sous Linux capable de récupérer les photos et vidéos prises par mon appareil photo. C’est ainsi que photorec est né pour récupérer des photos. Il a gardé son nom même s’il récupère des centaines de formats de fichier différents.

Quels sont les points marquants qui ont, selon vous, marqué l’évolution de ces logiciels ?

Les points principaux ayant permis le succès de ces logiciels sont :

  • de rendre ces logiciels multiplateformes pour PC : MS-Dos et Linux, puis Windows. La prise en charge de macOS est venu bien plus tard et a eu peu d’impact.
  • de distribuer ces logiciels gratuitement. L’utilisation d’une licence opensource (GPL v2+) m’a aussi permis d’avoir quelques contributions.
  • d’être plutôt à l’écoute des utilisateurs et d’enrichir les formats de fichiers gérés par photorec. Certains sont vraiment exotiques.
  • de la documentation en plusieurs langues à une époque où les traductions automatiques étaient quasi-inexploitables. Mais aujourd’hui, la documentation principale de plus de 60 pages est en anglais.

Un point marquant a été la reconnaissance officielle de l’utilisation de ces logiciels par des organismes étatiques.

testdisk a été conçu pour un public technique, j’ai eu des retours de différents sociétés de récupération de données de part le monde l’utilisant mais en général, elles ne souhaitent pas communiquer sur leur utilisation de logiciels (libres ou du commerce).

Un tournant a eu lieu en 2014 quand le NIST, dans le cadre du Computer Forensics Tool Testing Program (CFTT), a testé et publié ses résultats sur les capacités de photorec. En comparant les résultats de chaque outil, on découvre que photorec a les meilleurs résultats (1ère place ex aequo).
Ainsi, photorec figure dans le catalogue de logiciels que les agences d’États américains peuvent utiliser.

photorec apparaît dans les diapositives de la formation SecNum Academie de l’ANSSI.

Pourquoi un seul paquet pour deux logiciels, ou pourquoi pas un seul logiciel ?

Quand on parle de testdisk et photorec, il y a aussi fidentify, un outil en ligne de commande qui permet de tester rapidement l’identification de fichiers en utilisant les mêmes parsers que photorec, sans oublier qphotorec, une version graphique de photorec.

Selon les distributions, vous pouvez avoir un package testdisk comprenant testdisk, photorec et fidentify et un package qphotorec pour qphotorec.

testdisk utilise un accès en écriture au disque, photorec n’utilise qu’un accès en lecture. photorec est plus facile d’utilisation que testdisk, c’est presque du next/next/next, il ne fait que du « file carving » (récupération de fichiers par identification des entêtes).

Quelles sont les fonctionnalités les plus attendues que vous pensez implémenter ?

La vérification formelle du code des parsers de photorec est ce qui m’a le plus occupé ces dernières années, je continue de travailler dessus.
Je n’ai pas prévu d’implémenter de nouvelles fonctionnalités dans l’immédiat.

Avez-vous des retours d’utilisateurs, des remerciements de personnes qui ont pu grâce à ces outils retrouver une partie de leur vie numérique, ou de grincheux ?

Perdre une partie de sa vie numérique est très stressant.
De fait, j’ai été confronté à des grincheux très agressifs dont un cas extrême de menaces répétées de mort de la part d’un individu qui n’avait pas pu récupérer ses données. Les hébergeurs de ses messageries successives ont agi rapidement lorsque j’ai signalé ses messages, mais je me suis posé la question à ce moment-là si cela valait bien la peine de m’investir autant pour risquer cette violence numérique.

Les retours positifs des utilisateurs et leurs remerciements sont ce qui a permis de me motiver à continuer de développer sur toutes ces années ce projet.
À une époque, je recevais quotidiennement des mails de remerciements et/ou des donations. C’est moins fréquent désormais, mais c’est peut-être parce que les sauvegardes vers le cloud sont beaucoup plus courantes et qu’ainsi les gens ont moins recours à la récupération de données.

Effectivement, perdre une partie de sa vie numérique est très stressant, avez-vous des conseils à donner sur la sauvegarde ?

Ce sont des conseils très généraux :

  • que cela soit au niveau personnel ou au niveau professionnel, il est important de vérifier le périmètre de la sauvegarde. Si vous n’aviez plus que votre dernière sauvegarde, que vous manquerait-il ?
  • testez une restauration de données
  • si possible, multipliez les sauvegardes (sauvegarde avec historique ou versionning, pas une simple synchronisation)
  • dans l’idéal, plusieurs lieux de sauvegarde.

Sur ces projets, y a-t-il d’autres contributeurs ?

testdisk et photorec reçoivent principalement des contributions ponctuelles. J’en profite pour remercier toutes les personnes qui m’ont aidé pour les traductions, pour avoir partagé des fichiers dans des formats exotiques, ou pour avoir contribué au code.
Merci aussi aux personnes ayant participé à la modération du forum et au modérateur actuel !

Y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?

À moins de recevoir des contributions, je ne pense pas pousser davantage le support mac.
Le chiffrement des disques sous Windows va devenir la norme, comme c’est le cas sous macOS. Je pense que cela va freiner le développement de testdisk et photorec. La récupération va devenir bien plus complexe en exigeant un déchiffrement préalable.

Des souvenirs marquants de cette expérience ?

Je crois que l’une des anecdotes qui m’a le plus amusé est celle que j’ai reçue en janvier 2007 : dans un premier mail, l’utilisateur explique qu’un appareil photo a été volé dans sa voiture, mais qu’une semaine plus tard, la police a trouvé le coupable et a pu restituer l’appareil photo. Le contenu avait été effacé, mais grâce à photorec, l’utilisateur avait récupéré plus de 300 photos.

Currently I am recovering over 300 photos using PhotoRec that my sister in law took over the holidays. Our car was broken into and the camera was stolen. A week later the police found the guy! They found the camera, but it had been wiped.
I had read about recovering photo's from flash cards via a story on slashdot, and now here I am.

Quelques heures plus tard, j’ai reçu la suite de l’histoire :

I have recovered some pictures that look to be taken by the thief […]
I am submitting a CD of the data I have recovered to the Detective involved in the case. My little camera was involved in a much larger theft, so hopefully the pictures they took will help nail them all!

Le voleur avait utilisé l’appareil photo, photorec a permis de récupérer des photos ayant beaucoup intéressé le détective en charge du dossier : celui-ci espère découvrir les autres personnes impliquées dans un vol de plus grande envergure.

Avez-vous eu des échanges avec des éditeurs de logiciels similaires (opensource ou propriétaires) ?

photorec a été victime de plusieurs contrefaçons.

Dans un cas, un fabricant de carte mémoire a distribué un logiciel de récupération de données, ce fabricant avait sous-traité le développement qui avait « optimisé » son temps de développement en récupérant le code source de photorec, remplaçant tous les entêtes de copyright et ajoutant une interface graphique.
Après avoir contacté le fabricant, celui-ci a fait rétablir les copyrights manquants et le code a été distribué en GPLv3.

Dans d’autres cas, des développeurs ont volontairement publié des contrefaçons qu’ils revendaient. Après avoir fait fermer leur hébergement plusieurs fois, ils ont fini par trouver un hébergeur bullet-proof, un hébergeur qui ne répondait plus aux plaintes…

Concernant le forum, avez-vous déjà rencontré des difficultés avec le respect du code de conduite ?

La modération sur le forum est obligatoire, les spammeurs sont très nombreux et inventifs en réutilisant par exemple du contenu d’autres sujets. Aucun code de conduite n’a été formalisé.
Le forum ne tient plus que grâce à la présence d’un modérateur, je ne sais pas si cette partie du projet va perdurer.

Quel est votre modèle économique ?

Le projet est né comme un projet personnel et reste géré comme tel.
Je travaille chez Global Service Provider, une société de services et hébergement informatique, qui me permet de disposer gracieusement (Merci à eux) de machines virtuelles (VM), sauvegarde, monitoring pour le projet.
Diverses donations ponctuelles couvrent les frais des différents noms de domaine, mon équipement informatique personnel…

Au niveau personnel, quels logiciels libres utilisez-vous, sur quel système d’exploitation ?

À l’exception des raspberry pi sous Raspbian, les différents ordinateurs de la maison sont sous Fedora Linux.
J’utilise gnome comme environnement graphique, alpine et roundcube pour la messagerie, vim comme éditeur de texte, du docker avec moby, gcc, python…

Et au niveau professionnel ?

Mon ordi portable est aussi Fedora Linux.
Les serveurs Linux que mon équipe et moi gérons sont principalement sous AlmaLinux et Debian.

J’utilise tous les jours ansible (automatisation des configurations), git (versionning), netbox (gestion de datacenters), oxidized (sauvegarde réseau), mediawiki (documentation)…

Merci pour votre disponibilité, et pour ces merveilleux outils !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Parcours libriste avec lareinedeselfes — « Libre à vous ! » du 3 septembre — Podcasts et références

13 septembre 2024 à 10:21

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

  • sujet principal : Parcours libriste avec lareinedeselfes
  • chronique F/H/X de Florence Chabanois sur le thème « Formulations excluantes et invisibilisantes »
  • chronique À la rencontre du libre de Julie Chaumard sur le thème « Les-Tilleuls.coop - Une coopérative basée sur le logiciel libre »

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 nous laisser un message sur le répondeur de la radio : pour réagir à l’un des sujets de l’émission, pour partager un témoignage, vos idées, vos suggestions, vos encouragements ou pour nous poser une question. Le numéro du répondeur : +33 9 72 51 55 46.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Recommandations de lecture: RE2020, CSTB, STD, ACV, FDES, INIES, HQE, coup de gueule et FOSS

En passant dernièrement dans l’espace de rédaction de LinuxFr.org, au sujet de FreeCad 1.0 (dépêche en cours de rédaction, mais la RC1 est pour dans quelques jours), un intervenant parle de Gestion du Cycle de Vie d'un Produit.

Dans le domaine du bâtiment / BTP, on est en plein dedans et depuis quelque temps déjà. Effectivement, un logiciel libre comme FreeCad pourrait, à priori, tout à fait trouver sa place dans ce domaine, mais les obstacles sont nombreux et pour certains, très difficiles à surmonter.

Je vous propose un petit tour parmi ces acronymes pour vous en convaincre.

Et en commençant par un petit rappel à la loi si vous ne suivez pas l’actualité :)

    Sommaire

    La RE2020 est en vigueur

    RE2020

    C’est l'arrêté du 4 août 2021 qui a définitivement activé la Réglementation Environnementale 2020.

    Depuis le 1ᵉʳ janvier 2022, tous les nouveaux projets de construction de bâtiment doivent être conformes à la RE2020. Elle reprend dans son volet « Énergie » l’esprit de la Réglementation Thermique RT2012 (et des Réglementations Thermiques précédentes, RT2008, RT2004) en vigueur jusqu’à cette date. Elle y ajoute à présent un volet « bilan Carbone » sur le cycle de vie de l’ouvrage (50 ans minimum).

    Je vous recommande ce guide plutôt complet de 93 pages (à ouvrir et à garder sous le coude pour la suite ;).

    Remarque: Ce document (2.2 page 26/93) contextualise la RE2020 par rapport à la précédente RT2012.
    L’objectif initial des RT était (et est toujours) de réduire les pertes d’énergie entre l’intérieur et l’extérieur. Une bonne idée, tout le monde en convient.
    Les RT2004 et RT2008 étaient plutôt « prescriptives » (« obligation de moyens » dans le jargon du BTP) tandis que la RT2012 impose une « obligation de résultats » suivant des critères qui lui sont propres.

    Sur le site du Ministère du Développement durable, on peut trouver énormément d’infos utiles et ces liens spécifiques à la suite du propos :

    Bien que le mot logiciel ait attisé votre curiosité, parlons de la référence en matière de bâtiment en France: le CSTB.

    Le Centre Scientifique et Technique du Bâtiment (CSTB)

    Présentation

    Le Centre Scientifique et Technique du Bâtiment a été créé en 1947 et fonctionne aujourd’hui sous le statut d’Établissement Public à caractère Industriel et Commercial (EPIC). Son existence est entérinée dans le Code de la Construction et de l’Habitat, (en particulier, ses missions dans l’article 121-1)

    I.
    - réaliser ou faire réaliser des recherches touchant à la technique, l’économie, l’environnement, la performance énergétique, la qualité sanitaire, la sociologie et, plus largement, au développement durable dans la construction et l’habitat ;
    - réaliser, pour le compte des services du ministre chargé de la construction et des autres ministères, des études contribuant à la définition, la mise en œuvre ou l’évaluation des politiques publiques dans le champ de la construction et de l’habitat. En particulier, il participe aux travaux d’une commission, constituée auprès du ministre chargé de la construction par arrêté de ce ministre, et chargée de formuler les avis techniques et les documents techniques d’application sur des procédés, matériaux, éléments, ou équipements utilisés dans la construction, lorsque leur nouveauté ou celle de l’emploi qui en est fait nécessite une expertise collective pour en apprécier l’aptitude à l’emploi.

    Il contribue à la diffusion et à la valorisation des connaissances scientifiques et techniques en matière d’habitation et de construction durable produites dans le cadre de ses recherches et études, par des publications et toutes autres mesures appropriées, dont la normalisation. Il participe également, en liaison avec les services intéressés et sous le contrôle du ministre chargé de la construction, aux activités de coopération technique internationale concernant l’habitation et la construction. Il peut se voir confier toutes missions ayant trait à ces mêmes matières dans le domaine international.

    II. - Parallèlement à ses missions d’intérêt général décrites à l’article L. 121-1, le Centre scientifique et technique du bâtiment apporte son concours aux organismes, groupements, collectivités et personnes physiques ou morales qui le sollicitent pour des missions se rattachant à l’objet de ses activités, notamment par la réalisation de prestations d’études et de conseil, d’essais, et la délivrance de certifications.

    C’est donc un acteur incontournable dans le domaine de la construction tant son champ d’intervention est vaste.

    En particulier, en ce qui nous intéresse, il lui revient la responsabilité d’évaluer la conformité d’une application destinée à faire une étude RE2020.
    Cet audit par le CSTB dure de 3 à 7 mois et se réalise suivant des règles.

    En voici un extrait (page 14/16):

    12 TARIFS
    Tarif pour l’évaluation d’un logiciel thermique : 5 700 € HT, dont 700 € HT de frais administratifs.
    Tarif pour l’évaluation d’un logiciel environnement : 4 000 € HT

    Ce n’est pas donné, mais supposons que je sois riche et venons-en enfin à nos logiciels.

    Calculs « Partie énergie »

    C’est peut-être la partie la plus simple à priori puisqu’il n’y a pas de moteur de calcul à programmer. Il n’y en a qu’un seul et il est fourni par le CSTB en version compilée appliquant les règles dites « Th-BCE 2020 ».

    Cela tombe bien car l’annexe III le pavé décrivant les modalités du calcul fait plus de 1800 pages.

    La figure 1 sur la page 5 du règlement d’évaluation (voir ci-dessus) présente l’architecture globale d’une application. Elle consiste à arranger des données synthétiques sur l’ouvrage, dans un format XML en entrée du moteur et à présenter convenablement les synthèses des résultats en sortie.

    Ainsi, toutes les applications « pro » ne différent que par leur interface utilisateur. FreeCad est tout à fait adapté à agréger les données pour générer le XML attendu en entrée par le moteur de calcul. Le module « Schedule » de l’atelier « BIM » pourrait être une bonne base de départ.

    Mais il n’y a ni accès direct à ce moteur de calcul (distribué en tant que *.dll semble-t-il !), ni a sa documentation.

    Toutefois, le CSTB met gratuitement à disposition l’application (sous Windows donc) COMETH. Il faut ouvrir cette plaquette PDF de 2 pages pour trouver l’adresse mél à qui écrire pour savoir comment accéder à l’application.

    Th-BCE != STD

    À noter que les règles Th-BCE utilisées par le moteur de calcul et présentées dans l’annexe III demandent la saisie d’un nombre assez conséquent d’informations. Pourtant, à quelques modifications près, rien de nouveau sous le soleil, car ce sont sensiblement les mêmes que pour la RT2012.

    Elles permettent de qualifier, après un passage à la moulinette logicielle, la performance de l’enveloppe du bâtiment (grosso modo: isolation+fenêtres/portes+étanchéité à l’air) avec un Bbio, une consommation en énergie avec un Cep, etc qui devront respecter certains seuils (voir 4.1 page 49/93 du guide RE2020) pour avoir le certificat.

    C’est une méthode approchée qui n’a rien d’une Simulation Thermique Dynamique.

    Ainsi, concernant les scénarios d’occupation, pour les règles Th-BCE (voir page 10/93 du guide RE2020)

    …, il s’agit toujours de scénarios conventionnels et de profils moyens, de sorte que les résultats ne peuvent être utilisés comme outil de prédiction des consommations.

    Une STD prendra en compte les « vrais cas d’usage » en fonction de scénarios bien plus précis (comme la variation journalière et saisonnière de la fréquentation, de l’utilisation des équipements, des apports naturels solaires etc).

    Pour cela, le CSTB vend le logiciel TRNSYS v18 en 1ʳᵉ installation à 4 500 € HT.

    Calculs « partie Carbone »

    C’est un grand changement réglementaire qu’introduit la RE2020. L’objectif affiché par le législateur est celui de la lutte contre le réchauffement climatique et pour cela considère que le « bilan carbone sur le cycle de vie » est un bon indicateur.
    En vérité, le seul terme « Carbone » est un peu réducteur. Si le « bilan Carbone » est bien l’unique critère environnemental qu’il faudra respecter selon les termes de la RE2020, l’étude porte en elle-même sur 36 données environnementales (voir page 39/93 du guide RE2020):

    Le calcul réglementaire réalise donc simultanément le calcul de 36 indicateurs
    correspondant aux 36 indicateurs inclus dans les données environnementales

    NDR: tout est en place pour une prise en compte ultérieure par le législateur d’autres critères environnementaux (eutrophisation des sols, impacts sur l’eau…)

    Le calcul est on ne peut plus simple: récupérer les quantités des différents types de produits et les multiplier par les données environnementales correspondantes (à peu de choses près, voir illustration 12 page 56/93 du guide RE2020).

    Avant de quitter brièvement le CSTB et de partir à la recherche de ces « données environnementales », je signale que son logiciel COMENV fait ces calculs d’impact « Carbone ». Il faut ouvrir cette plaquette PDF de 2 pages pour savoir qu’il vous en coûtera 100 € HT/an et pour trouver l'adresse du formulaire de contact (mais il y a une erreur de certificat) !

    L’Analyse du Cycle de Vie (ACV)

    Si vous avez lu Gestion du Cycle de Vie d’un Produit, vous n’apprendrez pas grand-chose de plus en lisant la page Wikipedia pour l'Analyse du Cycle de Vie.

    Il s’agit du même concept: évaluer suivant différents indicateurs l’impact environnemental d’un produit sur l’ensemble de sa durée de vie.

    Les grandes étapes du cycle de vie d’un produit

    Dans notre cas il faut distinguer deux types d’ACV.

    ACV Globale

    C’est ce que fait la RE2020 (voir 4.2 page 53/93 du guide) en ventilant l’impact « carbone » sur les différentes étapes du cycle de vie de l’ouvrage et sur des indicateurs Ic.. hybrides décrivant la part des composants, du chantier, de l’énergie en exploitation, de l’eau en exploitation (page 39/93).

    ACV Unitaire

    Comme on l’a vu, la RE2020 s’appuie sur des quantités (que FreeCad pourrait provisionner) et des données environnementales unitaires pour un produit donné (ou d’un type, d’une gamme). Par exemple 1 m³ de béton, 1 m² de placo BA13, 1 kg de colle à placo, etc. Dans le jargon de l’ACV, c’est une UF, Unité Fonctionnelle.

    Ces données environnementales, dans le cadre d’une étude RE2020 proviennent de plusieurs sources tel que précisé dans cette note explicative page 3/10.

    L’esprit est que si le fabricant n’a pas fourni de données environnementales pour son produit, des valeurs par défaut ou forfaitaires sont prises en compte dans le calcul. Ces valeurs sont volontairement défavorables pour inciter les acteurs de la fourniture de « composants » à publier des FDES.
    (voir également page 43/93 et l’organigramme page 44/93 du guide RE2020)

    Les FDES

    Les Fiches de Déclaration Environnementale et Sanitaire sont donc la base d’une étude RE2020 sur son aspect environnemental.

    Pour plus d’info sur les FDES

    Elles doivent répondre aux exigences de la Norme NF EN 15804+A2 (Contribution des ouvrages de construction au développement durable - Déclarations environnementales sur les produits - Règles régissant les catégories de produits de construction), à retrouver sur la boutique de l’AFNOR.
    Oui, ce n’est pas donné pour à peu près 25 pages franchement pertinentes sur un total de 51.

    La Loi n’impose pas aux fabricants des produits utilisés dans une opération de construction à publier une FDES mais, comme on l’a vu, cherche à les y inciter.

    Pour faire établir une FDES, il faut passer par un organisme agréé comme le CSTB: https://www.cstb.fr/nos-offres/toutes-nos-offres/declaration-environnementale-fdes

    Le ticket d’entrée est à partir de 6 500 € HT d’après cette plaquette PDF.

    Exemple de FDES pour un complexe plaque de plâtre 13 mm + isolant de 140 mm:
    https://www.base-inies.fr/iniesV4/dist/infos-produit/40016

    Les 36 données environnementales sont dans l’onglet « indicateurs » et sont ordonnées de la manière suivante:

    • en catégories: Impacts environnementaux, Consommation des ressources, Déchets, Flux sortants, Stockage du carbone
    • et chaque indicateur est détaillé pour chaque étape de son cycle de vie.

    Le lecteur perspicace aura relevé dans les adresses la chaîne de caractères inies, alors allons-y.

    L’INIES

    La base de données environnementales

    Appelée INIES, elle permet de consulter les FDES. Elle est déclarée en accès libre. https://www.base-inies.fr/ vous renvoie l’erreur 403 de l’Apache « Tomcat » pas content, il faut aller librement sur https://www.base-inies.fr/iniesV4/dist/consultation.html .

    Pas mal de changements depuis mes dernières visites il y a 10 ans au moins.

    • l’interface s’est modernisée (javascript) pour le meilleur. Ça marche très bien.
    • il y a beaucoup plus de produits référencés.
    • il y a maintenant des « configurateurs »
    • mais malgré tout, en connaissant la diversité de l’offre, il reste plein de trous dans la raquette: https://www.inies.fr/la-re2020-booster-de-la-production-des-fdes-et-des-pep/ (fin 2023: 3630 FDES et 961 PEP seulement)
    • et puis comment utiliser tout ça dans le cadre de l’ACV Globale pour pouvoir vérifier la conformité à la RE2020 ?

    Le webservice de l’INIES

    Par un service web bien entendu: https://www.inies.fr/programmes-et-services/le-webservice-des-donnees-numerisees/

    Il faut d’abord demander l’accès au service: https://www.inies.fr/ressource/formulaire-de-demande-dacces-au-webservice/

    Dans ce formulaire, le cas du logiciel libre est envisagé.
    Mais il faudra passer l’examen de la demande par le CSIB (d’après les CGV):

    Le Conseil de surveillance de la base INIES (CSIB) : désigne les membres constitutifs de ce comité qui définissent la politique générale en matière de contenu de la base INIES et approuvent les demandes d’accès au webservice.

    Plus d’informations sur la base INIES, son utilisation (stats et logiciels qui l’utilisent), les configurateurs de FDES, les PEP et l’ICV dans cette présentation synthétique de 35 pages.

    L’organisme INIES

    Organisation INIES

    Source: https://www.inies.fr/inies-et-ses-donnees/qui-sommes-nous/

    l’Alliance HQE-GBC a un rôle central aux côtés de l’AFNOR, du CSTB, de l’ADEME, de la FFB, de la CAPEB…

    HQE

    Logo marque HQE

    Source: https://www.hqegbc.org/qui-sommes-nous-alliance-hqe-gbc/usage-de-la-marque-hqe/

    Obtenir un label HQE est une démarche volontaire de la part du Maître d’Ouvrage (celui qui paye). Cela nécessite une certification délivrée par l’alliance HQE-GBC.

    J’en ai entendu parler (par la presse spécialisée) quand les premières certifications ont eu lieu vers 2005/2006

    https://www.hqegbc.org/qui-sommes-nous-alliance-hqe-gbc/notre-histoire-alliance-hqe-gbc/

    Quand soudain, patatras,

    Le coup de gueule de Rudy Riccioti

    Le bonhomme

    Résidence Argo

    Résidence Argo, Source: https://rudyricciotti.com/

    RR (son acronyme ;) est un architecte plutôt connu, qui aime le béton et a le verbe haut des gens du midi. Un sacré numéro.

    Comme d’autres qui ne sont pas du tout débordés dans leur vie de tous les jours (Ministre, moule de LinuxFr.org, etc), il aime aussi écrire: 14 bouquins pour sa part (!) dont

    La trilogie « HQE »

    Les liens sont vers le site Babelio

    1. HQE Transbordeurs (22/03/2007)
    2. HQE les renards du temple Al Dante (21/11/2009)
    3. HQE - La HQE brille comme ses initiales sur la chevalière au doigt Le Gac Press (25/04/2013) Le Gac Press (25/04/2013)

    Citations de Babelio aussi:

    « La HQE, véritable privilège des pays riches de niquer davantage la nature en paraissant vertueux. »
    R.R., conférence 12.07.27, Palembang

    « Le sigle le plus démagogue jamais inventé protège ses initiales, confirmant là ce désir de pouvoir sur un territoire d’intérêt public… »

    Ce que j’en pense

    C’est un pamphlet pas bien épais. Le numéro 2 est une version revue et légèrement augmentée du 1 (pour répondre à la polémique sans doute ;) et le troisième reprend les deux premiers en y ajoutant un épilogue.
    Comme conseil de lecture je dirais de prendre le trois.

    Le ton est incisif et rentre dedans jusqu’à parfois paraître outrancier. Mais sur le fond, l’essentiel du propos me semblait pertinent à l’époque: HQE, un lobby technico-scientifico-économique a mis la main sur une usine à gaz (qu’il va construire et imposer) qui demande à « numériser » l’acte de construire et à en décomposer le moindre élément constitutif (FDES, ACV).

    J’y ai vu « pff, encore plus d’informatique quoi ». La RT2012 (obligatoire contrairement à une labellisation HQE) étant dans les tuyaux à cette époque-là, il y avait déjà de quoi faire. RR y voit un appauvrissement des savoirs et de la créativité par des règles aux origines douteuses qui produiront des solutions technico-économiques toutes faites pour des résultats médiocres en tous points.

    RR a raison

    Source: https://qualiteconstruction.com/ressource/batiment/decollement-ite-renovation/

    Conseil de lecture: N’hésitez pas à visiter ce site, il regorge d’excellentes fiches techniques.

    Sur ce point, il est vrai que l’on voit pas mal d’immeubles de 10/15 ans d’âge dans un état assez pitoyable. C’est plutôt rageant.

    Ce qui est paradoxal dans le propos de RR, c’est que l’industrie du béton (qui pèse très lourd), son matériau de prédilection, a été en pointe sur ce sujet. Les premières FDES en étaient toutes issues (parpaing, bordure de trottoir, prédalle…) suivie par les plaques de plâtre et les isolants.
    Pour le premier concerné, le bilan carbone est au centre de ses préoccupations au vu des quantités astronomiques mises en œuvre et du mode de production du ciment, très énergivore. Être au plus près des faiseurs de lois était une décision naturelle. Avec ses gros moyens elle a pu s’adapter sans trop de mal à cette nouvelle donne.

    Aujourd’hui de quelques adhérents à HQE (c’est une association, rapport moral et activité 2023 en date de juin 2024) le panel s’est bien diversifié et on y trouve tous les aspects du métier.

    La base INIES s’est bien diversifiée et (cela m’intéresse) j’ai eu la bonne surprise de trouver cette FDES:

    https://www.base-inies.fr/iniesV4/dist/consultation.html?id=28898

    Mur en Adobe (Terre crue + paille + granulats éventuels)

    UF: Assurer la fonction de mur porteur sur 1 m² de paroi, pour une épaisseur comprise entre 14,5 et 35 cm, une conductivité thermique comprise entre 0,4 et 0,6, et une durée de vie de référence (DVR) de 100 ans.

    Cette FDES (que je vous recommande de lire si le(s) sujet(s) vous intéress(ent), elle est dans l’onglet « Documents ») est générique pour toute opération mettant en œuvre cette technique en France. Ce qui est remarquable.
    Elle est à l’initiative de la Confédération Nationale de Construction en Terre Crue.

    Une FDES doit être renouvelée et affinée, ils continuent donc de collecter des données relatives aux chantiers auprès des acteurs de la filière

    Lien vers le questionnaire

    Bravo les gars, avec peu de moyens ils ont fait rentrer une méthode de construction ancestrale et à l’impact carbone très faible dans l’ère de la numérisation à tout-va.

    Sur ces bonnes nouvelles, passons à

    La suite et la fin

    Formats ouverts IFC, BCF, le BIM, les BET, la MOE, et autres acronymes

    Dans une prochaine dépêche sans doute. On y retrouvera FreeCad. Il n’a pas dit son dernier mot.

    Et le logiciel pour faire l’étude et émettre des attestations RE2020 ?

    Aux problèmes d’accès aux ressources et services qui ont été abordés, il faut ajouter que les cahiers des charges sont bien entendu plus touffus que ce qui a été présenté et surtout, que la RE2020 évolue régulièrement. Par exemple ce qui y est intégré au fur et à mesure au nom du titre V (des systèmes: VMC, PAC… 66 à ce jour, chacun avec sa façon d’être pris en charge par la RE2020 pour calculer les différents Ic..)

    https://rt-re-batiment.developpement-durable.gouv.fr/titre-v-r322.html

    Question bonus

    https://mdegd.dimn-cstb.fr/tickets

    Il y a un lien avec le propos ci-dessus, lequel ?

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    QSPTAG #312 — 13 septembre 2024

    Par : robinson
    13 septembre 2024 à 11:26

    Telegram stop

    Paul Durov, fondateur et président de la société qui édite la messagerie Telegram, a été arrêté en France le 24 août 2024. Le parquet lui reprocherait de ne pas modérer les contenus échangés sur la messagerie. On a aussitôt crié au mépris de la liberté d’expression et du secret des correspondances. Mais c’est mal connaître la messagerie, largement utilisée aussi comme un réseau social, avec des chaînes ouvertes ou publiques suivies par des milliers d’abonnés. De ce côté-là, rien à redire : tous les réseaux sociaux sont placés devant la même obligation de retirer les contenus illicites qui leur ont été signalés. En refusant de le faire, Telegram est en faute.

    Mais le parquet est volontairement ambigu. Une ambiguïté inquiétante, parce qu’elle laisse planer le soupçon que Telegram devrait surveiller aussi le contenu des conversations privées tenues sur la messagerie. Cette attaque contre le secret des correspondances s’inscrit dans la continuité d’autres pressions judiciaires allant jusqu’à la criminalisation de l’usage du chiffrement, comme l’a montré le dossier du procès du « 8 décembre », tandis que le gouvernement a récemment multiplié les attaques contre les réseaux sociaux lors des émeutes urbaines de 2023 et cette année en Nouvelle-Calédonie. Lisez notre première analyse de ce dossier encore très nébuleux.

    Lire l’article : https://www.laquadrature.net/2024/09/03/affaire-telegram-des-inquietudes-dans-un-contexte-de-guerre-contre-les-messageries-les-reseaux-sociaux-et-le-chiffrement/

    La surveillance, grande gagnante des JO

    Les JO de Paris 2024 ont été un tremplin pour des pratiques de surveillance sans précédent. On pense évidemment à la vidéosurveillance algorithmique (VSA), les JO ayant servi de prétexte à des législateurs opportunistes pour une « expérimentation » dont les conclusions sont tirées d’avance. Mais la surenchère sécuritaire a été l’occasion de mobiliser tous les moyens récemment acquis par la police, et notamment la grande quantité de nouveaux fichiers créés depuis vingt ans (il en existe aujourd’hui plus de 100).

    C’est la lecture de la presse qui a attiré notre attention : des personnes qui devaient travailler durant les JO, en tant que bénévoles ou salariées, avaient été écartées au dernier moment — leur accréditation refusée sans plus d’explication. Après un appel à témoignages, nous avons réuni des récits individuels qui présentent plusieurs points communs : les employeurs sont avisés du refus d’accréditation sans en connaître la raison, et les personnes concernées ont toutes eu une activité politique ou militante qui a pu occasionner une interaction — même brève — avec la police.

    Les fichiers de police permettent aujourd’hui d’entraver l’activité professionnelle des personnes en fonction de leur couleur politique. Une médaille de plus pour la France ? Lisez notre article pour lire les témoignages et tout savoir sur le processus de « criblage » appliqué lors des JO.

    Lire l’article  : https://www.laquadrature.net/2024/07/30/jeux-olympiques-fichage-de-masse-et-discrimination-politique/

    VSA en supermarché : des algorithmes illégaux et bidons ?

    Les supermarchés sont des temples de la vidéosurveillance et les fabricants de VSA ne pouvaient pas laisser échapper ce juteux marché. Tandis que les grands groupes industriels s’adressent aux polices et aux États, certaines entreprises, dont la start-up française Veesion, s’adressent plus spécifiquement aux supermarchés en leur proposant des logiciels soi-disant capables d’identifier les comportements « suspects » de leurs clients. Le système offrirait deux avantages : améliorer la détection des vols, et soulager les pauvres agents de surveillance qui doivent passer la journée à s’user les yeux devant des écrans trop nombreux. Petit problème que nous avions soulevé l’an dernier : filmer les gens et analyser leur comportement avec un logiciel, c’est un traitement illégal de données biométriques.

    La CNIL s’en est mêlée, confirmant notre analyse et exigeant que les magasins qui utilisent les logiciels de Veesion affichent un panneau pour informer leurs clients de ce traitement illégal. Veesion a essayé de bloquer l’intervention de la CNIL, mais le Conseil d’État lui a donné tort en juin dernier. Une bonne nouvelle, même si ce dernier rempart juridique nous semble malheureusement un peu trop fragile, dans un contexte politique plus large où la police a obtenu le droit d’utiliser les mêmes outils pour surveiller les JO et bientôt les transports en commun.

    Par ailleurs, nous avons de bonnes raisons de penser que les algorithmes de Veesion sont du vent, et reposent en réalité sur des travailleurs pauvres qui vivent à Madagascar et passent leurs journées à s’user les yeux devant des écrans trop nombreux…

    Lire l’article  : https://www.laquadrature.net/2024/07/18/veesion-et-surveillance-en-supermarches-vraie-illegalite-faux-algorithmes/

    Pas d’oreilles numériques à Orléans

    Nous avions déposé un recours il y a trois ans contre le projet de la ville d’Orléans, qui voulait installer des micros dans les rues « sensibles » , en plus des caméras déjà en place, pour détecter des situations « anormales ». Le tribunal administratif a rendu son jugement en juillet : le couplage des images et du son est illégal. Un soutien précieux dans notre lutte, quand l’État ferme les yeux sur les pratiques ordinaires des municipalités qui achètent des systèmes de VSA en toute illégalité depuis des années. Lisez notre analyse complète de cette victoire !

    Lire l’article  : https://www.laquadrature.net/2024/07/17/premiere-victoire-contre-laudiosurveillance-algorithmique-devant-la-justice/

    Soutenir La Quadrature en 2024

    Nous avons besoin de vous pour boucler notre budget pour l’année 2024. N’hésitez pas à faire un don de soutien à l’association, ou à faire connaître notre campagne de dons autour de vous. Merci pour votre aide !

    Faire un don à La Quadrature : https://don.laquadrature.net/

    Agenda

    • 14 septembre 2024 :« J’t’ai à l’oeil », triathlon vidéosurveillé à Montreuil, rendez-vous à Croix de Chavaux à 14h. Événement organisé par la LDH-section de Montreuil, avec la participation d’Amnesty international, de l’orchestre Le Grand Marcel et de La Quadrature du Net. Voir ici.
    • 25 septembre 2024 : Conférence « Vidéosurveillance algorithmique, dangers et contre-attaque » de La Quadrature du Net, à 18h15 à la Faculté des Sciences et Technologies de Nancy (bâtiment Victor Grignard, amphi 8), Vandoeuvre-lès-Nancy. Conférence organisée par le collectif Stop Vidéosurveillance 54.
    • 2 octobre 2024 : Réunion mensuelle du groupe Technopolice Paris-Banlieue au Bar commun, 135 rue des poissonniers à Paris 18e, à partir de 19h.
    • Retrouvez tout l’agenda en ligne.

    La Quadrature dans les médias

    Divers

    Telegram

    VSA (et JO)

    Orléans

    Algorithmes de France Travail

    Veesion et supermarchés

    Copyright Is Not a Tool to Silence Critics of Religious Education

    Copyright law is not a tool to punish or silence critics. This is a principle so fundamental that it is the ur-example of fair use, which typically allows copying another’s creative work when necessary for criticism. But sometimes, unscrupulous rightsholders misuse copyright law to bully critics into silence by filing meritless lawsuits, threatening potentially enormous personal liability unless they cease speaking out. That’s why EFF is defending Zachary Parrish, a parent in Indiana, against a copyright infringement suit by LifeWise, Inc.

    LifeWise produces controversial “released time” religious education programs for public elementary school students during school hours. After encountering the program at his daughter’s public school, Mr. Parrish co-founded “Parents Against LifeWise,” a group that strives to educate and warn others about the harms they believe LifeWise’s programs cause. To help other parents make fully informed decisions about signing their children up for a LifeWise program, Mr. Parrish obtained a copy of LifeWise’s elementary school curriculum—which the organization kept secret from everyone except instructors and enrolled students—and posted it to the Parents Against LifeWise website. LifeWise sent a copyright takedown to the website’s hosting provider to get the curriculum taken down, and followed up with an infringement lawsuit against Mr. Parrish.

    EFF filed a motion to dismiss LifeWise’s baseless attempt to silence Mr. Parrish. As we explained to the court, Mr. Parrish’s posting of the curriculum was a paradigmatic example of fair use, an important doctrine that allows critics like Mr. Parrish to comment on, criticize, and educate others on the contents of a copyrighted work. LifeWise’s own legal complaint shows why Mr. Parrish’s use was fair: “his goal was to gather information and internal documents with the hope of publishing information online which might harm LifeWise’s reputation and galvanize parents to oppose local LifeWise Academy chapters in their communities.” This is a mission of public advocacy and education that copyright law protects. In addition, Mr. Parrish’s purpose was noncommercial: far from seeking to replace or compete with LifeWise, he posted the curriculum to encourage others to think carefully before signing their children up for the program. And posting the curriculum doesn’t harm LifeWise—at least not in any way that copyright law was meant to address. Just like copyright doesn’t stop a film critic from using scenes from a movie as part of a devastating review, it doesn’t stop a concerned parent from educating other parents about a controversial religious school program by showing them the actual content of that program.

    Early dismissals in copyright cases against fair users are crucial. Because, although fair use protects lots of important free expression like the commentary and advocacy of Mr. Parrish, it can be ruinously expensive and chilling to fight for those protections. The high cost of civil discovery and the risk of astronomical statutory damages—which reach as high as $150,000 per work in certain cases—can lead would-be fair users to self-censor for fear of invasive legal process and financial ruin.

    Early dismissal helps prevent copyright holders from using the threat of expensive, risky lawsuits to silence critics and control public conversations about their works. It also sends a message to others that their right to free expression doesn’t depend on having enough money to defend it in court or having access to help from organizations like EFF. While we are happy to help, we would be even happier if no one needed our help for a problem like this ever again.

    When society loses access to critical commentary and the public dialogue it enables, we all suffer. That’s why it is so important that courts prevent copyright law from being used to silence criticism and commentary. We hope the court will do so here, and dismiss LifeWise’s baseless complaint against Mr. Parrish.

    EFF Presses Federal Circuit To Make Patent Case Filings Public

    Federal court records belong to everyone. But one federal court in Texas lets patent litigants treat courts like their own private tribunals, effectively shutting out the public.

    When EFF tried to intervene and push for greater access to a patent dispute earlier this year, the U.S. District Court for the Eastern District of Texas rejected our effort.  EFF appealed and last week filed our opening brief with the U.S. Court of Appeals for the Federal Circuit.

    EFF is not the only one concerned by the district court’s decision. Several organizations filed friend-of-the-court briefs in support of our appeal. Below, we explain the stakes of this case and why others are concerned about the implications of the district court’s secrecy.  

    Courts too often let patent litigants shut out the public

    Secrecy in patent litigation is an enduring problem, and EFF has repeatedly pushed for greater transparency by intervening in patent lawsuits to vindicate the public’s right to access judicial records.

    But sometimes, courts don’t let us—and instead decide to prioritize corporations’ confidentiality interests over the public’s right to access records filed on the record in the public’s courts.

    That’s exactly what happened in Entropic Communications, LLC. v. Charter Commuications, Inc. Entropic, a semiconductor provider, sued Charter, one of the nation’s largest media companies, for allegedly infringing six Entropic patents for cable modem technology. Charter argued that it had a license defense because the patents cover technology required to comply with the industry-leading cable data transmission standard, Data Over Cable Service Interface Specification (DOCSIS). Its argument raises a core patent law question: when is a patent “essential” to a technical standard, and thus encumbered by licensing commitments?

    Many of the documents explaining the parties’ positions on this important issue are either completely sealed or heavily redacted, making it difficult for the public to understand their arguments. Worse, the parties themselves decided which documents to prevent the public from viewing.

    District court rejects EFF’s effort to make case more transparent

    The kind of collusive secrecy in this case is illegal—courts are required to scrutinize every line that a party seeks to redact, to ensure that nothing is kept secret unless it satisfies a rigorous balancing test. Under that test, proponents of secrecy need to articulate a specific reason to seal the document sufficient to outweigh the strong presumption that all filings will be public. The court didn’t do any of that here. Instead, it allowed the parties to seal all documents they deemed “confidential” under a protective order, which applies to documents produced in discovery.

    That’s wrong: protective orders do not control whether court filings may be sealed. But unfortunately, the district court’s misuse of these protective orders is extremely common in patent cases in the Eastern District of Texas. In fact, the protective order in this case closely mirrors the “model protective order” created by the court for use in patent cases, which also allows parties to seal court filings free from judicial scrutiny or even the need to explain why they did so.

    Those concerns prompted EFF in March to ask the court to allow it to intervene and challenge the sealing practices. The court ruled in May that EFF could not intervene in the case, leaving no one to advocate for the public’s right of access. It further ruled that the sealing practices were legal because local rules and the protective order authorized the parties to broadly make these records secret. The end result? Excessive secrecy that wrongfully precludes public scrutiny over patent cases and decisions in this district.

    The district court’s errors in this case creates a bad precedent that undermines a cornerstone of the American justice system: judicial transparency. Without transparency, the public cannot ensure that its courts are acting fairly, eroding public trust in the judiciary.

    EFF’s opening brief explains the district court’s errors

    EFF disagreed with the district court’s ruling, and last week filed its opening brief challenging the decision. As we explained in our opening brief:

    The public has presumptive rights under the common law and First Amendment to access summary judgment briefs and related materials filed by Charter and Entropic. Rather than protect public access, the district court permitted the parties to file vast swaths of material under seal, some of which remains completely secret or is so heavily redacted that EFF cannot understand legal arguments and evidence used in denying Charter’s license defense.

    Moreover, the court’s ruling that EFF could not even seek to unseal the documents in the first place sets a dangerous precedent. If the decision is upheld, many court dockets, including those with significant historic and newsworthy materials, could become permanently sealed merely because the public did not try to intervene and unseal records while the case was open.

    EFF’s brief argued that:

    The district court ignored controlling law and held EFF to an arbitrary timeliness standard that the Fifth Circuit has explicitly rejected—including previously reversing the district court here. Neither controlling law nor the record support the district court’s conclusion that Charter and Entropic would be prejudiced by EFF’s intervention. Troublingly, the district court’s reasoning for denying EFF’s intervention could inhibit the public from coming forward to challenge secrecy in all closed cases.

    A successful appeal will open this case to the public and help everyone better understand patent disputes that are filed in the Eastern District of Texas. EFF looks forward to vindicating the public’s right to access records on appeal.

    Court transparency advocates file briefs supporting EFF’s appeal

    The district court’s ruling raised concerns among the broader transparency community, as multiple organizations filed friend-of-court briefs in support of EFF’s appeal.

    The Reporters Committee for Freedom of the Press and 19 media organizations, including the New York Times and ProPublica, filed a brief arguing that the district court’s decision to reject EFF’s intervention could jeopardize access to court records in long-closed cases that have previously led to disclosures showing Purdue Pharmaceutical’s efforts to boost sales of OxyContin and misleading physicians about the drug’s addiction risks. The brief details several other high-profile instances in which sealed court records led to criminal convictions or revealed efforts to cover up the sale of defective products.

    “To protect just the sort of journalism described above, the overwhelming weight of authority holds that the press and public may intervene to unseal judicial records months, years, or even decades later—including, as here, where the parties might have hoped a case was over,” the brief argues. “The district court’s contrary ruling was error.”

    A group of legal scholars from Stanford Law and the University of California, Berkeley, School of Law filed a brief arguing that the district court inappropriately allowed the parties to decide how to conceal many of the facts in this case via the protective order. The brief, relying on empirical research the scholars undertook to review millions of court dockets, argues that the district court’s secrecy here is part of a larger problem of lax oversight by judges, who too often defer to litigants’ desire to make as much secret as possible.

    “Instead of upholding the public’s presumptive right of access to those materials, the court again deferred to the parties’ self-interested desire for secrecy,” the brief argues. “That abdication of judicial duty, both in entering the protective order and in sealing judicial records, not only reflects a stubborn refusal to abide by the rulings of the Fifth Circuit; it represents a stunning disregard for the public’s interest in maintaining an open and transparent court system.”

    A third brief filed by Public Citizen and Public Justice underscored the importance of allowing the public to push for greater transparency in sealed court cases. Both organizations actively intervene in court cases to unseal records as part of their broader advocacy to protect the public. Their brief argues that allowing EFF to intervene in the case furthers the public’s longstanding ability to understand and oversee the judicial system. The brief argues:

    The public’s right of access to courts is central to the America legal system. Widespread sealing of court records cuts against a storied history of presumptive openness to court proceedings rooted in common law and the First Amendment. It also inhibits transparency in the judicial process, limiting the public’s ability to engage with and trust courts’ decision making.

    EFF is grateful for the support these organizations and individuals provided, and we look forward to vindicating the public’s rights of access in this case.

    To Fight Surveillance Pricing, We Need Privacy First

    Par : Tori Noble
    5 août 2024 à 17:29

    Digital surveillance is ubiquitous. Corporate snoops collect information about everything we do, everywhere we go, and everyone we communicate with. Then they compile it, store it, and use it against us.  

    Increasingly, companies exploit this information to set individualized prices based on personal characteristics and behavior. This “surveillance pricing” allows retailers to charge two people different prices for the exact same product, based on information that the law should protect, such as your internet browsing history, physical location, and credit history. Fortunately, the Federal Trade Commission (FTC) is stepping up with a new investigation of this dangerous practice.  

    What Is Surveillance Pricing? 

    Surveillance pricing analyzes massive troves of your personal information to predict the price you would be willing to pay for an itemand charge you accordingly. Retailers can charge a higher price when it thinks you can afford to spend more—on payday, for example. Or when you need something the most, such as in an emergency.  

    For example, in 2019, investigative journalists revealed that prices on the Target app increased depending on a user’s location. The app collected the user’s geolocation information. The company charged significantly higher prices when a user was in a Target parking lot than it did when a user was somewhere else. These price increases were reportedly based on the assumption that a user who has already traveled to the store is committed to buying the product, and is therefore willing to pay more, whereas other shoppers may need a greater incentive to travel to the store and purchase the product. 

    Similarly, Staples used users’ location information to charge higher online prices to customers with fewer options nearby. The website did this by offering lower prices to customers located within approximately 20 miles of a brick-and-mortar OfficeMax or Office Depot store.   

    Surveillance Pricing Hurts Us All 

    The American privacy deficit makes surveillance pricing possible. Unlike many other countries, the U.S. lacks a comprehensive privacy law. As a result, companies can often surveil us with impunity. Unregulated data brokerages buy and sell the enormous amounts of information generated every time you swipe a credit card, browse the internet, visit the doctor, drive your car, or simply move through the world while in possession of a mobile phone. And it is difficult to shield yourself from prying eyes.  

    Corporate surveillance yields comprehensive—but often inaccurate and unappealable—personal profiles. Surveillance pricing uses these profiles to set prices for everything from homes to groceries.  

    This is fundamentally unfair. You have a human right to privacy (even though U.S. lawmakers haven’t updated privacy laws in decades). You shouldn’t be spied on, period. And constant surveillance pricing compromises your ability to freely use the internet without fear of adverse economic consequences.  

    Worse, surveillance pricing will often have disparate impacts on people of color and those living in poverty, who have historically suffered greater price increases when companies adopted AI-powered pricing tools. For example, an algorithmic pricing model used by the Princeton Review—a test prep company—allegedly charged higher prices to Asian American customers than to customers of other racial backgrounds. Likewise, ridesharing apps—such as Uber and Lyft—have charged higher fares to residents of neighborhoods with more residents of color and residents living below the poverty line. 

    Further, surveillance pricing tools are notoriously opaque. Lack of transparency into pricing decisions makes it difficult for customers and regulators to assess harms and seek redress for these problems.  

    Surveillance pricing—a form of “price gouging,” according to U.S. Sen. Sherrod Brown—may also suppress market competition.  It incentivizes the continuous, fine-grained extraction of your data, because it offers big companies a competitive advantage—and the ability to charge higher prices—by collecting more personal information than their competitors. This fosters a race to the bottom that rewards companies that win by violating our privacy rights. And it puts smaller competitors at a disadvantage when they don’t have reams of intimate data about their potential customers. 

    Consumers know that surveillance pricing is unfair, but our legal rights to resist it are exceedingly limited. Some websites simply ignore browsers’ requests not to be tracked. Others have even charged higher prices to consumers who use digital privacy tools to prevent tracking. For example, they increase regular prices, and then offer discounts only to customers who allow the companies to collect their data. This kind of pay-for-privacy scheme undermines your personal choices, and disproportionately harms people who can’t afford to pay for their basic rights. 

    Putting a Stop to Surveillance Pricing 

    This is a critical time to resist surveillance pricing: most vendors have not adopted it yet. Correcting course is still possible, and it’s vital for our right to privacy.  

    Good news: the FTC recently announced that it is investigating surveillance pricing practices. Specifically, the FTC ordered eight companies to provide information about surveillance pricing tools they make available to others. The FTC sent these orders to Mastercard, Revionics, Bloomreach, JPMorgan Chase, Task Software, PROS, Accenture, and McKinsey & Co. 

    These eight firms play a key role in the collection, analysis, and weaponization of your private information: they are the “middlemen” that provide surveillance pricing tools to other companies. In particular, the FTC instructed the companies to submit reports detailing technical specifics of tools, the types and sources of consumer information they use, which companies are currently using them, and how they impact consumer prices. 

    As FTC Chair Lina Khan explained: 

    Firms that harvest Americans’ personal data can put people’s privacy at risk. Now firms could be exploiting this vast trove of personal information to charge people higher prices...Americans deserve to know whether businesses are using detailed consumer data to deploy surveillance pricing. 

    These FTC investigations are an important step towards public understanding of opaque business pricing practices that may be harming consumers. Increased transparency into new pricing models will facilitate efforts to curb this unfair pricing practice and could be the prelude to a rulemaking or enforcement action to halt the practice altogether. 

    We can mitigate surveillance pricing’s myriad harms by preventing surveillance. How? By doing privacy first.  

    Comprehensive privacy legislation would prevent companies from accumulating massive amounts of our information in the first place. Companies cannot charge prices based on our personal information if they don’t have it.  

    Economic research shows that opt-in privacy regulations—such as the GDPR—mitigate the negative effects of surveillance pricing and make us all better off. When all businesses, big and small, must respect customers’ privacy, surveillance will no longer create a competitive advantage for the biggest online platforms.  

    That’s in addition to the myriad other benefits of strong privacy protections, which would help combat financial fraud, support local and national news outlets, protect reproductive rights, mitigate foreign government surveillance on apps like TikTok, and improve competition in the tech sector. 

    Most importantly, strong legal protections for your privacy would guard against the emergence of new, increasingly harmful ways of weaponizing your data against you. Without a strong, comprehensive federal privacy law, “surveillance pricing” may give way to a never-ending parade of ways to use the most intimate facts about your life against you.

    24 ans de libcurl

    Curl est un outil en ligne de commande destiné à récupérer le contenu d’une ressource accessible par un réseau informatique et gérant de nombreux protocoles.

    Curl est un outil essentiel pour de nombreux usages, pris en charge par une gamme très large de systèmes d’exploitation, d’architectures matérielles, de l’objet connecté à l’embarqué spatial en passant par l’informatique classique ou les consoles de jeux. Il évolue rapidement et fréquemment, voir par exemple l’arrivée prochaine de HTTP3 pour curl dans Debian unstable (avec le backend gnutls). Son domaine d’utilisation pourrait encore s’étendre avec l’apparition de wcurl dans Debian et bientôt dans le monde entier ?

    Il y a 24 ans, une division du code entre une interface ligne de commande et une bibliothèque a été faite.

    (Cette dépêche est principalement basée sur l’annonce anglophone par Daniel Stenberg, auteur principal de curl et libcurl ; dépêche rédigée sur un téléphone embarquant curl 7.80, pas vraiment la dernière version…).

    La première version de libcurl, baptisée 7.1, date du 7 août 2000. La version de curl précédente, la 6.5.2, pas encore séparée entre une interface ligne de commande et une bibliothèque. Il s’agit de l’écart le plus long entre deux versions de curl. La création de la bibliothèque a été très largement réalisée par Daniel Stenberg seul.

    Il décrit son choix de division ainsi : c'était juste une intuition et une conjecture. Je ne savais pas. Je n’avais pas fait de recherches sur cela ou autre chose. Je me suis juste lancé en me disant qu’on verrait plus tard si j’avais raison ou tort.

    Le nom de la bibliothèque a été choisi faute d’une meilleure idée. L’API a été définie comme étant bas niveau (on peut toujours ajouter une API de plus haut niveau par-dessus), en observant ioctl(), fcntl() et les fonctions du genre. Le code est en C, langage de prédilection de l’auteur principal.

    L’API a bien vieilli : 17 fonctions encore présentes proviennent de la 7.1 ; elle est passée de 17 000 lignes à 171 000 ; elle a survécu aux révolutions HTTP/2 (transferts multiples multiplexés) et HTTP/3 (passer de TCP à UDP).

    L’usage a aussi bien progressé depuis l’entrée dans PHP 4.0.2 comme premier binding (ici rendre utilisable en langage PHP), moins d’un mois après la publication de la bibliothèque.

    En 2002 a été ajoutée une API multi pour gérer des transferts parallèles concurrents de façon illimitée dans un même thread.

    Puis en 2006 vient en surplus le multi_action avec des mécanismes orientés événements, avec une boucle événementielle (comme epoll).

    Les premiers changements douloureux sur l’interface binaire (ABI) ont entraîné une volonté de stabilité, de ne jamais casser volontairement cette interface, et ce depuis 2006.

    libcurl possède des bindings vers au moins 65 langages de programmation, fonctionne sur au moins 103 systèmes d’exploitation et 28 architectures de processeur, est présent dans les bibliothèques standard de langages de programmation (Python, Java, Rust ou .Net). Son ancien concurrent principal libwww n’est plus développé. Bref 18 ans de stabilité d’API et d’ABI.

    L’utilisation de libcurl continue de croître (de plus en plus d’objets connectés notamment). Et curl de manière générale supporte rapidement les nouveaux protocoles et leurs évolutions. À noter que l’auteur principal ne mentionne pas dans ses projections ce qui me semble le plus gros risque pour Curl/libcurl, la difficulté d’avoir une personne prête à lui succéder si quand cela s’avérera nécessaire.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Courts Should Have Jurisdiction over Foreign Companies Collecting Data on Local Residents, EFF Tells Appeals Court

    Par : Tori Noble
    16 juillet 2024 à 18:56

    This post was written by EFF legal intern Danya Hajjaji. 

    Corporations should not be able to collect data from a state’s residents while evading the jurisdiction of that state’s courts, EFF and the UC Berkeley Center for Consumer Law and Economic Justice explained in a friend-of-the-court brief to the Ninth Circuit Court of Appeals. 

    The case, Briskin v. Shopify, stems from a California resident’s privacy claims against Shopify, Inc. and its subsidiaries, out-of-state companies that process payments for third party ecommerce companies (collectively “Shopify”). The plaintiff alleged that Shopify secretly collected data on the plaintiff and other California consumers while purchasing apparel from an online California-based retailer. Shopify also allegedly tracked the users’ browsing activities across all ecommerce sites that used Shopify’s services. Shopify allegedly compiled that information into comprehensive user profiles, complete with financial “risk scores” that companies could use to block users’ future purchases.  

    The Ninth Circuit initially dismissed the lawsuit for lack of personal jurisdiction and ruled that Shopify, an out-of-state defendant, did not have enough contacts with California to be fairly sued in California. 

    Personal jurisdiction is designed to protect defendants' due process rights by ensuring that they cannot be hailed into court in jurisdictions that they have little connection to. In the internet context, the Ninth Circuit has previously held that operating a website, plus evidence that the defendant did “something more” to target a jurisdiction, is sufficient for personal jurisdiction.  

    The Ninth Circuit originally dismissed Briskin on the grounds that the plaintiff failed to show the defendant did “something more.” It held that violating all users’ privacy was not enough; Shopify would have needed to do something to target Californians in particular.  

    The Ninth Circuit granted rehearing en banc, and requested additional briefing on the personal jurisdiction rule that should govern online conduct. 

    EFF and the Center for Consumer Law and Economic Justice argued that courts in California can fairly hold out-of-state corporations accountable for privacy violations that involve collecting vast amounts of personal data directly from consumers inside California and using that data to build profiles based in part on their location. To obtain personal data from California consumers, corporations must usually form additional contacts with California as well—including signing contracts within the state and creating California-specific data policies. In our view, Shopify is subject to personal jurisdiction in California because Shopify’s allegedly extensive data collection operations targeted Californians. That it also allegedly collected information from users in other states should not prevent California plaintiffs from having their day in court in their home state.   

    In helping the Ninth Circuit develop a sensible test for personal jurisdiction in data privacy cases, EFF hopes to empower plaintiffs to preserve their online privacy rights in their forum of choice without sacrificing existing jurisdictional protections for internet publishers.  

    EFF has long worked to ensure that consumer data privacy laws balance rights to privacy and free expression. We hope the Ninth Circuit will adopt our guidelines in structuring a privacy-specific personal jurisdiction rule that is commonsense and constitutionally sound. 

    Detroit Takes Important Step in Curbing the Harms of Face Recognition Technology

    Par : Tori Noble
    15 juillet 2024 à 20:54

    In a first-of-its-kind agreement, the Detroit Police Department recently agreed to adopt strict limits on its officers’ use of face recognition technology as part of a settlement in a lawsuit brought by a victim of this faulty technology.  

    Robert Williams, a Black resident of a Detroit suburb, filed suit against the Detroit Police Department after officers arrested him at his home in front of his wife, daughters, and neighbors for a crime he did not commit. After a shoplifting incident at a watch store, police used a blurry still taken from surveillance footage and ran it through face recognition technology—which incorrectly identified Williams as the perpetrator. 

    Under the terms of the agreement, the Detroit Police can no longer substitute face recognition technology (FRT) for reliable policework. Simply put: Face recognition matches can no longer be the only evidence police use to justify an arrest. 

    FRT creates an “imprint” from an image of a face, then compares that imprint to other imagesoften a law enforcement database made up of mugshots, driver’s license images, or even images scraped from the internet. The technology itself is fraught with issues, including that it is highly inaccurate for certain demographics, particularly Black men and women. The Detroit Police Department makes face recognition queries using DataWorks Plus software to the Statewide Network of Agency Photos, or (SNAP), a database operated by the Michigan State Police. According to data obtained by EFF through a public records request, roughly 580 local, state, and federal agencies and their sub-divisions have desktop access to SNAP.  

    Among other achievements, the settlement agreement’s new rules bar arrests based solely on face recognition results, or the results of the ensuing photo lineup—a common police procedure in which a witness is asked to identify the perpetrator from a “lineup” of images—conducted immediately after FRT identifies a suspect. This dangerous simplification has meant that on partial matches—combined with other unreliable evidence, such as eyewitness identifications—police have ended up arresting people who clearly could not have committed the crime. Such was the case with Robert Williams, who had been out of the state on the day the crime occurred. Because face recognition finds people who look similar to the suspect, putting that person directly into a police lineup will likely result in the witness picking the person who looks most like the suspect they saw—all but ensuring the person falsely accused by technology will receive the bulk of the suspicion.  

    Under Detroit’s new rules, if police use face recognition technology at all during any investigation, they must record detailed information about their use of the technology, such as photo quality and the number of photos of the same suspect not identified by FRT. If charges are ever filed as a result of the investigation, prosecutors and defense attorneys will have access to the information about any uses of FRT in the case.  

    The Detroit Police Department’s new face recognition rules are among the strictest restrictions adopted anywhere in the country—short of the full bans on the technology passed by San Francisco, Boston, and at least 15 other municipalities. Detroit’s new regulations are an important step in the right direction, but only a full ban on government use of face recognition can fully protect against this technology’s many dangers. FRT jeopardizes every person’s right to protest government misconduct free from retribution and reprisals for exercising their right to free speech. Giving police the ability to fly a drone over a protest and identify every protester undermines every person’s right to freely associate with dissenting groups or criticize government officials without fear of retaliation from those in power. 

    Moreover, FRT undermines racial justice and threatens civil rights. Study after study after study has found that these tools cannot reliably identify people of color.  According to Detroit’s own data, roughly 97 percent of queries in 2023 involved Black suspects; when asked during a public meeting in 2020, then-police Chief James Craig estimated the technology would misidentify people 96 percent of the time. 

    Williams was one of the first victims of this technology—but he was by no means the last. In Detroit alone, police wrongfully arrested at least two other people based on erroneous face recognition matches: Porcha Woodruff, a pregnant Black woman, and Michael Oliver, a Black man who lost his job due to his arrest.  

    Many other innocent people have been arrested elsewhere, and in some cases, have served jail time as a result. The consequences can be life-altering; one man was sexually assaulted while incarcerated due a FRT misidentification. Police and the government have proven time and time again they cannot be trusted to use this technology responsibly. Although many departments already acknowledge that FRT results alone cannot justify an arrest, that is cold comfort to people like Williams, who are still being harmed despite the reassurances police give the public.  

    It is time to take FRT out of law enforcement’s hands altogether. 

    Convention de Partenariat

    Par : Crobert
    14 juillet 2024 à 22:41

    Bonjour,

    Nous avons été approchés par les Rencontres Amicales Francophones du Logiciel Libre. La prochaine édition sera du 6 au 12 octobre 2025 et c’est un événement en mode hybride avec des points de présence dans chaque pays représenté. Nous serions le point de présence pour le Canada/Québec. Nous aurions besoin d’un amphithéâtre. J’ai pensé que nous pourrions approcher UQAM, ETS ou UdeM.

    Nous avons reçu une convention de partenariat qu’on peut bonifier. CONVENTION DE PARTENARIAT .

    Est-ce qu’il y a des questions sur la Convention ?

    7 messages - 3 participant(e)s

    Lire le sujet en entier

    S.M.A.R.T. badblocks badblocks2

    S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) est un système de surveillance intégré aux disques durs modernes et aux disques SSD. Il évalue en continu le bien-être du périphérique tout en anticipant les éventuels dysfonctionnements. Il utilise une réserve de secteurs de rechange pour réparer quand il détecte un secteur en anomalie.
    Le programme Linux badblocks teste les blocs d’un média par écriture+relecture+comparaison. À l’origine il servait à mettre les blocs mauvais en liste noire dans le file-system.

    Est-il utile de nos jours de vérifier ses médias ?
    Comment se situe S.M.A.R.T. par rapport à l’outil badblocks ?
    Comment vérifier un média en tenant compte de sa surveillance par S.M.A.R.T. ?

    C'est ce que nous allons voir dans la suite de la dépêche.

    smart-drive

    Sommaire

    Préambule

    Quelle précaution prendre vis-à-vis du risque de mauvaise qualité du stockage, quand je viens d’acheter un média (disque SSD, disque rotatif, clé USB, carte SD) ou un appareil sous Linux équipé d’un espace de stockage dont j’ignore la technologie ?
    Sans être parano, je me dis qu’avant d’envoyer des données précieuses sur l’espace de stockage, c’est le moment de faire certaines vérifications. Mais quelles vérifications ? Qu’est-il possible de faire ?

    Sur un média connectable, tout est possible.
    Sur un appareil neuf sans système ni données, tout est possible en utilisant une distrib Live.
    Sur les autres, ça dépend, il y en a où on n’a même pas un accès root pour lancer une vérification « dure » ou « molle » (Android, routeur…).

    En écrivant cet article, je me suis rendu compte que je ne me suis jusqu’ici jamais posé de questions sur l’opportunité de vérifier les espaces de stockage de mes téléphones, PC portables, routeurs, box… bref tous les appareils vendus prêts à être utilisés. Pourtant, que sais-je de la vérification faite par celui qui a installé le système ? Rien, et j’utilise, sans penser que l’espace de stockage de l’appareil n’est ni plus ni moins robuste que celui du PC Linux que j’ai installé dernièrement, mais que j’ai vérifié consciencieusement.

    S.M.A.R.T.

    S.M.A.R.T. est un système de surveillance intégré aux disques durs modernes et aux disques SSD. Il évalue en continu le bien-être du périphérique tout en anticipant les éventuels dysfonctionnements. Il surveille un maximum de paramètres (température, temps de fonctionnement, vitesse de rotation pour les disques magnétiques, nombre de démarrages et d’arrêts…) et dépend de l’expérience du fabricant. La réparation de secteurs utilise une réserve de secteurs et le mapping entre secteurs logiques et secteurs physiques.

    On pourrait se dire que, de nos jours, les supports sont fiables et testés par les intégrateurs. D’autres considèrent que la technologie S.M.A.R.T. suffit… et c’est bien commode de ne plus se soucier de la fiabilité des supports de stockage. Mais à la première galère due à un média défaillant, tu évolueras dans ta confiance.

    Sais-tu seulement sur lesquels de tes médias S.M.A.R.T. est installé et actif ?
    Si tu utilises un RaspberryPi, ton média système est… une carte SD. Elle n’a pas S.M.A.R.T.. Idem pour l’extension de mémoire que tu as ajoutée à ton téléphone.

    Je t’invite à lire la page Wikipedia sur S.M.A.R.T. et son paragraphe « Standard, implémentation et limitations ». Que fait et que ne fait pas le S.M.A.R.T. qui fonctionne sur le disque du PC qui te permet de lire cet article ? Difficile de savoir. Comment est-il configuré ? Fais un sondage autour de toi à ce sujet et tu seras pris pour un parano.

    Sur ton PC, sais-tu qu’il y a une option S.M.A.R.T. dans le BIOS (ou UEFI) ? Sais-tu qu’il y a un service smartd dans ton Linux ? As-tu compris aussi qu’avec du RAID il n’est pas toujours opportun d’activer S.M.A.R.T. ? Les communications entre S.M.A.R.T. RAID et l’O.S. peuvent se passer plus ou moins bien selon la qualité de ces éléments. Il te faut bien comprendre ce qu’il est possible de paramétrer et deviner comment ça marche derrière.

    Si tu demandes une vérification à S.M.A.R.T. par smartctl, sais-tu ce qu’il fait ? Se contente-t-il de lire ou fait-il un test en écriture ?

    Enfin, quand S.M.A.R.T. détecte qu’un secteur est devenu défectueux, il ne peut pas deviner quels bits sont défaillants, aussi il renseigne le secteur de secours avec ce qu’il peut, qui est l’état du secteur après défaillance. S.M.A.R.T. a ses limites, il répare comme il peut. S’il est configuré pour, il alerte quand il prévoit de la défaillance, mais sais-tu reconnaître ses alertes ? As-tu compris ce que tu dois faire en réponse aux alertes ?

    Je t’invite à apercevoir la complexité de prise en main de S.M.A.R.T. en faisant quelques recherches sur ces listes de mots :

    smartctl howto
    smartctl configure self test
    smartd howto
    

    et tu verras que ce n’est pas simple à comprendre et à configurer.

    Tu peux te dire naïvement que tout est bien configuré par défaut et que tes médias seront toujours impeccables. Sinon, il va falloir investir en temps et faire quelques essais. À toi de choisir.

    S.M.A.R.T. est une belle avancée technologique, mais il est dangereux de lui attribuer des mérites indus.

    BADBLOCKS

    Le programme Linux badblocks a été créé en même temps que le paquetage e2fsprogs (mkfs.ext2, mkfs.ext3, mkfs.ext4, fsck.ext2…). À l’époque S.M.A.R.T. n’existait pas et il n’y avait pas de mapping entre les adresses logiques et physiques. C’est le file-system qui devait tout gérer quand il détectait un bloc défectueux, notamment la mise du bloc en liste noire. C’est pour cela que mke2fs et e2fsck lancent un badblocks « dur » quand on leur spécifie deux fois l’option -c. Cela dure trèèès longtemps car les paramètres par défaut ne sont plus bien optimisés.

    Depuis l’arrivée de S.M.A.R.T., certains considèrent badblocks comme obsolète. Mais qui peut affirmer que TOUS les médias utilisés par TOUS les usages de Linux sont équipés de S.M.A.R.T. ?
    Peut-être qu’au M.I.T. avec un réseau de classe A, on ne s’abaisse pas à utiliser une clé USB ou un RaspberryPi. Je me demande dans quel type de bulle vivent ceux qui pensent que S.M.A.R.T. est sur tous les médias de stockage.

    Quand j’achète une clé USB, je lui passe badblocks dessus et s’il y a des mauvais blocs, je la rends et je me fais rembourser.
    J’ai essayé d’interroger les fonctionnalités S.M.A.R.T. de diverses clés USB et je n’ai rien obtenu, comme si cette utilité n’y était pas installée :

    # smartctl --scan-open
    # smartctl -x /dev/sdc
    # smartctl -i -d scsi -T verypermissive /dev/sdc
    

    Mes recherches sur Internet n’ont abouti à rien qui me permette de voir une réponse de la part de clés USB. Peut-être que si j’achetais (cher) des clés USB de très haute qualité, j’y trouverais S.M.A.R.T. ?

    Comme l’intervenant du message #25 de ce rapport de bug (en), je pense que badblocks est loin d’être obsolète.
    J’ai envie d’imiter le message #20 juste au-dessus en disant : « Je dois demander --- ***pourquoi*** vous (et d’autres personnes) mettez de l’essence dans vos voitures en 2024 ? L’essence en tant que chose a commencé à devenir inutile pour les voitures vers 2011, lorsque la voiture électrique s’est répandue, et que les batteries sont devenues suffisamment énergétiques pour faire rouler des véhicules sur des centaines de km ».

    Je t’invite aussi à une recherche sur la liste de mots « courbe en baignoire composants électroniques ». Le programme badblocks peut servir au déverminage. On sait en détail ce qu’il fait. Son résultat est clair, contrairement aux implémentations propriétaires de S.M.A.R.T..
    Sans déverminage (rodage) on court le risque de subir trop tôt une réparation discrète incomplète : le secteur réparé sera physiquement bon mais son contenu sera corrompu. La conséquence peut être catastrophiquement discrète. Par exemple, un fichier LibreOffice est une archive zip (compressée), la corruption d’un seul bit y a des conséquences imprévisibles.

    De mon côté, j’utilise badblocks pour tester les médias nouvellement acquis et pour effacer ceux bons à réformer. Ce programme permet aussi la chasse aux médias « fake-size », du genre carte SD de 1To qui accepte de recevoir 1To de fichiers, mais qui ne stocke en réalité que 8Go. On trouve de nos jours (juin 2024) des clés USB de 16To vendues au prix de 5 € ! L’application h2testw sous windows et son équivalent f3 sous linux sont spécialement conçus pour cette chasse. Le microprogramme de ces clés USB ou de ces disques a été détourné pour déclarer un espace de stockage falsifié. C’est de l’escroquerie.

    BADBLOCKS2

    Mon usage du badblocks du paquetage e2fsprogs-1.47.0 m’a amené à y caractériser un bug reproductible en novembre 2023. J’ai eu l’intention de remonter le bug aux équipes ad hoc de ma distribution (Mageia) mais je me suis d’abord mis à regarder le source.

    J’y ai trouvé l’origine du bug, et j’ai trouvé d’autres bugs. En ajoutant des instructions de traçage et de simulation d’erreurs du média, j’ai mis en évidence encore d’autres bugs. De fil en aiguille, j’ai fini par retoucher profondément certains algorithmes, et j’ai appelé badblocks2 cette nouvelle version. J’y ai ajouté diverses options faciles à programmer et commodes à l’usage. J’ai copieusement testé.

    Si tu veux essayer badblocks2 et/ou prendre connaissance de ma démarche, je livre tout sur mon site. Tu verras pourquoi je me suis rabattu sur la création d’une nouvelle version, plutôt que de faire remplacer l’ancienne (ce qui aurait profité à tous).
    Tu peux te faire une idée des fonctionnalités ajoutées en consultant les *.8.txt .
    Tu peux t’inspirer des tests décrits dans le fichier Alire.txt, tester diverses valeurs pour -c -t et voir l’effet sur la vitesse de traitement. Tu peux même jouer à arracher la clé en cours de test (Ctrl-C pour arrêter) !

    J’espère que ce programme servira à d’autres que moi.

    En pratique

    Voici une suggestion d’actions à faire lors de l’acquisition d’un nouveau média (disque SSD, disque rotatif, clé USB, carte SD…). Les commandes doivent être lancées par l’opérateur root.
    Avec cela, quand dans quelques années tu satureras le média, tu seras sûr que le dernier secteur utilisé aura été déverminé avant la mise en production.

    ATTENTION : les usages de badblocks proposés sont destructifs pour les données présentes sur le média. Le mode non-destructif du badblocks actuel comporte des bugs (version e2fsprogs-1.47.0). Celui de badblocks2 a été corrigé.
    ATTENTION : la liste des mauvais blocs renvoyée par le badblocks actuel est fausse (version e2fsprogs-1.47.0). Le nombre de mauvais blocs est correct. La liste renvoyée par badblocks2 est correcte.
    ATTENTION : le paramètre device du média est supposé être /dev/sdc. Ne pas se tromper, au risque d’effacer un autre média en cours d’usage.

    D’abord déterminer le block-size du noyau, c’est une bonne valeur à prendre comme block-size du file-system :

    # blockdev --getbsz /dev/sdc
    

    Dans ce qui suit, je suppose que la valeur 4096 a été renvoyée.

    Ensuite déterminer si S.M.A.R.T. est sur le média :

    # smartctl --scan-open
    # smartctl -x /dev/sdc
    # smartctl -i -d scsi -T verypermissive /dev/sdc
    

    Si S.M.A.R.T. n’est pas sur le média

    Passer badblocks2 pour voir s’il y a 0 ou peu de mauvais blocs :

    # badblocks2 -b 4096 -c 32768 -wrrvvss -t r -t r -e 40 -o /tmp/sdc.bb /dev/sdc
    

    L’option -e peut être supprimée ou modifiée selon la limite du nombre de mauvais blocs considérée acceptable ; les options -t peuvent être différentes selon la sévérité souhaitée (voir le man).

    S’il y a trop de mauvais blocs, refuser d’utiliser le média (->garantie ?).

    S’il y a 0 mauvais bloc on peut formater en toute tranquillité (partitionner éventuellement avant) :

    # mkfs.ext? -b 4096 ... /dev/sdc
    

    S’il y a quelques mauvais blocs, sans que la limite -e soit atteinte, on pourra formater en utilisant la liste sauvée de mauvais blocs :

    # mkfs.ext? -b 4096 -l /tmp/sdc.bb ... /dev/sdc
    

    Si l’on veut partitionner, il faudra recalculer la liste des mauvais blocs de chaque partition avant de formater (remplacer sdc par sdc1 dans les commandes badblocks2 et mkfs.ext? ci-dessus).

    Si l’on veut formater en vfat exfat ou f2fs (clés USB en général), il n’est pas possible d’utiliser la liste des mauvais blocs détectés ; la seule solution est de refuser d’utiliser le média s’il y a des mauvais blocs (ou alors de restreindre l’usage à une zone saine… à localiser)

    Si S.M.A.R.T. est sur le média

    On peut vérifier son activation par smartctl :

    # smartctl -i /dev/sdc
    

    Ensuite, il faut interroger le média sur l’état et les capacités de son S.M.A.R.T. :

    # smartctl -a /dev/sdc
    

    Noter le nombre de réallocations faites et prévues :

    # smartctl -a /dev/sdc | grep -i _sector
    

    Puis faire une passe de déverminage, en écriture+lecture car on ne sait pas si l’écriture seule suffit ; ne pas utiliser l’option -p de badblocks ; les options -t peuvent être différentes selon la sévérité souhaitée (voir le man) :

    # badblocks2 -b 4096 -c 32768 -wrvvss -t r -o /tmp/sdc.bb1 /dev/sdc
    

    Faire une passe de vérification, il ne devrait plus y avoir de mauvais blocs :

    # badblocks2 -b 4096 -c 32768 -wrvvss -t r -o /tmp/sdc.bb2 /dev/sdc
    

    S’il y a encore des mauvais blocs, c’est soit que le déverminage n’est pas terminé, soit que le média et/ou son S.M.A.R.T. sont foireux (il ne détecte pas les mauvais secteurs vus par badblocks2 ou les secteurs de réserve sont mauvais ou… pire) ; relancer des passes une par une jusqu’à ce qu’il n’y ait plus de mauvais bloc détecté.

    Re-interroger S.M.A.R.T. pour voir l’évolution des réallocations :

    # smartctl -a /dev/sdc | grep -i _sector
    

    Ensuite on peut formater (partitionner éventuellement avant) en considérant que le média a remappé tous ses mauvais secteurs et est donc impeccable pour l’utilisation :

    # mkfs.ext? -b 4096 ... /dev/sdc
    

    Par la suite, on pourra de temps en temps consulter l’état de santé du média en service :

    # smartctl -H /dev/sda
    

    Si on est courageux, on peut lancer de temps en temps un contrôle du média par son S.M.A.R.T.
    Si on est encore plus courageux, on configurera smartd pour que ces vérifications soient automatiques et pour que les alertes soient envoyées par courriel.

    Attention à la communication entre l’O.S., S.M.A.R.T. et RAID (niveau carte mère / niveau OS / contrôleurs bas de gamme), voir la page Wikipedia sur S.M.A.R.T..

    Que l’esprit « aware » soit en toi, sur tes données et sur ton espace de stockage

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    QSPTAG #311 — 28 juin 2024

    Par : robinson
    28 juin 2024 à 11:37

    Les algorithmes punitifs de France Travail

    À France Travail (ex-Pôle Emploi) comme à la CNAF, sous prétexte de « lutter contre la fraude » ou de pouvoir « individualiser » les dossiers, des algorithmes viennent noter, classer, et juger les bénéficiaires. Expérimentés chez France Travail depuis 2013, généralisés depuis 2018, ces algorithmes partent du principe que les allocataires sont malhonnêtes et abusent du système de l’assurance chômage, et leur attribuent un « score de suspicion » (le terme est utilisée par France Travail).

    Mais l’agence a aussi imaginé d’utiliser des algorithmes pour remplacer la travail des conseiller·es et proposer des offres d’emplois — après tout, c’est déjà le cas pour Parcoursup et sur les applis de rencontre amoureuse… Loin de l’application d’un droit simple, on entre dans une politique de profilage et de tri des bénéficiaires. Scores « d’employabilité », « traitements des aspects motivationnels », « détection de signaux psychologiques » sont mobilisés pour détecter les « signes de perte de confiance » ou les « risques de dispersion ». Le calvaire social et intime qu’est le chômage devient un objet d’étude statistique affranchi de toute relation humaine, où les vies les plus fragiles sont normées, standardisées, formatées. Le même algorithmique qui diagnostiquera une « Dynamique de recherche faible » conseillera aussi l’employé·e de France Travail sur les actions à demander au bénéficiaire concerné… L’analyse détaillée est disponible sur notre site.

    Lire l’article : https://www.laquadrature.net/2024/06/25/a-france-travail-lessor-du-controle-algorithmique/

    Mobilisation contre les partisans de la surveillance totale

    Nous le disons depuis des années : les outils numériques de la surveillance, sur Internet et dans les pratiques policières, sont des outils dangereux par essence. Ils ont pourtant toujours été adoptés, légalisés et encouragés par des gouvernements qui se présentaient comme des ennemis des positions « extrêmes » et promettaient la main sur le cœur qu’ils surveillaient les habitant·es du pays pour leur bien.

    Aujourd’hui, l’extrême droite est à la veille de prendre le pouvoir. La responsabilité de ses prédécesseurs est énorme : ils offrent à un parti champion du racisme, de l’inégalité entre les personnes, de la violence et de la restriction des droits politiques, une magnifique machinerie de surveillance et de répression. Pour ces raisons, nous appelons chacune et chacun à se mobiliser le 30 juin, le 7 juillet et après, contre celles et ceux qui ont bâti ce système technique totalitaire, et contre celles et ceux qui comptent bien l’utiliser contre la population du pays.

    Lire notre prise de position : https://www.laquadrature.net/2024/06/28/legislatives-la-surveillance-sur-un-plateau-brun/

    Soutenir La Quadrature en 2024

    Nous avons besoin de vous pour travailler en 2024, et nous avons pour le moment réuni 71% de notre objectif de collecte. N’hésitez pas à faire un don de soutien à l’association, ou à faire connaître notre campagne de dons autour de vous. Merci pour votre aide !

    Présentation des grands chantiers de 2024 : https://www.laquadrature.net/donner/
    et https://www.laquadrature.net/2023/11/15/de-nouveaux-combats-pour-2024/

    Faire un don à La Quadrature : https://don.laquadrature.net/

    Agenda

    La Quadrature dans les médias

    Divers

    QSPTAG #310 — 21 juin 2024

    Par : robinson
    21 juin 2024 à 10:13

    Bloquez la VSA dans votre commune !

    Vous connaissez notre campagne contre la vidéosurveillance algorithmique (VSA). Le moment est venu de nous dresser tous et toutes contre ces dispositifs de surveillance totale. Pour l’heure, la VSA est toujours illégale, en dehors du périmètre expérimental tracé par la loi Jeux Olympiques. Mais de nombreuses communes sont déjà équipées, dans une opacité organisée, sans demander l’avis des habitant·es. Et les décrets préfectoraux récupérés par notre outil Attrap’Surveillance montrent chaque jour les abus. Alors, il faut donner de la voix. Il faut se faire entendre. Écrivez à votre maire !

    Aux États-Unis, où les pratiques de VSA sont en avance sur les nôtres, de grandes villes ont déjà exprimé leur refus catégorique de les utiliser pour surveiller la population. En France, Montpellier a courageusement franchi le pas en 2022. Aujourd’hui, il est temps d’interpeller le plus grand nombre possible de communes, petites ou grandes, pour faire nombre et faire entendre que nous ne voulons pas laisser ce choix de société, totalitaire et déshumanisant, s’installer partout par inertie. La surveillance n’est pas une fatalité et nous pouvons l’arrêter.

    N’hésitez pas : faites entendre votre voix et celle d’un très grand nombre d’habitant·es de ce pays. Nous avons préparé un modèle de lettre à envoyer à votre mairie, que vous pouvez personnaliser comme vous voulez. Vous trouverez aussi des flyers et des affiches très faciles à adapter à votre commune, pour faire passer le message dans les rues et tout autour de vous. Tout est rassemblé sur cette page. Aidez le pays à lutter contre la surveillance et l’enfermement sur lui-même. Nous n’avons aucune raison ni aucune envie de vivre dans une prison à ciel ouvert. La liberté est collective !

    Lire l’article  : https://www.laquadrature.net/2024/06/18/faites-interdire-la-videosurveillance-algorithmique-dans-votre-ville/
    Trouver les éléments d’action : https://www.laquadrature.net/pasdevsadansmaville/
    La page de la campagne contre la VSA : https://www.laquadrature.net/vsa/

    Soutenir La Quadrature en 2024

    Nous avons besoin de vous pour travailler en 2024, et nous avons pour le moment réuni 70% de notre objectif de collecte. N’hésitez pas à faire un don de soutien à l’association, ou à faire connaître notre campagne de dons autour de vous. Merci pour votre aide !

    Présentation des grands chantiers de 2024 : https://www.laquadrature.net/donner/ et https://www.laquadrature.net/2023/11/15/de-nouveaux-combats-pour-2024/
    Faire un don à La Quadrature : https://don.laquadrature.net/

    Agenda

    • Vendredi 5 juillet 2024 : Apéro public dans nos locaux, au 115 rue de Ménilmontant à Paris, de 19h à 23h, entrée libre.
    • Retrouvez tout l’agenda en ligne.

    La Quadrature dans les médias

    Vidéosurveillance algorithmiquee

    Règlement CSAR

    Divers

    ❌
    ❌