Syndicate content
Mis à jour : il y a 6 heures 28 min

Python 3.10 est disponible

4 août, 2021 - 15:30

Python 3.10 (rc1) est sorti le 2 août 2021, après quinze mois de développement (dont cinq à cheval sur les bêta et les rc de Python 3.9). Il reste deux mois avec des candidats (RC) avant la sortie définitive, prévue le 4 octobre 2021.

Voyons ce que cette version apporte comme nouveautés…

Sommaire

Cette version comporte pas moins de onze nouveautés et une correction par rapport à la version 3.9 sortie le 5 octobre 2020.
Une correction (changement de défaut) n’a finalement pas été incluse dans cette version.

PEP 623 − Préparation de la suppression de wstr dans PyUnicodeObject

PEP 623 : il n’y a plus aucune raison de garder la compatibilité avec les chaînes à larges caractères (wide string) dans l’implémentation Unicode de Python.

En effet, wstr et wstr_length avaient été introduits pour une meilleure compatibilité des extensions en C pour Python 2 et 3. Vu que Python 2 est maintenant déclaré mort, il n’y a plus besoin de garder ces API qui seront marquées comme dépréciées à partir de Python 3.10 et supprimées en version 3.12.

Le gain en mémoire est de 8 octets par chaîne de caractères, ce qui n’est pas rien.

PEP 604 − Écrire les unions de types plus facilement

PEP 604 : avant, pour écrire l’union de type en Python, il fallait écrire Union[X, Y].

Il fallait donc importer Union de typing pour pouvoir faire une union, et la lecture n’était pas limpide.

Cette proposition permet d’écrire X | Y, ce qui apporte à la fois les avantages d’une lecture simplifiée, et d’un import de moins.

Cela parait simple au niveau grammaire, mais pour que ça fonctionne au niveau du code, il a fallu ajouter la méthode magique __or__ à la super-classe/l’objet type.

Du coup on gagne aussi dans d’autres domaines, comme les écritures suivantes :

isinstance(5, int | str) isinstance(None, int | None) PEP 612 − Amélioration du typage pour les décorateurs

PEP 612 : la PEP 484 et la PEP 544 permettent de décrire des fonctions de retour d’appel (callback).

Sur un décorateur, en définissant un TypeVar, on peut définir une valeur de retour pour le décorateur qui correspond au type de la fonction décorée. Il n’était toutefois pas possible de faire la même chose avec les arguments.

La PEP 612 comble ce manque en introduisant ParamSpec qui englobe la définition d’arguments. ParamSpec contient notamment les attributs args et kwargs qui correspondent respectivement aux types des arguments positionnels et nommés.

Exemple :

from typing import Awaitable, Callable, ParamSpec, TypeVar P = ParamSpec("P") R = TypeVar("R") def add_logging(f: Callable[P, R]) -> Callable[P, Awaitable[R]]: async def inner(*args: P.args, **kwargs: P.kwargs) -> R: await log_to_database() return f(*args, **kwargs) return inner @add_logging def takes_int_str(x: int, y: str) -> int: return x + 7 await takes_int_str(1, "A") # accepté await takes_int_str("B", 2) # rejeté par le vérifieur de type PEP 626 − Numéro de ligne précis pour les débugueurs et autres outils

PEP 626 : les attributs f_lineno et co_lnotab d’une pile (frame) d’exécution ne donnent pas toujours le bon numéro de ligne du code source dans certains cas.

La correction consiste à marquer des bytecodes comme virtuels et n’ayant pas de ligne dans le code source.

Afin de garantir la compatibilité avec les outils existants, rien n’est modifié sur co_lnotab mais une nouvelle méthode co_lines() est disponible. co_lnotab sera donc toujours disponible mais généré à la demande.

PEP 618 − Ajout d’une vérification optionnelle des longueurs dans zip

PEP 618 : sécurisation optionnelle de l’utilisation de la fonction zip.

La fonction zip permet d’itérer sur plusieurs séquences ou générateurs à la fois et de retourner un tuple de valeurs des différents itérateurs.

Si un itérateur n’a plus d’élément à itérer, zip s’arrête sans erreur, même si un autre itérateur a encore des éléments à itérer. Cette PEP rajoute une option pour déclencher une erreur dans une telle situation.

Exemple :

>>> list(zip(range(3), range(2, 5))) [(0, 2), (1, 3), (2, 4)] >>> list(zip(range(3), range(2, 4))) [(0, 2), (1, 3)] >>> list(zip(range(3), range(2, 4), strict=True)) ValueError: zip() argument 2 is shorter than argument 1 Bug 12782 − Groupement des gestionnaires de contexte avec des parenthèses

BPO 12782 : grouper des gestionnaires de contexte avec des parenthèses est désormais officiellement autorisé.

Contrairement aux autres mots-clés, il n’était pas possible d’utiliser les parenthèses avec with:

with (open("a_really_long_foo") as foo, open("a_really_long_bar") as bar): pass Traceback (most recent call last): File "<input>", line 1, in <module> File "demo.py", line 19 with (open("a_really_long_foo") as foo, ^ SyntaxError: invalid syntax

Il fallait s’en remettre aux \ pour sauter des lignes:

with open("a_really_long_foo") as foo, \ open("a_really_long_bar") as bar: pass

Désormais, la première syntaxe sera valide, comme on peut légitimement s’y attendre, renforçant la cohérence du langage. Cette fonctionnalité a pu être introduite facilement grâce au nouveau PEG parser ajouté dans Python 3.9.

PEP 632 − Dépréciation du module distutils

PEP 632 : le module distutils est déprécié car une version est maintenant intégrée dans setuptools qui ne dépend plus de la librairie standard de Python.

distutils n’était pas très documenté ni maintenu dans la librairie standard de toutes façons.

Ça laisse également le champ libre pour la PEP 517 qui veut construire un système de construction indépendant.

PEP 613 − Alias de types explicites

PEP 613 : ajout d’un type « Alias de type » pour permettre de définir les alias de type de manière explicite.

Jusqu’à présent la différence entre une affectation d’une valeur à une variable et d’une définition d’alias de type était assez ténue et ambiguë.

Exemple d’ambiguïté :

MonType = "ClassName" def foo() -> MonType: pass

Ici, il est difficile de savoir si MonType est une variable dont la valeur est une string ClassName ou si c’est un alias de type sur la classe ClassName qui sera définie plus tard. Les vérifieurs de types se trompant souvent et rapportant de fausses erreurs, il a fallu se rendre à l’évidence : cette notation n’est pas assez explicite.

Cette PEP, propose :

MonType: TypeAlias = "ClassName" def foo() -> MonType: pass

Là, plus d’ambiguïté.

PEP 634/635/636 − Ajout du mot-clé match pour faire du filtrage par motif.

PEP 634, PEP 635 et  PEP 636: filtrage par motif grâce au mot-clé match.

Cette PEP a été divisée en trois parties : définition, justification, tutoriel. La lecture du tutoriel est un bon point de départ pour lire ces PEP.

L’amélioration vient du constat suivant : il est souvent nécessaire de faire une suite de if … elif … elif … else qui concerne un même élément. Ces tests peuvent porter sur du duck-typing (est-ce que cet objet couac comme un canard), sur de l’héritage, sur une liste de valeurs (comparaison sur des strings ou des numériques par exemple), sur une taille de séquence (liste, tuple) et d’autres tests.

Cela fonctionne très bien avec des if mais c’est pas toujours super lisible parfois, et comme ce schéma se répète souvent dans les projets Python, il a été décidé d’aider les développeurs (ceux qui écrivent mais surtout ceux qui lisent) avec l’aide des mots-clés match et case (et copier ce qu’on peut trouver sur d’autres langages)

Les mots-clés match et case ne sont pas des termes réservés, on peut donc toujours les utiliser dans des noms de variables, le parseur faisant la différence de construction. Le code pré-python-3.10 reste donc compatible. Python parle de soft keywords.

Le concept de filtrage par motifs s’explique par le fait que la variable (ou l’expression) à tester est comparée à des motifs et permet de sélectionner exclusivement un bloc de code.

Exemple de code gérant un jeu de rôle par entrée textuelle :

command = input("Que voulez-vous faire ? ") match command.split(): case ["quitter"]: print("Au revoir !") quit_game() case ["regarder"] | ["scruter"]: current_room.describe() case ["aller", "côté", ("Nord" | "Sud" | "Est" | "Ouest") as direction] | [("Nord" | "Sud" | "Est" | "Ouest") as direction] if direction in current_room.exits: current_room = current_room.neighbor(direction) case [("Nord" | "Sud" | "Est" | "Ouest")] | [_]: print("Désolé, il n’y a pas de sortie dans cette direction") case ["prendre", obj] | ["ramasser", obj] | ["mettre", obj, "dans", "le", "sac"]: character.get(obj, current_room) case ["lâcher", *objects]: for obj in objects: character.drop(obj, current_room) case _: print(f"Désolé, je ne comprends pas ce que veut dire {command!r}")

On peut comprendre le code en un clin d’œil, ce qui ne serait pas forcément le cas avec des if. De plus on peut voir que la syntaxe de déconstruction permet de valider le format attendu, mais également de récupérer des variables liées (bind en anglais). Si des alternatives sont présentes dans le motif, alors chaque alternative doit lier les mêmes variables. L’utilisation de l’expression if condition après le motif permet de garder le bloc sous une condition spéciale, supplémentaire au motif, et évaluée après la correspondance au motif et après les bind.

Enfin l’utilisation de la variable _ permet de définir des cas par défaut. En effet il est de convention en Python d’utiliser _ pour définir une variable que l’on ne va pas utiliser et qui sert de variable fictive (placeholder).

On peut également utiliser la notation avec une ou deux étoiles pour récupérer une liste d’éléments ou un dictionnaire. Notations *lst ou **d comme on peut le faire dans la syntaxe de déconstruction classique.

Les comparaisons de motifs peuvent se faire en profondeur. L’égalité (==) est utilisée pour comparer les objets et littéraux, sauf pour True, False et None ou c’est l’identité (is).

Il est également possible de comparer avec des classes en utilisant cette syntaxe :

match event.get(): case Click(position=(x, y)): handle_click_at(x, y) case KeyPress(key_name="Q") | Quit(): game.quit() case KeyPress(key_name="up arrow"): game.go_north() ... case KeyPress(): pass # Ignore other keystrokes case other_event: raise ValueError(f"Unrecognized event: {other_event}")

Ici on va vérifier le type de retour de event.get() avec les types d’objets indiqués dans les différents case. Attention, même si la syntaxe donne l’impression que des objets sont créés (Click(position=(x, y)), Quit()) il n’en est rien.

Ce qui est donné entre parenthèses restreint le motif à une classe qui hérite de la classe indiquée (exemple Click) et qui contient un attribut position dont le motif correspond à un tuple de deux éléments qui seront liés aux variables x et y.

On peut bien évidemment mixer tous ces types de motifs. L’expressivité créée par cette PEP est énorme et des tests menés par Python montre une meilleure lisibilité sur une grosse partie du code source des modules Python et une réduction du nombre de lignes.

Bref, après des années de demande pour avoir un switch/case en Python, en voilà un sous stéroïdes !

PEP 644 − OpenSSL 1.1.1 ou plus récent est maintenant requis

PEP 644 : OpenSSL (version 1.1.1 ou supérieure) sera nécessaire pour Python 3.10.

Il existe trop de différences entre les versions d’openssl (1.0.2, 1.1.0 et 1.1.1) pour que les deux experts qui gèrent ça chez Python puissent fournir un code compatible avec toutes. C’est la même raison pour libressl qui ne sera plus pris en charge à partir de Python 3.10.

Pour résumer, seule l’API d’openssl 1.1.1 est prise en charge.

Ça ne devrait pas trop impacter les distributions selon la PEP 644 car openssl 1.1.1 est la version par défaut sur la plupart des plateformes et distributions (Linux et BSD). Les rares distributions qui utilisent LibreSSL devraient probablement avoir migré sur OpenSSL d’ici à ce que Python 3.10 sorte.

PEP 624 − Retrait des API d’encodage Py_UNICODE

PEP 624 : planification du retrait des API inutilisée PyUnicode_* pour Python 3.11.

Cette PEP sort donc pour Python 3.10 mais n’aura d’effet que pour la version suivante.

PEP 597 − Ajout d’un EncodingWarning optionnel

PEP 597 : ajout d’un EncodingWarning optionnel lors de l’ouverture d’un fichier en mode texte.

En effet sous Linux, BSD et MacOS, l’encodage par défaut des fichiers est très généralement UTF-8. Mais ce n’est pas toujours le cas. Quand on ouvre un fichier en mode texte, c’est l’encodage par défaut du système qui est utilisé (qui peut être surchargé avec la variable d’environnement LANG par exemple).

On peut préciser/forcer l’encodage à utiliser pour les caractères/octets en le spécifiant dans un paramètre encoding. Celui-ci existe depuis fort longtemps, mais force est de constater que la plupart des bibliothèques et codes en python ne le précisent pas.

Cette PEP vise à ajouter un avertissement EncodingWarning quand le paramètre encoding n’a pas été précisé pour un fichier ouvert en mode texte.

Afin d’activer cet avertissement, il faut invoquer Python avec les paramètres -X warn_default_encoding ou bien définir la variable d’environnement PYTHONWARNDEFAULTENCODING à 1.

Illustration de code correct (ne générant pas le warning) :

with open(`my_file.txt`, encoding='utf-8') as f: content = f.read()

--

Bug 38605 − Évaluation retardée des annotations (non-inclus dans Python 3.10)

BPO 38605 : l’évaluation retardée des annotations, qui est disponible depuis Python 3.7 en utilisant une ligne from __future__ import annotations est maintenant disponible par défaut.

Pour rappel, la PEP 563 permet d’évaluer les annotations au lancement et pas simplement lors de la définition/compilation.

Les annotations sont présentes dans __annotations__. On peut les lire avec get_type_hints de typing. Les annotations sont toujours présentées comme du code python valide.

On peut par exemple les lire à l’exécution comme suit :

>>> import typing >>> def x(a: 'int'): pass >>> typing.get_type_hints(x) {'a': ForwardRef('int')}

** /!\ Cette modification a été repoussée à Python 3.11 en raison de certaines incompatibilités **
Plus d’info

Pour tester

Pas envie d’attendre que ce soit disponible dans votre distribution ? Deux options : utiliser un conteneur ou compiler depuis les sources.

Utilisation d’un conteneur $ docker run --rm -it python:3.10.0rc1-slim Compilation depuis les sources

En fait c’est pas si compliqué du tout et ça se compile assez vite, donc c’est une option viable, même pour tester.

Dépendances nécessaires : expat, bzip2, gdbm, openssl, libffi, zlib, tk, sqlite, bluez-libs, mpdecimal
Sous Debian/Ubuntu c’est : expat libbz2-dev liblzma-dev libgdbm-dev libdb5.3-dev libdb5.3++-dev libssl-dev libffi-dev zlib1g-dev tk-dev libsqlite3-dev libbluetooth-dev libncurses-dev libreadline-dev

Ensuite il suffit de récupérer le tarball et de lancer la compilation et l’installation (c’est tiré du paquet AUR sur ArchLinux) :

$ wget 'https://www.python.org/ftp/python/3.10.0/Python-3.10.0rc1.tar.xz' $ tar xf Python-3.10.0rc1.tar.xz $ cd Python-3.10.0rc1 $ rm -rf Modules/{expat,zlib} Modules/_ctypes/{darwin,libffi}* $ # Vous pouvez vous passer de enable-optimizations pour compiler plus vite si vous voulez $ ./configure --prefix=/usr \ --enable-shared \ --with-computed-gotos \ --enable-ipv6 \ --with-system-expat \ --enable-loadable-sqlite-extensions \ --without-ensurepip \ --enable-optimizations $ make $ mkdir -p pkg $ sudo make DESTDIR="$PWD/pkg" altinstall maninstall $ sudo rm -f "$PWD/pkg/usr/lib/libpython3.so" "$PWD/pkg/usr/share/man/man1/python3.1" $ sudo ln -sf ../../libpython3.10m.so \ "$PWD/pkg/usr/lib/python3.10/config-3.10-$(uname -m)-linux-gnu/libpython3.10m.so" $ sudo ln -sf python3.10m-config "$PWD/pkg/usr/bin/python3.10-config" $ sudo install -dm755 "$PWD/pkg/usr/lib/python3.10/Tools"/{i18n,scripts} $ sudo install -m755 Tools/i18n/{msgfmt,pygettext}.py "$PWD/pkg/usr/lib/python3.10/Tools/i18n/" $ sudo install -m755 Tools/scripts/{README,*py} "$PWD/pkg/usr/lib/python3.10/Tools/scripts/" $ sudo cp -a pkg/* / $ python3.10 Compatibilité

Python 3.10 est grandement compatible avec les versions précédentes. Ça devrait donc être très facile de passer à cette version pour votre projet.
Il y a toutefois quelques limitations temporaires :

  • Certains paquets Python compilés ne fournissent par encore de wheel (paquets binaires) pour Python 3.10 et donc l’installation d’un tel paquet va demander une compilation.
    Le paquet numpy, ainsi que pandas qui en dépend, fait partie de cette catégorie. La compilation peut s’avérer compliquée si vous êtes sur une distribution qui fait du morcelage de paquets (-dev, -doc, …). Il vous faudra alors installer une myriade de paquets systèmes (en plus du compilateur) pour pouvoir installer votre paquet python compilé.
    Donc changer uniquement votre environnement en Python 3.10 n’est pas forcément suffisant. Ceci est bien sûr temporaire et les auteurs de ces bibliothèques fourniront pour sûr des wheels prochainement.
  • Certains paquets Python n’ont pas pensé que la version mineure de Python pouvait tenir sur deux chiffres au lieu d’un.
    Je pense notamment à uwsgi. Mais c’est corrigé sur la branche principale et une version va voir le jour.

Ce ne sont que de petites contraintes qui vont se corriger d’ici que la finale sorte début octobre, mais en attendant, si vous voulez tester/anticiper, vous savez à quoi vous attendre.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Pétrolette v1.4 - Plus simple, plus rapide

3 août, 2021 - 16:20

Pétrolette poursuit sa route par tous les temps

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

2 août, 2021 - 18:01

Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.

SPIP 4. fois 5 qui nous font vingt

2 août, 2021 - 13:09

Comme les daemontools et Haiku, le système de gestion de contenus (CMS) à l’écureuil, fête son vingtième anniversaire. Le résultat d’un énorme travail depuis l’annonce de la version 3.1 sur LinuxFr.

En poursuivant la lecture de la dépêche, vous aurez un aperçu de l’interface avec des chatons ainsi qu’un point sur les évolutions les plus notables de SPIP et de sa galaxie. Il sera aussi question de squelettes (non pas celui-là).

Sommaire L’interface

Comme c’est la partie la plus visible et que ça commence dès l’écran de connexion qui a radicalement changé, autant aborder SPIP 4 par cette face, sans entrer dans les détails de toutes les pages toutefois.

La nouveauté c’est que, si la couleur par défaut de l’écran de connexion vous insupporte ou vous fait mal aux yeux, vous pouvez la modifier dans Configuration > Identité du site (en bas de la page). On peut même opter pour une image, une ribambelle de chatons par exemple1.

L’écran d’accueil, ainsi que les autres pages de l’interface privée ont gagné en sobriété, voire, en efficacité. Si les icônes des menus, en haut, ont été légèrement redessinées, en revanche toutes les autres ont été plus visiblement modifiées.

Sur la page de gestion des plugins, des boutons avec du texte ont remplacé les icônes, ce qui la rend plus efficace.

Le module de statistiques a été entièrement repensé d’un point de visuel. Les statistiques étant elles-mêmes inchangées et restent, très heureusement, minimalistes. Le graphique d’évolution des visites s’assortit maintenant au jeu de couleurs paramétré pour l’interface. On peut, en outre, exporter les données au format JSON en plus du format CSV.

Et, puisqu’on a parlé de jeux de couleurs, il y en a deux de plus. Les paramètres de configuration, accessibles en cliquant en haut à gauche sur son nom (ici ID2) ont aussi évolué, exit le choix d’affichage entre petit et grand écran par exemple.

Les autres nouveautés

Sur la gestion des images et des documents, il y a trois nouveautés significatives :

  • le format SVG est pris en charge ;
  • on peut glisser et déposer plusieurs fichiers d’un coup en rédaction d’un article ou dans la médiathèque ;
  • le portfolio n’existe plus.

SPIP a suivi une cure d’amaigrissement. Des plugins peu ou pas utilisés ont été retirés de la distribution de base (plus communément appelée « dist ») : brèves, pétitions, squelette par rubrique, Jquery… Mais on peut toujours les télécharger et les installer au besoin.

Et aussi, le squelette3 par défaut (squelette-dist) est en html 5, et des tas de changements, évolutions, innovations pour le développement des sites : des nouveaux filtres et critères, la syntaxe des boucles s’est enrichie, etc. Le site Programmer SPIP se met à jour pour refléter ces modifications.

SPIP 4 et php

SPIP 4 tourne avec PHP 7.3, PHP 7.4 et PHP 8.0.

Changement majeur, SPIP qui assurait une compatibilité de PHP y compris dans les versions anciennes, ne le fera plus et ne la gèrera que pour les versions maintenues. Ce qui signifie que le rythme de sortie des mises à jour majeures va être plus fréquent et suivre celui de PHP. Il devrait donc y avoir à l’avenir une version majeure de SPIP par an.

L’évolution de la galaxie SPIP

SPIP, n’est pas qu’un outil de gestion de contenu, c’est également toute une galaxie de sites d’aide, de contributions, de plugins, etc. qui ont bénéficié d’un toilettage complet avec une charte graphique uniformisée mais des couleurs spécifiques à chacun. Et, évidemment, la documentation de SPIP 4.

SPIP a maintenant un dépôt Git où se retrouvent les plugins-dist et qui est devenu son dépôt officiel.

La galaxie SPIP ce sont aussi les fabriques de squelettes et il y a eu un grand mouvement ces dernières années pour passer sous SPIP des squelettes html 5 de html5up. On trouvera sur spip-contrib la liste des squelettes ainsi adaptés ainsi que de la documentation pour le faire. Ce ne sont, évidemment, pas les seuls squelettes html 5. Ainsi, des squelettes très paramétrables comme Escal qui est parfaitement multilingue ou SoyezCréateurs qui se veut conforme aux bonnes pratiques en matière d’accessibilité peuvent supporter le html 5.

Migrer tranquillement

Même s’il y a très peu de risques d’avoir des pépins, surtout si on passe de 3.2 à 4, le risque zéro n’existe pas. Donc avant de passer votre site sous SPIP 4 il faudra :

  1. vider le cache ;
  2. sauvegarder la base de données ;
  3. sauvegarder les dossiers IMG, config, plugins, tmp (ce n’est pas impératif cela dit), squelettes et le fichier .htaccess, plus tout autre dossier ou fichier que vous auriez créé ;
  4. comme il est possible que tous vos plugins ne soient pas marqués comme compatibles SPIP 4, ajouter un fichier mes_options.php dans le dossier config avec cette ligne
<?php define('_DEV_VERSION_SPIP_COMPAT','3.2.99');

Si votre site est encore en 1.9, il faudra commencer par le passer sous SPIP 3.2 avant de le migrer sous SPIP.

De toute façon, une page d’aide est là pour vous aider à faire la migration et il est toujours possible d’appeler à la rescousse sur le nouveau système d’entraide de SPIP.

Un très grand merci à celles et ceux qui font de SPIP un super CMS avec lequel il est très agréable de travailler.

  1. Si vous voulez savoir comment on fait ce genre de photo, il faut une photographe, son assistant avec un plumeau, en prendre plusieurs et sélectionner la meilleure. Un grand merci aux maîtres des chatons pour m’avoir donné le droit d’utiliser cette photo pour cette dépêche. 

  2. Ben oui, mes initiales. 

  3. Dans le « jargon » spipien, le squelette est la base du site et comporte à la fois les fichiers html et les css. 

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

31 juillet, 2021 - 15:45

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

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

[FR Quimper] Rencontres Linuxiennes - Le jeudi 5 août 2021 de 16h00 à 18h00.

Se faire aider, ou aider, à installer, paramétrer, réparer un ordi sous Linux, pour tout le monde mais en particulier les bénéficiaires de la redistribution gratuite d’ordinateurs sous Linux faite par le Centre des Abeilles

[CA-QC Montréal] Linux-Meetup Montréal - Le mardi 3 août 2021 de 18h30 à 21h30.

Rencontre virtuelle https://bbb3.services-conseils-linux.org/b/mar-thv-32t

Programmation de la rencontre (de 18:30 à 21:30)

Lieu
Rencontre virtuelle https://bbb3.services-conseils-linux.org/b/mar-thv-32t

Extras

Pendant le « happy hour » virtuel BYOB « Bring your own Beer » (de 17:30 à 18:30), il y aura 8 salles de discussions virtuelles afin de pouvoir discuter de logiciels libres avec vos amis… que vous n’avez pas vus depuis le confinement-)

Profitez-en pour arriver plus tôt afin de vérifier votre audio/vidéo avec BigBlueButton qui ne requiert aucune installation de logiciel puisqu’il fonctionne directement dans votre navigateur avec HTML5 (Chromium, Chrome, Firefox recommandé).

Nous invitons tous les amateurs de logiciels libres (peu importe la plate-forme) à venir discuter. C’est vraiment une excellente occasion de socialiser et de faire connaissance avec d’autres qui partagent les mêmes intérêts.

La rencontre est gratuite et ouverte à tous (de débutants à experts) et rassemble des gens de diverses professions gestionnaires, professeurs, administrateurs de systèmes, ingénieurs, programmeurs, retraités, étudiants, etc.

Les Linux-Meetup se déroulent simultanément à travers le monde tous les premiers mardis du mois ainsi que dans plusieurs régions du Québec.

Vous pouvez confirmer votre présence sur un ou plusieurs réseaux sociaux afin de promouvoir l'événement Google+, Linkedin, Facebook, Twitter et Meetup

Au plaisir de vous rencontrer

Martial

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Financer les développeurs de GIMP pour un développement pérenne

30 juillet, 2021 - 19:20

GIMP est historiquement dans un mode de développement communautaire, ce depuis le départ des auteurs initiaux du projet.
Cela soulève la question de la pérennité des développements lorsque des contributeurs souhaitent s’investir durablement sans pour autant pouvoir se permettre le statut de volontaires bénévoles permanents.

Depuis des années, nous avons vu des développeurs talentueux nous rejoindre, puis nous quitter, cette deuxième étape devenant une préoccupation grandissante. Contribuer requiert un temps fou et les gens ont une famille, un travail et d’autres responsabilités à assumer. Donc, quand des contributeurs clés de l’équipe souhaitent être payés pour concevoir du Logiciel Libre, nous avons décidé que GIMP, en tant que projet, devrait encourager de telles initiatives en mettant l’accent sur leurs financements.

Il y a actuellement deux financements participatifs dans ce cadre. Vous pouvez considérer ces financements participatifs aussi « officiels » qu’ils peuvent l’être et entièrement validés par le projet GIMP :

  • Øyvind Kolås : mainteneur de GEGL (le cadriciel de traitement d’image de GIMP)¹ ;
  • Le projet ZeMarmot : Jehan (mainteneur de GIMP) et Aryeom (artiste, conceptrice et plus encore…)².

Pour plus d’informations, lisez la suite ci-dessous.

Sommaire Øyvind Kolås : Mainteneur de GEGL

Øyvind contribue à GIMP depuis 2004. Il est rapidement devenu le mainteneur de GEGL qui était destiné à devenir un jour le moteur d’image de GIMP. GEGL et babl (sa bibliothèque compagne d’encodage de format de pixel) prennent déjà en charge la gestion des couleurs, l’usage de plus de 8 bits par composantes couleur et le modèle de couleur CMYK. Quelques-unes de leurs fonctionnalités non destructrices sont déjà utilisées dans la prévisualisation directe des filtres d’image.
L’intégration de GEGL a commencé dans GIMP 2.8, la version 2.10 ayant vu des efforts accrus concernant la gestion des couleurs. Cette intégration est toujours en cours de réalisation, avec l’ambition d’imbriquer davantage les fonctionnalités existantes et à venir de GEGL dans les futures versions de GIMP au fur et à mesure que celles-ci continuent d’être affinées et testées.

Øyvind est non seulement connu pour son travail sur GEGL, mais également pour ses diverses expérimentations dans le domaine des images et des couleurs. Une de ses expériences visuelles avec des grilles de couleurs sur des images en noir et blanc est même devenue virale en 2019 et s’est retrouvée sur trop de sites d’informations à travers le web pour pouvoir tous les citer.


Illusion d’assimilation des couleurs en grille, par Øyvind Kolås

Un de ses derniers projets, ctx, est une pile graphique vectorielle qui est difficile à décrire puisque certaines parties de ce projet sont assez hallucinantes, donc nous vous en proposons la description officielle :

ctx est un terminal multimédia et une pile graphique vectorielle construits autour d’un protocole de sérialisation textuel. La sérialisation textuelle a une représentation binaire correspondante qui est utilisée par le rasterizer principal ainsi qu’en partageant des données entre les threads. Le protocole ctx est disponible sous forme d’extension aux séquences d’échappement ANSI dans le terminal ctx, celui-ci démarrant quand l’exécutable ctx est invoqué sans arguments. Cette extension autorise les scripts de n’importe quel langage à produire des graphiques vectoriels en plus ou à la place du texte monospace dans chaque onglet/fenêtre, et fournit également un mode de rendu non impacté par une utilisation en réseau.

Tout ce passif de développement est certainement la raison pour laquelle Øyvind se décrit comme :

Je suis un forgeron des media numériques, créant des outils et des infrastructures pour faciliter la création de mes propres expériences de media numériques visuels et artistiques, ainsi que celles des autres.

GIMP ne serait pas là où il en est sans des esprits affutés tels que le sien. Imaginez-vous : 17 ans ou plus dédiés au logiciel libre et à la recherche d’images ! Donc oui, le projet GIMP soutient sans réserve la campagne Patreon d’Øyvind et nous encourageons chacun à donner !

» Financez Øyvind Kolås et le développement de GEGL «

N.B. : Øyvind est aussi présent sur Liberapay.

ZeMarmot : Mainteneur de GIMP et Art Libre

ZeMarmot est un projet d’Art Libre dont l’idée a germé en 2014, a été lancé en 2015 et dont la production a débuté en 2016. Plus précisément, c’est un film d’animation libre mené par sa réalisatrice, Aryeom, et par le co-mainteneur de GIMP, Jehan, sous licence Creative Commons BY-SA encourageant le partage et la réutilisation.


Logo du projet ZeMarmot

Vous vous demandez peut-être comment un film d’animation peut aider GIMP ? C’est pourtant la raison pour laquelle Jehan s’est si largement impliqué dans le développement de ce logiciel, au point de devenir son contributeur principal depuis 2020 et d’être à présent co-mainteneur. La collaboration avec Aryeom sur d’autres projets sympas est d’ailleurs la raison initiale pour laquelle Jehan a commencé à contribuer à GIMP en 2012.

ZeMarmot est un film d’animation 2D traditionnel (même s’il est réalisé sur ordinateur), ce qui implique un gros travail d’illustration, chaque image étant dessinée à la main. Cela nécessite un usage intensif des brosses, des filtres, des outils de sélection et de transformation, l’écriture de scripts pour automatiser certaines tâches, et de nombreux besoins d’édition d’images matricielles.

Tout ceci explique pourquoi le développement qui en résulte n’est pas seulement centré sur l’illustration et l’animation, comme certains pourraient s’y attendre. Ces changements n’ont pas pour but de modifier la raison d’être du logiciel. GIMP est un outil de manipulation graphique généraliste et nous nous sommes rendu compte au fil des ans que la plupart des fonctionnalités étaient si inter-disciplinaires qu’il était tout à fait pertinent d’avoir un outil généraliste. De plus, Aryeom et Jehan travaillent aussi de temps en temps sur des projets d’impression, des logos, des photos, des badges, des jeux de plateaux… Ils réalisent toutes sortes de choses avec GIMP !

Un gros travail est fait pour corriger les bogues, améliorer la stabilité, l’efficacité, et l’empaquetage du logiciel et pour ajouter des outils généralistes et des fonctionnalités utiles aux photographes, aux designers, aux illustrateurs, aux scientifiques, aux animateurs… Faire une liste exhaustive de toutes les améliorations apportées par leur travail serait difficile, car elles sont trop nombreuses.

Aujourd’hui, ZeMarmot est autant un projet de film d’animation artisanal (Aryeom prenant seule en charge pratiquement tous les rôles pour la production artistique) qu’un projet de développement logiciel (à la fois avec Jehan travaillant sur le développement et avec Aryeom pour les tests et la conception de fonctionnalités). Aryeom et Jehan sont convaincus qu’il est important de pouvoir s’approprier ses outils de travail : c’est la raison pour laquelle leur collaboration fonctionne si bien, en réunissant à la fois une artiste et un développeur.

La cerise sur le gâteau est leur rêve de pouvoir un jour engager davantage de développeurs de logiciels libres et d’artistes. Ce projet se fait sous l’égide de l’association LILA (Libre comme L’Art), une association de droit français loi 1901 dédiée à l’Art Libre et aux logiciels libres pour les médias créatifs. Imaginez un futur pas si lointain, où nous pourrions avoir un studio à but non lucratif réalisant des œuvres sous licences Art Libre, que tous pourraient voir, partager, et même modifier librement (les fichiers sources étant distribués, voir par exemple ceux pour la vidéo qu’ils ont produite pour Framasoft au sujet de Peertube), avec de nombreux artistes (ce qui permettrait de réaliser des films bien plus rapidement qu’ils ne le peuvent à présent) et des développeurs pour résoudre les problèmes de production. LILA peut vraiment être considérée comme un projet-frère de GIMP en tant que studio d’animation libre à but non lucratif ! Et, bien sûr, un studio d’animation libre produisant de l’Art Libre aiderait également à améliorer les outils pour l’édition photographique ou pour le design.

C’est pourquoi GIMP soutient sans réserve LILA et ZeMarmot et encourage toute la communauté à faire des dons à ce projet afin d’améliorer GIMP. Vous pouvez le voir comme un projet officiellement adopté par GIMP.

» Financez ZeMarmot (Aryeom et Jehan) et le développement de GIMP. «

N.B. : ZeMarmot est aussi présent sur Liberapay et sur Tipeee.

Qu’en est-il des donations à la fondation GNOME ?

Pendant des années, nous avons reçu des donations via la fondation GNOME. Cela est, bien évidemment, toujours possible. Pourtant ces donations sont jusqu’à maintenant uniquement destinées aux besoins de la communauté. En particulier, elles nous aident à acheter du matériel (peu souvent), et à réunir des contributeurs lors de conférences (régulièrement nous aidons également à financer les conférences elles-mêmes, puisque nous pensons qu’un écosystème sain de logiciels graphiques libres ne devrait pas uniquement se limiter à GIMP, donc nous adorons prêter main forte à d’autres logiciels graphiques) et des réunions de contributeurs.

Notez qu’une alternative intéressante est également possible pour financer plusieurs contributeurs via le compte Liberapay de GIMP

Ce que ces donations via GNOME ne peuvent toutefois pas faire, c’est assurer le financement du développement. Donc, si c’est ce que vous souhaitez faire, financez directement les développeurs comme cela est expliqué ci-dessus. Le projet GIMP accueille positivement, bien évidemment, les deux types de donation, pour les besoins communautaires via GNOME et pour les développements sponsorisés via les deux financements participatifs listés ci-dessus.

Merci pour votre soutien à GIMP, de la manière qui vous convient le mieux !

L’envolée de Odoo, le logiciel de gestion open source

30 juillet, 2021 - 10:55

Summit Partners, un fond d’investissement américain, vient d’investir 180 M€ dans Odoo, la société qui développe des logiciels libres de gestion d’entreprise. Cette transaction valorise la startup belge à plus de deux milliards d’euros !

Les gros succès commerciaux autours des éditeurs de logiciels libres se sont souvent fait sur des produits à destination des développeurs (MySQL, Docker, Automatic) ou administrateurs systèmes (Red Hat). Cette nouvelle est un signal fort que les logiciels libres pour les utilisateurs finaux peuvent aussi être source de grandes créations de valeurs.

En effet, les utilisateurs de Odoo ne sont pas des développeurs, mais des comptables, des caissiers, des gestionnaires de stock, des chefs de projets, des responsables commerciaux ou marketing, etc.

Odoo est une suite d’applications qui couvrent tous les besoins d’une entreprise : la comptabilité, les points de ventes, la boutique en ligne, la gestion des stocks, fabrication, la gestion de projets, les ressources humaines, etc.

Le business modèle s’appuie sur deux logiciels :
1/ Odoo Community, sous licence libre, comprend 80% des applications : la gestion des ventes, les caisses, la facturation, la gestion de stock et production, la gestion de projet, les ressources humaines, le créateur de site web, etc.
2/ Odoo Enterprise, ajoute 20 % d'applications sous licence propriétaire, comme la comptabilité ou Odoo Studio, un outil qui permet de personnaliser les applications Odoo sans développements.

Ces deux produits bénéficient l’un de l’autre. Les revenus générés par Odoo Enterprise ont permis à Odoo d’embaucher des centaines de développeurs en R&D, dont 80 % travaillent pour améliorer Odoo Community, la version open source de Odoo.

Et Odoo Community a permis à Odoo d’atteindre sept millions d’utilisateurs (dont 90 % sont sur la version open source), ce qui lui confère une notoriété qu’il n’aurait pas pu atteindre avec seulement quelques dizaines de milliers de clients payants.

Il faut noter que cet investissement n’est pas une augmentation de capital, mais juste un rachat d’actions entre actionnaires. Odoo ne souhaite pas faire d’augmentation de capital pour deux raisons :
1/ la société n’en a pas besoin (elle est profitable, malgré le recrutement de 1 000 employés ces douze derniers mois), et
2/ le fondateur d’Odoo souhaite garder la majorité des actions pour garantir la pérennité du projet libre sur le long terme.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

27 juillet, 2021 - 19:13

Cette revue de presse sur Internet fait partie du travail de veille mené par l'April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l'April.

Haiku R1 beta 3 - Haiku a 20 ans !

26 juillet, 2021 - 21:18

Ça y est, la troisième version bêta de Haiku est disponible, juste à temps pour fêter les vingt ans du projet le mois prochain !

Sommaire

Haiku est un système d’exploitation inspiré par BeOS. L’objectif est de construire un système léger, facile à utiliser tout en permettant des usages plus avancés.

Une particularité est le choix de réutiliser assez peu de composants existants. L’idée étant d’avoir une seule équipe de développement en charge de tout le code source, ce qui permet de réaliser les modifications nécessaires aux bons endroits, et pas d’ajouter des couches d’abstraction et d’adaptation entre de multiples composants pas prévus pour fonctionner ensemble.

Le projet est actuellement en version bêta, ce qui signifie que toutes les fonctionnalités prévues ont été implémentées, mais qu’il reste encore de nombreux bugs à corriger.

Cette dépêche comporte des informations générales sur le projet, ainsi qu’une section présentant les principales nouveautés de la version bêta 3 qui vient d’être publiée.

Un peu d’histoire

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

L’idée était de donner une suite à BeOS, un système d’exploitation non libre développé par Be Inc. Au début de l’année précédente, Be avait annoncé la mise en téléchargement gratuit de son système BeOS et un focus shift pour se concentrer sur les « internet appliances », ce qu’on appellerait aujourd’hui l’internet des objets. Un certain nombre d’utilisateurs et de développeurs de BeOS ne souhaitaient pas voir ce système disparaître, et se sont rassemblés pour essayer d’y donner suite.

En 2004, le projet était renommé pour éviter de potentiels problèmes de marques déposées avec BeOS.

En 2005, pour la première fois il était possible de lancer « Tracker » (le navigateur de fichiers de BeOS) sous Haiku.

En 2008, pour la première fois, il était possible de compiler Haiku depuis Haiku (self-hosting), ce qui était l’objectif de l’entrée en phase « alpha » et de la publication d’une première version. Trois autres versions alpha suivront jusqu’en 2012.

En 2010, un sondage auprès des développeurs et utilisateurs définit les objectifs de la version R1 de Haiku, donnant la direction à suivre pour les 10 années suivantes.

En 2013, Haiku fonctionne sur les architectures x86 64 bits.

En 2018, c’est l’entrée en phase « bêta » de la version R1. On considère que toutes les fonctionnalités prévues dans la version 1 de Haiku sont présentes, mais il reste de nombreux bugs à corriger avant d’avoir une version finale. L’objectif est de publier de nouvelles versions assez souvent pour permettre aux utilisateurs de tester le système, et aux développeurs de commencer à porter ou écrire leurs applications.

Statistiques de contribution

Statistiques détaillées pour Haiku

Au total, 305 personnes ont participé à Haiku avec au moins un commit dans le dépôt Git. Ce nombre est sous-estimé, en effet avant 2011, Haiku utilisait Subversion, et les correctifs envoyés par des personnes n’ayant pas accès en écriture au dépôt Git n’étaient pas correctement attribués. De plus, il n’y a pas d’historique pour la première année d’existence du projet pendant laquelle il n’y avait pas du tout d’outil de gestion de code.

Après un pic d’activité entre 2008 et 2010 avec plus de 5 000 commits par an, les choses ont ralenti et depuis 2016, c’est seulement environ 1 400 changements qui sont intégrés chaque année. Haiku utilise Gerrit pour recevoir les correctifs des contributeurs et la plupart des changements sont relus attentivement avant d’être intégrés, afin de s’assurer de la cohésion dans le style de formatage du code, et d’éviter de rajouter trop de bugs.

Le contributeur le plus actif est Axel Dörfler, présent depuis le tout début et encore actif aujourd’hui, qui est l’auteur de 16,63 % des commits intégrés dans Haiku.

Chaque année, environ une soixantaine de personnes contribuent à au moins un changement. Chaque mois, ce sont quinze à vingt personnes.

Aujourd’hui le projet comporte environ 8 000 fichiers sources C et C++ (et autant d’en-têtes .h) qui représentent quatre millions de lignes de code.

Haikuports, les dépôts de paquets

Statistiques détaillées pour Haikuports

Bien sûr, un système d’exploitation ne serait pas très utile sans logiciels à faire fonctionner dessus.

Haikuports est le principal dépôt de logiciels pour Haiku. Le projet a démarré en 2008, d’abord brièvement sous le nom de BePorts, avant d’abandonner BeOS pour se concentrer sur Haiku. Il s’agit d’un projet indépendant de Haiku, même si un grand nombre de contributeurs sont en fait impliqués dans les deux projets (le monde est petit).

Le projet est devenu très actif en 2013, lorsque Haiku s’est doté d’un gestionnaire de paquets. Auparavant, HaikuPorts pouvait être utilisé soit pour installer directement des logiciels compilés à partir des sources sur le système local, soit pour générer des archives .zip permettant de redistribuer ces logiciels. Il n’y avait pas vraiment de gestion des dépendances, ce qui limitait fortement son utilité.

Les années 2017 et 2018 ont été les plus actives, avec 2 500 puis 2 900 commits respectivement. Les choses semblent se stabiliser avec autour de 1 600 commits par an.

Au total, 250 personnes ont participé à Haikuports, soit entre 60 et 70 personnes chaque année depuis 2017.

Actuellement le dépôt contient 2 971 recettes donnant chacune les instructions pour compiler un paquet, ainsi que 1 257 correctifs nécessaires pour compiler certains projets. Le nombre de recettes augmente assez régulièrement depuis le début du projet.

La taille moyenne des recettes est de 88 lignes (incluant une description du logiciel, la liste des dépendances et de ce qui est fourni par le paquet, et les instructions de compilation et d’installation).

Un système d’intégration continue est en place, qui permet de compiler automatiquement les paquets à partir des recettes dès qu’elles sont ajoutées dans le dépôt git. Les utilisateurs de Haiku peuvent ainsi télécharger et installer directement les paquets pré-compilés.

Nouveautés de la version bêta 3 Processus d’installation

L’un des objectifs de Haiku est d’être un système peu gourmand en ressources et facile à utiliser. Cela commence dès le premier démarrage depuis un DVD (ou une clé USB) d’installation, en essayant de guider l’utilisateur et de faciliter ses premiers pas.

Suite à la publication de la version bêta 2, une étude d’expérience utilisateur empirique (en visionnant de nombreuses vidéos de personnes testant Haiku sur Youtube) a permis de constater plusieurs problèmes d’utilisabilité et quelques bugs dans le processus d’installation. Cela a donc été un des aspects qui ont été améliorés dans cette nouvelle version :

  • il est possible d’utiliser l’application Installeur pour réinitialiser proprement un disque contenant déjà une installation de Haiku, en conservant les fichiers de l’utilisateur (mais pas les applications et la configuration) ;
  • il est possible de quitter l’Installeur et de revenir à l’écran d’accueil permettant de choisir entre l’installation et le mode « live DVD » pour essayer Haiku ;
  • l’outil de partitionnement et de formatage des disques DriveSetup a reçu de nombreuses corrections de bugs et de petits changements d’interface pour éviter les confusions les plus fréquentes.

Gestionnaire de paquets

Haiku est fourni avec un gestionnaire de paquets disposant de fonctionnalités peu souvent rencontrées sur d’autres systèmes, telles que l’installation et la désinstallation de paquets par simple déplacement dans un dossier dédié, et la possibilité de démarrer le système dans un état antérieur, si une mise à jour se passe mal, ou à des fins de tests :

  • les mises à jour de paquets sont capables de reprendre un téléchargement là où il s’était arrêté si le processus est interrompu ;
  • la désinstallation de paquets peut exécuter des scripts de nettoyage inclus dans le paquet ;
  • amélioration des performances de HaikuDepot, l’interface graphique du gestionnaire de paquets. En particulier, optimisation de la façon de stocker les icônes des applications, en les regroupant dans un seul fichier pour limiter le gaspillage d’espace disque ;
  • nombreuses améliorations de la stabilité et de l’expérience utilisateur de HaikuDepot ;
  • remplacement de Python 2 par Python 3.7 comme version par défaut fournie avec Haiku (des versions plus récentes et plus anciennes sont également disponibles dans le gestionnaire de paquets et peuvent être installées si nécessaire).

Interface utilisateur
  • La classe BTextView affiche correctement le texte centré ou aligné à droite. De nombreuses corrections ont été faites dans la classe BTextControl pour corriger son comportement lors de déplacements du curseur et de l’édition de texte.
  • Amélioration de l’apparence de Haiku lors de l’utilisation de thèmes de couleurs à dominante sombre (texte plus clair que la couleur de fond).
  • Intégration de l’outil PadBlocker dans la configuration des périphériques d’entrée. Il permet de désactiver le touchpad lorsque le clavier est utilisé, évitant ainsi de déclencher involontairement des clics ou déplacements du pointeur de souris.
  • Mise à l’échelle des barres de défilement en fonction de la taille de police choisie pour le système (permettant de s’adapter aux écrans à très haute résolution simplement en augmentant le réglage de taille du texte).
  • Multiples changements dans la gestion des chaînes de caractères pour améliorer l’internationalisation et faciliter la traduction de Haiku dans d’autres langues.
  • Possibilité d’afficher la charge CPU dans ProcessController pour les processeurs avec plus de huit cœurs.
  • L’application Pulse affiche le vrai logo du fabricant du CPU (auparavant seul le logo d’Intel était utilisé).
  • Améliorations de la stabilité et de la compatibilité de MediaPlayer avec divers formats audio et vidéo.
  • La fenêtre d’attente lors de l’arrêt du système affiche une icône animée lorsqu’une application est occupée et ne répond pas à la demande de fermeture.

Serveur graphique app_server
  • Plusieurs corrections de problèmes de clipping et de clignotements dans l’affichage des fenêtres.
  • Possibilité de dessiner une image bitmap avec une répétition horizontale et/ou verticale (« tuiles »).
  • Ajout de nouvelles opérations de composition graphique, utilisées entre autres dans le navigateur web pour implémenter les canvas JavaScript.
  • Correction du système de substitution de polices de caractères, ajout dans la liste des polices de remplacement de Noto Sans Symbols 2 et Noto Emoji pour couvrir la plupart des caractères fréquemment utilisés.
  • Refonte de la gestion de la mémoire et correction de plusieurs problèmes de dépassement de mémoire qui pouvaient conduire à un plantage du serveur graphique.
Navigateur web
  • L’en-tête « Accept-Language » n’était pas envoyé dans les requêtes HTTP(S), ce qui empêchait certains sites web de s’afficher.
  • Le menu contextuel « Rechercher sur le web » fonctionne à nouveau.
  • Il est possible de sélectionner facilement un moteur de recherche parmi une liste prédéfinie.
  • Le moteur de recherche par défaut est DuckDuckGo, en remplacement de Google (pour des raisons de protection des données des utilisateurs, mais surtout de problèmes de compatibilité avec le navigateur des pages de Google et de l’affichage de messages d’avertissement désagréables).
  • Raccourcis de recherche dans la barre d’adresse, par exemple taper « w Haiku » recherchera Haiku sur Wikipedia.
  • Mise à jour de HaikuWebKit à la version 612.1.21 de WebKit (version datant de juin 2021).
  • Affichage des pages en utilisant leur mode sombre (spécifié via des feuilles de styles CSS) si le système est configuré pour utiliser un thème sombre.
APIs
  • Nouvelle version de l’API « net services » (clients HTTP et Gopher). Cette API est maintenant fournie sous forme d’une bibliothèque statique, ce qui permettra d’effectuer des changements sans casser les applications existantes. Les applications compilées avec la version bêta 2 de la bibliothèque restent utilisables pour l’instant, mais il est recommandé de les recompiler avec la nouvelle version dès que possible.
  • La nouvelle version augmente les performances des téléchargements, et corrige de nombreux problèmes (par exemple il est possible de charger des fichiers de plus de 2 Go).
Systèmes de fichiers

La cohabitation et l’interopérabilité avec d’autres systèmes sont importants pour Haiku. Aussi, de nombreux systèmes de fichiers conçus initialement pour d’autres systèmes peuvent être lus et parfois écrits depuis Haiku :

  • améliorations de la lecture du système de fichiers XFS ;
  • correction d’un plantage du noyau dans le pilote NFS ;
  • lecture des tables de partitions Sun VTOC (format utilisé sur les machines SPARC) ;
  • correction de bugs dans la lecture des systèmes de fichiers ext4.
Les systèmes de fichiers disponibles

En lecture et écriture :

  • BFS (le système de fichiers de BeOS), en versions gros-boutiste et petit-boutiste ;
  • ext2, 3, et 4 ;
  • FAT ;
  • netfs (système de fichiers en réseau spécifique à Haiku) ;
  • NFS versions 2 et 4 ;
  • NTFS ;
  • Reiserfs.

En lecture seule :

  • btrfs ;
  • cdda (permet d’accéder aux pistes d’un CD audio sous forme de fichiers WAV) ;
  • exfat ;
  • ISO 9660 ;
  • UDF.

D’autres systèmes de fichiers peuvent être utilisés via FUSE et userlandfs : SMB et sshfs par exemple. Ils sont disponibles dans le gestionnaire de paquets.

Compatibilité avec BeOS

La possibilité d’exécuter des applications compilées pour BeOS reste un des objectifs du projet. Bien que cela n’ait aujourd’hui plus un grand intérêt au quotidien (la plupart des applications ont été remplacées ou bien leurs sources ont été publiées et elles peuvent être mises à jour), tester ces applications permet de découvrir de nombreux cas particuliers dans le comportement du système et de corriger les bugs les plus tordus :

  • correction d’un problème d’inter-blocage entre le Locale Kit (localisation dans différentes langues) et le Translation Kit (conversion de formats de fichiers) qui avaient indirectement une dépendance circulaire entre eux. Cela empêchait certaines applications de démarrer (par exemple BeLive, et Tracker) ;
  • implémentation du drapeau B_OUTLINE_RESIZE qui permet à certaines fenêtres de ne dessiner que leur contour lorsqu’elles sont en cours de redimensionnement (utile si le tracé du contenu de la fenêtre est particulièrement long) ;
  • ajout d’un « Control Look » qui ressemble autant que possible à BeOS R5 (l’apparence par défaut de Haiku reste inchangée). Cela permet d’assurer une compatibilité avec les applications dont l’interface graphique est codée en dur avec des positions en pixels, sans tenir compte de la taille réelle de la police de caractères et des contrôles.
Compatibilité avec POSIX

En plus des applications écrites pour BeOS, Haiku permet d’utiliser des applications venues du monde UNIX (ou plutôt GNU/Linux et BSD de nos jours). Par exemple, un grand nombre d’applications utilisant la bibliothèque Qt sont disponibles. Haiku essaie autant que possible de suivre strictement le standard POSIX, mais implémente également des fonctions supplémentaires sur lesquelles il y a un consensus parmi les autres systèmes :

  • ajout des fonctions mlock et munlock, permettant d’empêcher une zone de mémoire d’être évacuée dans le fichier swap (pour des raisons de performance ou surtout de sécurité) ;
  • retrait d’une limitation sur le nombre de threads « joinable » par application ;
  • correction du comportement de pselect() lors de l’utilisation de signaux ;
  • correction du code de retour de fsync() lorsqu’il est appelé sur un pipe FIFO 0 ;
  • déplacement de la fonction asprintf dans la libbsd, car ce n’est pas une fonction standard POSIX ;
  • ajout des fonctions exp10, exp10f et exp10l dans math.h (seulement en mode _GNU_SOURCE) ;
  • correction du comportement de write() en mode O_APPEND 
  • ajout de la fonction posix_fallocate() ;
  • ajout de ut_host dans utmpx.h ;
  • ajout de ppoll() (qui ne fait pas encore partie du standard POSIX, mais arrive dans la prochaine version) ;
  • traitement d’une séquence d’échappement permettant d’insérer plusieurs répétitions d’un même caractère dans le Terminal (par exemple pour tracer une bordure dans une application ncurses)
Amélioration des performances
  • Optimisation de la fonction create_area pour éviter un algorithme de complexité O(n2).
  • Optimisation de la fonction BMenuItem::RemoveItem pour être en complexité O(1) au lieu de O(n).
  • Amélioration du pilote cpufreq permettant de mesurer la charge CPU bas niveau et d’ajuster la fréquence de fonctionnement du CPU.
  • Amélioration de la mémoire tampon de MediaPlayer permettant la lecture de vidéos 4K.
  • Implémentation des acquittements sélectifs (SACK) dans le protocole TCP, pour limiter les retransmissions de paquets sur les liens réseaux avec des pertes de paquets (par exemple en Wifi).
Internationalisation
  • Ajout d’une traduction en tchèque, ce qui fait que Haiku est maintenant utilisable dans vingt-huit langues différentes.
Matériel et pilotes Son

Amélioration des pilotes pour les cartes son à base de chipsets es1370 et intel HDA.

Stockage
  • Nouveaux pilotes pour les lecteurs de cartes SD connectés sur le bus PCI (SDHCI).
  • Amélioration de la stabilité du système de fichier en mémoire ramfs.
  • Amélioration des performances du pilote NVMe.
Réseau
  • Amélioration des performances du pilote réseau virtio (utilisé lorsque Haiku est exécuté dans certaines machines virtuelles).
  • Mise à jour des pilotes de cartes réseau à partir de ceux de FreeBSD 13.
  • Suppression du pilote réseau Wavelan, qui ne concerne que des cartes Wifi depuis longtemps obsolètes (principalement des cartes PCMCIA, sans possibilité d’utiliser des réseaux chiffrés en WPA).
USB
  • Correction de problèmes dans les pilotes USB3
Cartes Graphiques
  • Mise à jour du pilote Intel_Extreme pour les générations de cartes 4 à 7 (chipset Sandy Bridge et suivants). Début de travail sur l’affichage multi-écrans, en mode « clone » pour l’instant.
  • Amélioration du pilote NVIDIA GeForce 6200-6400.
Plans pour la suite

Après vingt ans passés à développer le système, on peut se poser des questions sur l’absence de version R1 stable pour l’instant. Cependant, il faut se souvenir que le développement de Haiku est effectué en grande majorité par des volontaires sur leur temps libre, en jonglant souvent avec un emploi à plein temps et d’autres activités informatiques ou non.

En parallèle du travail des développeurs sur les versions bêta 2 et 3, du tri a été fait dans les rapports de bugs pour essayer de dégager une feuille de route pour les prochaines versions. Beaucoup de tickets ont été déplacés dans les jalons « Unscheduled » (qui signifie que ce n’est pas nécessaire pour la version R1) et R1.1 (pour les bugs les moins importants, pour lesquels on considère qu’ils ne justifient pas de bloquer la version R1).

Durant l’année de travail sur la bêta 3, ce sont environ 250 bugs qui ont été corrigés. Actuellement, le jalon R1 contient plus de 600 bugs, et cela va probablement augmenter après la publication de la nouvelle version bêta, car de nombreuses personnes vont essayer Haiku et découvrir de nouveaux problèmes.

Il reste donc encore au moins trois ans de travail sur la version R1 au rythme actuel. C’est beaucoup. En fait, c’est trop. La solution pour aller plus vite consiste à embaucher une ou plusieurs personnes pour travailler à plein temps sur le projet. Cela a déjà été fait plusieurs fois depuis 2010, d’abord avec des contrats ponctuels de quelques semaines ou quelques mois, puis un contrat plus long en 2014 avec un développeur qui a pu travailler à plein temps sur Haiku pendant environ un an.

Ces emplois sont financés entièrement par les dons reçus par l’association Haiku inc. Ces dons proviennent en partie de particuliers, et en partie de sponsoring de Google pour la participation au Google Summer of Code et au Google Code In. De plus, Haiku inc a reçu certains dons en bitcoins qui ont été oubliés sur un portefeuille électronique quelque temps et leur cours a pas mal augmenté.

Le budget est donc suffisant à présent pour embaucher un développeur pendant un ou deux ans avec un salaire raisonnable. Le problème restait de trouver une personne compétente et volontaire pour se lancer dans l’aventure. En effet, la plupart des développeurs actifs de Haiku ne souhaitaient pas quitter leurs emplois actuels. La situation va peut-être changer puisque Waddlesplash, un des développeurs les plus actifs, vient de quitter son emploi et est en discussion avec Haiku inc pour établir un contrat.

Après les versions R1 et R1.1, il est logiquement prévu une version R2. Dans celle-ci, des changements d’API et d’ABI seront faits (en plus, probablement, d’autres changements). Il n’est pas encore décidé si cette version assurera toujours la compatibilité avec les applications BeOS, et de quelle façon elle pourra le faire. Concrètement, on verra si l’un des développeurs qui souhaitent conserver cette compatibilité se propose pour effectivement implémenter quelque chose.

Le retour de la « promotion team »

Durant les cinq dernières années et suite au départ de Matt Madia, il n’y avait plus vraiment d’équipe chargée de la publicité et du marketing. Une nouvelle équipe a été formée cette année et travaille sur plusieurs sujets : réorganisation du site web et de la documentation, amélioration de « l’onboarding » (accueil, embarquement) pour les nouveaux contributeurs, interviews des développeurs, remise en place d’une boutique de produits dérivés pour financer le projet, etc.

Portage de Haiku sur RISC-V

Une autre grosse nouveauté cette année est le portage de Haiku sur une nouvelle architecture de CPU. Jusqu’à présent, seule la version x86 (32 ou 64bits) était fonctionnelle.

Ceci a été possible principalement grâce au travail de Kallisti5 et X512. Ces deux développeurs ont chacun reçu une station de travail RISC-V offerte par Haiku inc pour les aider à poursuivre leurs efforts (après avoir réussi à faire fonctionner le système dans qemu).

Les corrections faites dans le cadre de ce portage ont également permis de débloquer la situation pour la version ARM de Haiku, qui pourrait elle aussi devenir bientôt utilisable. À moins que la version SPARC soit prête avant.

Tous les changements pour la version RISC-V n’ont pas encore été intégrés dans le dépôt Git. Certains ont besoin d’être mis au propre afin de ne pas casser les autres architectures, d’autres sont en cours de revue et de relecture.

Le Google Summer of Code

Haiku participe régulièrement au Google Summer of Code depuis 2006. Ce programme financé par Google permet d’accueillir des étudiants en tant que contributeurs à des projets open source, sous la forme d’un stage avec un développeur du projet servant de tuteur.

Cette année, quatre étudiants contribuent à Haiku dans ce cadre :

  • Saloni Goyal et Hrithik Kumar travaillent sur l’intégration de clang-format dans l’infrastructure d’intégration continue, afin de signaler automatiquement les erreurs de formatage de code sur les patchs soumis. Ceci nécessite également d’adapter clang-format pour implémenter les conventions de formatage utilisées par Haiku ;
  • Xiaojie Yi améliore la prise en charge du système de fichiers XFS ;
  • Jaidyn Levesque développe un client de messagerie instantanée multi-protocoles.

Tous les quatre ont passé avec succès la première évaluation après un mois de développement.

Migration des canaux de discussion IRC de Freenode vers OFTC

Dans la dépêche de l’année dernière, on parlait de la fermeture du service d’archivage de conversations IRC Echelog. Malheureusement, moins d’un an après, c’est tout le réseau IRC Freenode qui a été fermé. L’ensemble des canaux de discussion de Haiku (à l’exception de certains canaux dans différentes langues qui ont choisi d’utiliser d’autres protocoles de communication) ont donc migré sur le réseau OFTC, un autre réseau IRC accueillant les projets de logiciels libres. L’enregistrement des conversations est maintenent fait par le service irclog de whitequark

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Interview d’Aryeom dessinatrice de marmottes (mais pas que)

25 juillet, 2021 - 13:59

Le logo avec un manchot, une marmotte et un gnou dormant sur l’herbe, c’est elle.

Aryeom est dessinatrice et réalisatrice de films d’animation et c’est l’une des premières personnes auxquelles j’ai pensé pour ces entretiens.

On lui doit un certain nombre d’améliorations de Gimp. Et même si on parle beaucoup de Gimp, on découvrira dans cette interview les autres logiciels qu’elle utilise. On y parlera aussi de marmottes, de tablette graphique, de licences et de langues. En effet, Aryeom est coréenne et le français, ni l’anglais ne sont ses langues maternelles et elle mérite un énorme remerciement pour cet entretien où certaines questions n’étaient peut-être pas si évidentes.

Il se trouve que, si tout va bien, cette interview est la première d’une petite série où le logiciel Gimp tient une place significative. Mais, ne divulgâchons rien.

Sommaire

Pour commencer, une question qu’un anglophone poserait sûrement : commence se prononce ton prénom ?

aˑɾjʌm Hahaha :D

Ce n’est pas exact, car il n’y a pas de voix coréenne dans la liste mais c’est le plus proche.

Les outils, Gimp et Blender

Sur quels outils as-tu été formée en tant que réalisatrice de films d’animation ?

J’ai été formée avec des outils propriétaires. Photoshop, Illustrator, Flash, After Effects, Première, Maya, 3Ds Max, etc. Ceux que j’ai le plus utilisés sont Photoshop, After Effects et Première.

Est-ce que cela a été difficile de changer d’outils notamment pour passer à GIMP et Blender ? Pour quelles raisons as-tu changé de logiciels ?

Au début, je n’étais pas habituée c’était difficile mais maintenant, c’est plus confortable. En plus GIMP n’était pas assez stable quand j’ai commencé à l’utiliser, mais depuis le logiciel a beaucoup évolué et est maintenant très stable. J’utilisais les logiciels propriétaires surtout par habitude. Mais je cherchais toujours les alternatives. Ce qui m’a plu dans le logiciel libre, c’est la philosophie avec un focus sur la liberté.

Puis, quand Jehan a commencé à corriger des bugs pour mon usage, cela m’a vraiment permis de franchir le pas.

Quels sont les points forts de GIMP, outre le fait qu’il s’agit d’un logiciel libre ? Quels sont ses points faibles ?

Les points forts : je peux personnaliser. Particulièrement, les options de dynamiques de brosses sont très intéressantes. Et je peux changer les raccourcis avec presque n’importe quelle touche de clavier. Par exemple, j’ai changé de ctrl+z à juste z pour annuler. Ce n’était pas possible avec Photoshop. Et on peut tout le temps discuter avec les développeurs. Bien sûr, ça ne veut pas dire qu’ils vont implémenter n’importe quelle idée.

Les points faibles : c’est pareil que les points forts, parfois il y a trop de choix et d’options. Donc si je ne cherche pas bien, je peux ne pas trouver l’option qui me convient. En plus, c’est plus mon point faible que celui de GIMP, si vous ne connaissez pas bien l’anglais, c’est dur de chercher des informations sur GIMP. Il y a peu d’informations utiles en coréen.

Quels sont les points forts de Blender, outre le fait qu’il s’agit d’un logiciel libre ? Quels sont ses points faibles ?

Je ne connais pas assez pour donner des détails. J’utilise Blender mais en ce moment c’est plus de 90 % sur la partie Video Sequence Editor (VSE). Mais j’ai vu des œuvres magnifiques qui sont faites avec Blender. Donc je n’ai pas même l’ombre d’un doute sur le fait que c’est un outil très puissant pour la 3D et, depuis récemment, pour la 2D aussi. Il y a cet outil qui s’appelle le grease pencil1. Moi, j’utilise VSE pour le montage. Et malheureusement, je pense que VSE est une partie moins puissante dans Blender ou bien que les développeurs de Blender ont d’autres besoins. Ce n’est malheureusement pas le logiciel de montage idéal pour mon cas d’usage. Il y a beaucoup de mises à jour dernièrement, mais malgré cela, j’ai l’impression que ce n’est pas adapté à mon usage. Et aussi je dois sûrement étudier plus, car il est possible que je ne connaisse pas toutes les fonctionnalités. Souvent j’ai été bloquée parce que je ne savais pas qu’une fonction dont j’avais besoin existait déjà…

Contribution à GIMP

En tant, notamment, que contributrice de GIMP qu’as-tu apporté au logiciel ? As-tu rencontré des difficultés pour présenter tes suggestions (par exemple, des difficultés pour expliquer telle ou telle fonctionnalité et pourquoi elle est nécessaire) ?

Quelques icônes, des brosses marrantes, la dynamique pression taille, des petites BD pour illustrer les annonces officielles sur gimp.org, une page 404 animée. J’aide aussi à améliorer les options par défaut, et surtout je teste, rapporte les bugs, aide à débugger ou améliorer des fonctionnalités parce que j’utilise GIMP constamment et j’ai conçu ou aidé à concevoir quelques fonctionnalités de GIMP. Sélection de calque directement sur le canevas, multi sélection de calques, le coloriage par détection de lignes, notre travail en cours sur l’animation dans GIMP…

Pour mes suggestions, normalement, je parle directement à un développeur qui est toujours à côté de moi. Haha. Pour ça, c’est plus facile de montrer quels sont les problèmes. Trouver les problèmes n’est pas le plus difficile. Ce qui est le plus difficile est de concevoir des solutions génériques qui sont utiles à tout le monde, et pas juste à moi. Cela demande beaucoup de travail pour la conception des fonctionnalités.

GIMP et le milieu professionnel

Comment sont accueillis les projets de formation à des logiciels libres dans ton secteur ? Est-ce que les gens trouvent ça bien, sont sceptiques, rejettent l’idée même ? Sur quel système d’exploitation se passent le plus généralement ces formations ?

Je donne quelques fois des cours universitaires avec GIMP depuis quelques années, mais la formation n’est pas ma spécialité, donc je ne sais pas très bien. Justement, j’ai vu qu’il y a beaucoup de cours et projets 3D en blender, mais pour la 2D, j’entends surtout parler de cours qui utilisent des logiciels propriétaires.

Cependant, en donnant mes cours à l’université, j’ai vu que des étudiants connaissent et utilisent un peu les logiciels libres de graphisme 2D.

Est-ce que, dans ta pratique professionnelle, GIMP est vu comme un outil professionnel ? Faut-il passer du temps à convaincre tes interlocuteurs de ses capacités ?

Cela peut dépendre du contrat et de ce que le client veut, mais en gros pour un client, le projet se termine quand il a un fichier d’export final. Personnellement si le client le souhaite, je peux lui fournir les sources de travail (fichier xcf). Mais en général, dans le graphisme professionnel, puisque cela fonctionne en licences d’usage, il est rare de donner les fichiers sources sans conditions. Cela signifie que le format utilisé dans du travail en cours, xcf ou psd, importe rarement. Les clients ont besoin de formats finaux spécifiques, fichiers images ou vidéos, donc en fait, on a rarement cette discussion. Bien sûr c’est différent si on s’insère dans un projet plus gros et qu’il faut des formats intermédiaires donnés pour travailler avec d’autres personnes qui sont sur des logiciels spécifiques.

Chaque client a des demandes différentes. En fonction de la demande, on va choisir ses outils en fonction des fonctionnalités nécessaires. En fait sur certains projets, on peut même utiliser des logiciels bien plus simples que GIMP et on peut tout à fait avoir un rendu professionnel, du moment que le format final correspond à la demande.

Ainsi sans même avoir besoin d’en discuter, il n’y a pas de doutes que GIMP est tout à fait à un niveau professionnel. Si un client n’est pas content du résultat, ce serait probablement plus un problème dû à mon travail ou à ma compréhension de la demande qu’un problème de logiciel. Bien sûr, hormis si la demande du client requiert spécifiquement le format d’un logiciel particulier.

Les tablettes graphiques

Quels outils utilises-tu et recommanderais-tu à des graphistes, des dessinateurs, ou tout autre professionnel de ces secteurs qui voudraient travailler uniquement sur des logiciels libres, qu’il s’agisse de matériel ou de logiciel ? La question de la tablette graphique par exemple est assez primordiale. Est-ce qu’il est facile de trouver des tablettes graphiques fonctionnant sous Linux ?

Sur mon projet principal actuel, j’utilise principalement GIMP et Blender. Parfois j’utilise Inkscape, Scribus, Synfig, Kdenlive… Il y a aussi des logiciels que je n’ai pas encore eu la chance d’utiliser beaucoup mais que j’aimerais essayer davantage. L’avantage du logiciel libre est qu’il est très simple de les télécharger et les tester. Essayez divers logiciels, apprenez à les utiliser, et lorsque vous êtes à l’aise dans l’usage de certains logiciels et qu’ils correspondent à vos besoins, utilisez-les.

Pour les tablettes, j’utilise Wacom. C’est principalement, car c’est ce que j’ai toujours utilisé et que c’est le plus répandu. Parfois il y a des problèmes sous Linux mais rien de bloquant. Ces dernières années, il y a plusieurs autres sociétés qui sortent des modèles qui ont du succès et marchent sous Linux. Mais je ne les ai pas essayées donc je ne peux pas trop donner d’avis. Si ce que vous utilisez actuellement marche bien sous Linux, continuez à l’utiliser. Vous pouvez aussi envoyer des rapports de bugs aux développeurs. C’est la seule façon pour que la situation de la prise en charge du matériel s’améliore.

Les licences

As-tu eu des réticences à publier tes productions sous licence libre ? Quel est ton point de vue sur l’utilisation des clauses ND et NC des contrats Creative Commons ?

Pour aller à l’encontre de l’image « cool attitude » où je pourrais affirmer qu’il n’y a aucune hésitation, en réalité c’est quelque chose à laquelle j’ai beaucoup réfléchi et hésité, encore aujourd’hui. Déjà en voyant d’autres artistes qui mettent leurs œuvres sous licence libre, cela attire et on veut faire pareil. Alors sur le coup, j’ai fait ce choix. Mais plus d’une fois, on se pose la question de savoir si on arrivera à en vivre. Néanmoins, on se rend aussi compte que licence libre ou non, arriver à vivre de l’art graphique n’est pas donné à tout le monde. Ce n’est pas un chemin professionnel aisé. Le problème des licences libres est surtout que c’est un chemin encore moins connu donc avec un avenir encore plus incertain. C’est ça qui rend ce choix plus complexe.

Ce projet principal est donc surtout une expérimentation. Si j’arrive à le finir et à en vivre, alors je continuerai à créer d’autres œuvres libres. Mon prochain projet pourra être libre. Et ainsi de suite tant que j’arrive à vivre de l’art libre. En travaillant avec cette logique, on peut arriver à faire un choix plus léger et à mieux concevoir l’avenir.

La logique des Creative Commons est de proposer un système de personnalisation. Donc c’est normal qu’ils proposent des choix si on veut refuser les modifications (ND) ou les usages commerciaux (NC), etc. Personnellement je n’ai pas de jugement à faire sur les clauses ND et NC. Bien sûr, plus il y aura de personnes qui utilisent plutôt des licences libres, plus on pourra se partager les œuvres, dans une logique plus ouverte et de partage. C’est un monde dans lequel je préférerais vivre. Mais au final c’est à chacun de choisir ce en quoi il croit ou ce dont il pense avoir besoin. Cela reste un choix personnel et je ne peux pas forcer les gens à promouvoir le partage.

Moi aussi, mes œuvres n’ont pas toutes été sous des licences libres.

Les rapports avec la communauté du libre

Quel est ton ressenti sur la communauté du libre ? Te sens-tu soutenue par le public ?

Je ne suis pas si habituée aux activités de communauté internet, donc je ne participe pas tant que ça. C’est en général Jehan qui fait l’interface avec les gens et les messages. Il me passe en général les messages positifs. Il y en a eu pas mal et je ressens en effet bien un soutien du public ! Tous les messages de remerciements, de soutien dans les temps durs, les messages chaleureux et compliments et bien sûr le soutien financier par financement participatif, tout cela me donne le pouvoir de continuer. Néanmoins c’est aussi une source d’anxiété, car j’ai peur de décevoir les gens si la qualité du rendu final ne leur plaît pas, surtout avec le temps que cela a pris. Donc merci beaucoup à tous et à toutes !

Tu produis des illustrations pour des articles au sujet de GIMP, LILA et ZeMarmot. Quel est ton niveau d’implication dans la communication de ces projets ?

Sur le site web de GIMP, je dessine en effet une BD « Wilber and co. » pour rendre les articles plus vivants et joyeux. Je fais aussi parfois les petits détails graphiques lorsque nécessaire.

J’essaie aussi de participer aux communautés GIMP en coréen, mais elles sont très petites.

LILA est une association très petite et pour ZeMarmot, je fais du graphisme additionnel mais c’est surtout Jehan qui fait le gros de la communication.

De manière générale, j’ai du mal à communiquer, surtout que c’est souvent dans des langues non natives pour moi. Je suis aussi peu sur les réseaux sociaux et j’essaie en fait d’éviter de trop utiliser ces derniers.

As-tu d’autres actions en faveur du logiciel que celles sus-citées ?

J’aimerais en faire bien plus, mais je ne fais pas grand-chose d’autre. J’aimerais notamment pouvoir aider à la traduction de GIMP en coréen et à promouvoir davantage GIMP en Corée.

Ze Marmot

Pourrais-tu nous dire quelques mots sur le film d’animation Ze Marmot, où en est-il ? Quels logiciels sont utilisés ? As-tu dû te former sur d’autres logiciels pour le faire vivre ?

Je travaille en ce moment sur la prévisualisation de l’animation finale. Lorsque l’animation est finie, je fais un montage final. Cependant en faisant cela, je découvre des problèmes à corriger que je n’avais pas vus lors de l’étape d’animation mais doivent absolument être corrigés pour passer à l’étape suivante.

Il y a aussi des problèmes d’organisation dus aux changements de GIMP. J’ai fait des choix d’organisation simple mais très répétitive à cause de fonctionnalités absentes. Par exemple pour l’export de certaines images une par une, ou encore parce que GIMP ne permettait pas de sélectionner plusieurs calques à la fois, j’avais fait des choix organisationnels pour pallier ces manques. Entre-temps, beaucoup de développement a été fait, donc je réorganise maintenant mieux certaines logiques simples pour les rendre plus efficaces, ce qui me prend du temps. En outre, puisque la prévisualisation implique du montage, je travaille beaucoup avec GIMP et Blender donc l’organisation des fichiers du projet doit être irréprochable pour ne pas s’y perdre.

Idéalement Blender pourrait lire les XCF dans le VSE et permettre d’en utiliser les calques indépendamment. Cela éviterait énormément d’étapes. Pour l’instant, lorsque je change le moindre détail, si je ne fais pas attention, l’organisation des fichiers risque de devenir chaotique.

Je règle aussi en ce moment des problèmes non vus en pré-production, par exemple lorsque je me rends compte que certains fonds ne coïncident pas bien entre deux séquences. Je découvre de telles erreurs lors du montage et me demande souvent si je dois continuer à les corriger ou juste les laisser passer. Tous ces petits choix et travaux ralentissent énormément ma progression. En fait c’est le problème quand une seule personne fait tous les rôles. Le rôle de directeur a une vision d’ensemble du projet alors que l’animateur a une vision détaillée. En mélangeant ces rôles, on se mêle les pinceaux et on a du mal à avoir les deux visions en même temps.

Quand j’aurais fini la prévisualisation, il me restera l’in-between2, la colorisation, les fonds et le rendu final.

Pour le dessin et la colorisation, j’utilise essentiellement GIMP et pour le montage Blender. De temps en temps, quand Blender VSE est un peu trop compliqué, j’utilise un peu Synfig aussi.

Pour finir

Quelle est ta distribution GNU/Linux préférée et pourquoi, quels sont tes logiciels libres préférés hormis GIMP ?

J’utilise Fedora et j’ai aussi utilisé Mint. Je n’essaie pas trop d’autres distributions. Mes logiciels préférés, hors GIMP, sont Inkscape, LibreOffice, Blender, Firefox, Synfig, etc.

Quels autres logiciels utilises-tu ?

En dehors des logiciels de graphisme, j’utilise Libre Office et Firefox le plus. J’ai utilisé aussi un peu Virtual Box et Sweet Home 3D. J’aime bien tester divers logiciels aussi.

Quelle question aurais-tu adoré qu’on te pose ? (évidemment tu peux y répondre).

Il n’y a pas vraiment de question supplémentaire à laquelle j’aurais voulu répondre.

Quelle question aurais-tu détesté qu’on te pose ? (en espérant que je ne te l’ai pas posée).

Là non plus, pas de question en particulier.

Merci beaucoup !

  1. N. D. M. : en français « crayon gras ». Dans Blender (EN), l’objet « grease pencil » est un outil qui permet de dessiner dans l’espace en 3D. On peut l’utiliser pour faire de l’animation 2D traditionnelle, de l’animation découpée, des graphiques de mouvement ou l’utiliser comme outil de storyboard, entre autres. 

  2. N. D. M. : en français « intervalle ». Cela consiste à dessiner les dessins manquants pour les animations, en gros les mouvements intermédiaires, ce qui les rend plus fluides. Le métier d’intervalliste est un métier à part entière dans le film d’animation. 

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

25 juillet, 2021 - 08:50

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

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

Sommaire [BE Liege] Café Crypté - ateliers d’autodéfense numérique - Le lundi 26 juillet 2021 de 13h30 à 17h30.

Le Café crypté est un moment collectif qui se tient chaque mois durant lequel nous tentons résolument de limiter la casse dans notre utilisation des outils numériques et connectés pour celles et ceux qui se sentent obliger de les utiliser.

Le Café tente de lever le voile sur les motifs et stratégies de vol et d’exploitation de nos données privées par la surveillance de masse des multinationales numériques (GAFAM) et des états (qu’ils soient dits démocratiques ou non).

Le Café cherche à partager et construire des stratégies et pratiques d’autodéfense numérique afin de se prémunir de ces intrusions diverses et permanentes afin notamment de rappeler que le droit à l’anonymat est un droit qui ne se négocie pas.

Le Café est technique mais pas excluant, il est politique mais pas partisan, il est complexe mais pas compliqué et, bien sur, il est collaboratif mais pas contraignant.

Actuellement (en 2020-2021), les cafés cryptés se produisent tous les derniers samedi du mois, de septembre à juin entre 13h30 et 17h30 à la Cafétéria Collective Kali (rue Saint Thomas 32 à Liège)

Venez quand vous voulez, l’espace et le bar sont ouverts.

(oui, le café crypté fait aussi le café)

Si vous voulez continuer à discuter de tout ça hors des cafés, vous pouvez discuter avec l’adresse crypto@bawet.org (et la personne qui est derrière bien sur)

Et, tous les documents que le café produit ainsi que les notes des cafés se trouvent ici : cloud.domainepublic.net/bawet/s/aq4GPibwDPrWA7G

[FR Chambéry] Mapathon Missing Maps en ligne - Le lundi 26 juillet 2021 de 18h00 à 20h00.

Un mapathon c’est quoi ? C’est un atelier en ligne de cartographie solidaire et participative en soutien aux organisations humanitaires et/ou de développement.

CartONG organise ce mapathon dans le cadre du projet Missing Maps visant à cartographier toutes les zones encore invisibles sur les cartes, qui permettent par la suite aux communautés locales et acteur·rice·s de l’humanitaire et du développement de pouvoir agir plus efficacement en cas de crise ou initier des projets de développement local.

Avec quel outil ? La plateforme de cartographie libre et contributive OpenStreetMap(OSM, le « Wikipédia des cartes ») où tout le monde peut participer à la cartographie de n’importe quelle zone de la planète : il suffit d’un ordinateur, d’une souris et d’une connexion internet ! Aucune connaissance en cartographie ou en informatique n’est requise.

Grâce à la couverture globale d’images satellites disponibles aujourd’hui, il est possible de tracer facilement routes, bâtiments ou cours d’eau, autant d’informations très utiles pour les organisations humanitaires et de développement sur le terrain.

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

Pour s’inscrire : https://www.eventbrite.com/e/billets-en-ligne-mapathons-missing-maps-2021-133090064967

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

Visioconférences Monnaie Libre chaque lundi à 21h !

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

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

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

Pourquoi créer une monnaie libre ?

Pour répondre à de nombreux problèmes…

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

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

Réapprenons à vivre ensemble !

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

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

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

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

Par avance merci de partager et pour votre future participation.

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

[FR Quimper] Entrée Libre #2 - Du mercredi 28 juillet 2021 à 10h00 au samedi 31 juillet 2021 à 20h00.

4 jours de conférences et d’ateliers pour ne plus se sentir démuni avec le numérique

Le Centre des Abeilles souhaite organiser “Entrée Libre #2”, un événement gratuit, sur 4 jours, entièrement axé sur le numérique et le partage de connaissances afin de vous accompagner et de dédramatiser vos usages d’internet. Depuis la crise du Covid-19, jamais internet n’a eu un tel pouvoir et une telle nécessité d’exister et d’être utilisé par tous, il est toutefois important de mettre en avant les risques et les pièges qui existent.

Entrée Libre #2 vous aidera à :

  • Comprendre le fonctionnement d’internet
  • Utiliser le numérique en connaissance de cause
  • Choisir et comprendre vos applications
  • Découvrir Internet et le numérique à travers des conférences
  • Utiliser des outils collaboratifs et protéger votre vie privée grâce à des ateliers pratiques et concrets

Plus d’information sur cet évènement >>> https://entreelibre.frama.site/

Le programme est déjà prêt (voir ci-dessous), les conférenciers et animateurs ont bloqué leurs dates… Mais il nous manque 4 000€ au pour clore le budget… un financement participatif est donc lancé ! Cette somme est entièrement dédiée aux frais de transports, de logement et de nourriture des 35 intervenants, tous bénévoles.

Pour contribuer, allez sur >>>>  https://www.helloasso.com/associations/centre-des-abeilles/collectes/entreelibre-2

[BE Laeken] Mercredi Libre - Le mercredi 28 juillet 2021 de 10h00 à 18h00.

Faire du chemin vers l’utilisation du chiffrement sur du open hardware fonctionnant avec des distributions GNU/Linux intolérantes envers les binaires privateurs et les services hyper-centralisés nous semble suffisamment pertinent pour y consacrer du temps.

Tout commence par une envie … le reste dépend de vous.

[FR Le Mans] Permanence du mercredi - Le mercredi 28 juillet 2021 de 12h15 à 17h00.

Assistance technique et démonstration concernant les logiciels libres.

 Attention, jauge réduite, réservez votre place par contact@linuxmaine.org

(planning des réservations consultableici)

[FR Clermont-Ferrand] Rencontre OSM - Le mercredi 28 juillet 2021 de 18h30 à 20h30.

Après une première rencontre riche en échanges, les contributeurs et contributrices à OpenStreetMap de Clermont-Ferrand se retrouveront le 28 juillet 2021 pour une deuxième rencontre, avec l’idée de se retrouver tous les derniers mercredi de chaque mois.

Cette deuxième rencontre sera l’occasion de découvrir les outils de contribution accessibles aux personnes qui découvrent OpenStreetMap, suivant les besoins et envies de chacun·e: StreetComplete, Vespucci, iD, josm…

Rendez-vous à 18h30 sur le campus des Cézeaux, place Vasarely.

[BE Laeken] Jeudi Libre - Le jeudi 29 juillet 2021 de 10h00 à 18h00.

Faire du chemin vers l’utilisation du chiffrement sur du open hardware fonctionnant avec des distributions GNU/Linux intolérantes envers les binaires privateurs et les services hyper-centralisés nous semble suffisamment pertinent pour y consacrer du temps.

Tout commence par une envie … le reste dépend de vous.

[FR Quimper] Rencontres Linuxiennes - Le jeudi 29 juillet 2021 de 16h00 à 18h00.

Se faire aider, ou aider, à installer, paramétrer, réparer un ordi sous Linux, pour tout le monde mais en particulier les bénéficiaires de la redistribution gratuite d’ordinateurs sous Linux faite par le Centre des Abeilles

[internet] Permanence du Libre en ligne - Le vendredi 30 juillet 2021 de 21h15 à 22h45.

Il n’est pas toujours évident de suivre un tutoriel technique et d’apprendre seul sans pouvoir poser des questions ou interagir, surtout depuis les diverses restrictions depuis un an.

Je vous propose donc de venir assister, en ligne (youtube et twitch), aux Permanences du Libre en streaming, accessibles à tous, sans inscriptions, tous les vendredi à 21h15 jusque 22h45 maximum.

Le prochain épisode concerne l’exploration de la distribution GNU/Linux «Kaisen Linux».

Les sessions seront enregistrées et accessibles ensuite sur Youtube (et limitées à 2 semaines sur Twitch).

Vous pourrez poser des questions sur le chat et faire les opérations en même temps.

Je suis ouvert aux suggestions d’idées pour les futures permanences.

Le site internet affiche l’agenda des futures permanences et les liens Youtube/Twitch.

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

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

Pendant ces rencontres, informelles,

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

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

(*) : mais on vous expliquera

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie d’Erlang/OTP 24

23 juillet, 2021 - 18:37

À l’occasion de la sortie d’Erlang/OTP 24, le 12 mai 2021, je voudrais vous présenter cet environnement de programmation : le langage Erlang et son écosystème.

Écosystème

Erlang/OTP est la partie centrale d’un écosystème constitué de langages (fonctionnels), d’environnement d’exécution (machine virtuelle, JIT, etc.) et de bibliothèques standards.

Langages

Le langage Erlang, dont la première version date de 1987, a été développé originellement chez Ericsson pour programmer des commutateurs. Il est devenu open source en 1998. Ses premiers auteurs étaient Joe Armstrong et Robert Virding. Erlang a longtemps été connu pour sa robustesse : l’ATM AXD 301 d’Ericsson, programmé en erlang, a démontré offrir un taux de disponibilité de 99,9999999% (« neuf neufs »).

Ses principales caractéristiques :

  • une syntaxe inspirée de Prolog ;
  • le partage de données par passage de message ;
  • une gestion explicite du temps.

La syntaxe ayant été longtemps considérée comme un point faible, une trentaine de langages ont été ensuite développés qui bénéficient du même environnement d’exécution et offrent un certain niveau de compatibilité entre eux (réutilisation des bibliothèques), par exemple :

  • Elixir : inspiré par Ruby et offrant de larges possibilités de méta-programmation ;
  • lfe : inspiré par LISP ;
  • hamler : inspiré par Haskell.
Environnement d’exécution

Jusqu’à Erlang/OTP 23, l’environnement d’exécution le plus courant s’appelait la BEAM. C’est une machine virtuelle qui interprète le bytecode généré, par exemple, par le compilateur Erlang dont les principales caractéristiques sont :

  • distribution : plusieurs instances (« node ») de BEAM peuvent communiquer entre eux. Le passage de message entre processus erlang se fait de manière transparente au sein d’un même nœuds ou entre différents nœuds ;
  • immutabilité : l’immutabilité des variables est gérée par BEAM ;
  • remplacement de code à chaud : chaque pièce de code peut être remplacée à chaud, à l’échelle du module, la bibliothèque standard offrant des mécanismes pour gérer la migration de structure de données d’une version d’un module à l’autre, le cas échéant ;
  • gestion des threads : bien avant Go ou Scala, BEAM a intégré la gestion de threads ultra-léger, permise par le côté fonctionnel du langage. L’absence de structures partagées entre les processus permet une gestion ultra optimisée.

À propos des threads, Joe Armstrong avait publié un benchmark Java/Erlang pour comparer la gestion des threads. Vous pouvez trouver ici une version mise à jour du code Java, accompagnée de mises en œuvres dans d’autres langages du même algorithme. Sur une même machine, la version Java fait exploser le noyau Linux à quelques milliers de threads, quand BEAM supporte plusieurs millions de threads.

À part BEAM, le code Erlang peut être exécuté :

  • nativement, grâce au compilateur HiPE ;
  • grâce à un compilateur JIT ;
  • sur d’autres environnements d’exécutions par des projets plus ou moins maintenus, plus ou moins expérimentaux : erjang (erlang on JVM), Jerlang (erlang on JVM), erlscripten (Javascript), etc.
Bibliothèques standards

L’ensemble de bibliothèques standards pour Erlang s’appelle OTP (pour « Open Telephony Platform »). Parmi ses nombreuses bibliothèques, on peut citer, outre les classiques structures de données :

  • outils de développement/d’exécution : eunit (tests), système de releases, compilateur, génération de documentation, profiling, debugger distribué, analyseur statique de code, shell avec interpréteur ;
  • protocoles réseaux: SNMP, SSH (serveur/client), HTTP (serveur/client), LDAP, FTP, TFTP, etc. ;
  • base de données relationnelle distribuée : mnesia, totalement intégrée au langage, elle peut remplacer une base SQL classique pour des volumes de données modérés (< 2GB / table).
Applications

Au vu de ses caractéristiques, il semble naturel que le langage Erlang soit présent dans les infrastructures réseau et moins sur votre « desktop ». Les applications open source les plus connues sont :

  • MongooseIM / ejabberd: serveur XMPP hautement distribue, rendu populaire par son déploiement par WhatsApp ;
  • RabbitMQ, une mise en œuvre de AMQP (entre autres protocoles pris en charge) ;
  • CouchDB, base de données NoSQL distribuée.
Erlang/OTP 24 Compilation / environnement d’exécution

La principale nouveauté d’Erlang/OTP 24 est l’activation du JIT sur les architectures x86_64.

Réseau
  • Support de FTPES (« Explicit FTP over TLS ») ;
  • support de certificats EdDSA pour les connexions TLS ;
  • poignée de main TLS exécutée en parallèle.
Graphique

Ce n’est pas l’aspect le plus connu d’Erlang, mais OTP intègre depuis longtemps un binding WxWidget pour développer des interfaces graphiques :

  • migration vers wxWidgets 3 ;
  • ajoute le support de wxWebView.
Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie du noyau Linux 5.13

21 juillet, 2021 - 16:41

Les dépêches noyau linuxfr sont de retour. S'il sera compliqué de rattraper le retard sur les noyaux 5 (la dépêche pour le noyau 5.1 date de mai 2019), nous commençons par combler le retard doucement, en introduisant cette présentation d'un noyau de 2021.

C’est ainsi que le 27 juin 2021 est sorti le noyau Linux 5.13, coincé entre l’actualité sur la capitalisation boursière de Facebook qui dépasse les 1000 milliards et un variant Delta qui commence à prendre de l’ampleur sur fond de record au Nasdaq.

Linus nous annonce que malgré le calme de ces dernières semaines, globalement, la version 5.13 est une version plutôt importante. Avec plus de 16 000 commits de plus de 2 000 développeurs impliqués, elle fait partie des grosses versions. Et ce n’est pas, comme parfois, une intégration d’une nouvelle technologie, mais juste une tendance globale pour l'ensemble du noyau.

Architectures M1

Cette version apporte les premières briques pour l’intégration du processeur maison d’Apple, le M1. C’est une prise en charge préliminaire, et qui permet de poser les bases.

ARM

Prise en charge de nouveaux matériels :

  • le NanoPi R4S sur base de RK3399 ;
  • les processeurs Qualcomm SC7280, utilisés dans certains ordinateurs de type Chromebook ou Windows ARM ;
  • les téléphones OnePlus 5/5T (sur base Qualcomm MSM8998) ;
  • le kit de développement Snapdragon 888 Mobile ;
  • la tablette reMarkable (sur base NXP i.MX 7).
Intel

Un nouveau pilote de gestion de la température (Intel Cooling Driver) pour les processeurs Intel permet de définir un seuil de température différent du seuil par défaut pour réduire la fréquence du processeur.

Pilotes logiciel

Un nettoyage a été effectué au niveau des pilotes logiciels, incluant un certain nombre de périphérique WiMax, le framework Google gasket, les pilotes sysace et umem ainsi que certains vieux pilotes de port série. Notons aussi la suppression du fichier de bloc spécial /dev/kmem.

Dans les ajouts notables (ou visibles), on peut noter qu’après l’inclusion de pilotes pour les manettes Sony DualShock et Nintendo 64 dans le noyau 5.12, nous avons droit dans ce noyau à l’ajout du contrôleur Amazon Luna.

L’Apple Magic Mouse 2 reçoit aussi une amélioration de son pilote, via l’ajout du multitouch, ainsi qu’une supervision du niveau de la batterie.

Sécurité

Inclusion de Landlock, un nouveau module de sécurité, qui vient s’ajouter aux modules existants, pour mieux gérer la portée des processus. Son inclusion survient après 34 révisions et des années de développement.

Temps réel

Le noyau se voit adjoindre un développement venant de la branche RT Preemptive, via l’ajout des interruptions logicielles en espace noyau via un thread dédié, qui peut alors respecter une priorité spécifique, comme n’importe quel autre processus.

Statistiques Statistiques des noyaux de la série v5.x

Statistiques des noyaux de la série v5.13-rcX

(Nous excluons la rc1 qui correspond à la fenêtre de merge)

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

20 juillet, 2021 - 16:32

Cette revue de presse sur Internet fait partie du travail de veille mené par l'April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l'April.

Darktable 3.6 est enfin là

19 juillet, 2021 - 21:51

La version tant attendue du fameux logiciel de gestion de collection photos et développement de fichiers RAW est sortie en version 3.6, le 3 juillet. Toujours sous licence GPLv3.

Il apporte bon nombres de nouveautés, d’optimisations, de correction de bug.
De nouveaux boîtiers sont supportés dont le très populaire Z6 II de Nikon.

Réglée comme du papier à musique, cette summer release est pile dans les clous pour nous permettre de déclencher sereinement tout au long des vacances avec la promesse d’avoir de quoi sublimer nos photos une fois rentrés à la maison.

Happy shooting.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

La fin de la vie privée pour la correspondance numérique

19 juillet, 2021 - 13:51

Le 6 juillet a été voté une loi européenne dite "ePrivacy" qui instaure de manière dérogatoire (durée maximum de trois ans) une surveillance automatisée de masse des échanges numériques afin de lutter contre la pédopornographie.
À cette occasion l'eurodéputé Patrick Breyer (membre du Parti Pirate allemand) a écrit un article de blog intitulé "La fin de la vie privée pour la correspondance numérique". Cette dépêche propose une traduction en français de l'article de blog.

Sommaire La fin de la vie privée pour la correspondance numérique

L'UE veut que l'intégralité de vos discussions, messages et courriels privés soient automatiquement analysés vis-à-vis d'un contenu suspect, et ce de manière globale et indiscriminée. Le motif annoncé : traquer la pédopornographie. Le résultat : une surveillance de masse à travers l'analyse des messageries instantanées, et la fin du secret de la correspondance numérique. Le 26 mai une majorité d'eurodéputés du groupe LIBE ont validé l'usage volontaire de moyens de contrôle des discussions par les fournisseurs de services en ligne. Puis une majorité des eurodéputés on adopté la loi sur le contrôle des discussions le 6 juillet 2021.

Le contrôle 2.0 arrive bientôt

Mais ce n’est pas la fin de l’histoire : pour l’automne 2021, la Commission Européenne a annoncé qu’elle allait proposer une loi rendant le contrôle des discussions obligatoire pour tous les fournisseurs de courriel et messageries instantanées. Cette législation pourrait alors affecter les communications chiffrées de bout-en-bout. Pour autant, une consultation publique lancée par la Commission sur ce sujet a montré que la vaste majorité des interrogés, à la fois les citoyens et les parties prenantes, sont opposés à une obligation du contrôle des discussions. Plus de 80 % des interrogés sont opposés à son application pour les communications chiffrées de bout-en-bout. En conséquence, la Commission a reporté l’ébauche de loi initialement prévue pour juillet en septembre 2021.

Comment en est-on arrivés là ?

En 2020 la Commission Européenne a proposé une législation « temporaire » visant à autoriser la recherche de représentations illégales de mineurs et de tentatives de prise de contacts avec des mineurs dans toutes les conversations et courriels privés. Cela pour permettre aux fournisseurs de Facebook Messenger, Gmail et compagnie de scanner chaque message à la recherche d'images ou de textes suspects. Cela s'inscrit dans un processus entièrement automatisé reposant sur une « intelligence artificielle » sujette aux erreurs. Si un algorithme considère un message comme suspicieux, son contenu et méta-données sont révélés automatiquement, sans vérification humaine, à une organisation privée basée aux États-Unis, puis aux autorités de police du monde entier. Les utilisateurs dénoncés ne sont pas notifiés.

Certains fournisseurs de services tels que Gmail et Outlook.com pratiquent déjà un tel contrôle automatisé des messages et chats. Grâce à un deuxième acte législatif, la Commission Européenne entend obliger tout les fournisseurs de messagerie et courriel à déployer ces technologies de surveillance de masse. Dans le même temps, une enquête représentative réalisée en mars 2021 a montré clairement que la majorité des européens sont opposés au contrôle des conversations (résultats détaillés ).

En quoi ça me concerne ?
  • L'intégralité de vos conversations et courriels feront automatiquement l'objet d'une recherche de contenu suspect. Rien ne restera confidentiel ou secret. Aucun mandat judiciaire ou suspicion initiale n'est nécessaire pour que vos messages soient analysés. Cela se déroule automatiquement et en continu.

  • Si un algorithme considère un contenu d'un de vos messages comme suspect, vos photos privées ou intimes pourront être visionnées par les employés de firmes privées et les autorités de police. De même pour vos photos dénudées qui pourront être vues par des tiers à votre insu.

  • Vos flirts et échanges érotiques pourront être lus par le personnel et sous-traitants d'organisations internationales et les autorités de police, car les filtres de reconnaissance de textes cherchant à attirer les enfants retiennent fréquemment les discussions intimes.

  • Vous pourrez, à tort, être dénoncés et faire l’objet d’investigation pour diffusion de médias pédopornographiques. Les algorithmes de contrôle des discussions sont connus par exemple pour fournir de faux résultats sur les photos de vos enfants à la plage en vacances. Selon la police fédérale suisse, 86 % des alertes générés par les algorithmes se révèlent être infondés. 40 % de toutes les procédures d’investigation concernant la pédopornographie initiées en Allemagne ont abouti vers des mineurs.

  • Lors de votre prochain voyage au delà des frontières, vous pouvez vous attendre à des surprises. Les rapports générés automatiquement sur vos communications peuvent avoir été transmis aux autres pays, tels que les États-Unis, où il n'y a pas de protection de la vie privée, avec des conséquences impensables.

  • Les services secrets et hackers pourront être en mesure d'espionner vos conversations et courriels. La porte sera ouverte pour quiconque disposant des moyens techniques d'accéder à vos messages, si le chiffrement doit être annihilé pour rendre la surveillance possible.

  • Ce n'est que le début. Une fois la technique de surveillance de vos messages mise en place, il devient trivial de l'utiliser à d'autres fins. Et qui peut garantir que ces machines à dénoncer ne seront pas utilisées directement sur nos téléphones et ordinateurs portables dans le futur ?

Le déroulement des opérations

Le trilogue sur le projet de loi, qui est une négociation entre les députés du Parlement Européen et les gouvernements des états membres de l'UE avec la participation de la Commission Européenne, s'est achevé en mai. La surveillance volontaire des conversations va arriver ! Ici se trouve ma conférence de presse sur l'issue des négociations. Le vote final au Parlement Européen est planifié (NdT: et a eu lieu) le 6 juillet.

À l'automne 2021 la Commission Européenne entend proposer un second volet législatif, cette fois pour forcer tous les fournisseurs de messageries à rechercher dans l'intégralité des messages toute trace suspicieuse.

D’après une jurisprudence de la Cour de Justice Européenne, l’analyse permanente et sans limite des communications privées constitue une violation des droits fondamentaux et est à ce titre proscrite (§177). Pour cette raison, en tant que membre du Parlement Européen, Patrick Breyer a déposé avec les autorités de protection des données une plainte envers les entreprises U.S. Facebook et Google pour violation du Règlement Général sur la Protection des Données. L’ex-juge de la Cour de Justice Européenne Professeur Ninon Colneric a examiné en détail le projet et est parvenu à la conclusion que le projet législatif de l’UE n’est pas compatible avec la jurisprudence de la Cour de Justice et viole les droits fondamentaux de l’ensemble des citoyens européens en matière de respect de la vie privée, de protection des données et de la liberté d’expression.

Les dates à venir

Attendu à l'automne 2021 : proposition de la Commission rendant obligatoire la surveillance des discussions pour tous les fournisseurs de services en ligne

Que faire ?
  • Parlez-en ! Informez les autres des dangers du contrôle des conversations. Vous pourrez trouver ici des modèles de tweet, illustrations et vidéos. Naturellement vous pouvez également créer vos propres images et vidéos.

  • Attirez l'attention dans les réseaux sociaux ! Utilisez les hashtags #chatcontrol et #secrecyofcorrespondence

  • Sollicitez vos représentants au parlement ! Si vous le souhaitez, vous pouvez utiliser les modèles à cet effet. Cependant, l'expérience a montré que les courriers formulés soi-même ont un plus grand effet.

  • Attirez l'attention des médias ! Jusqu'ici très peu de médias ont couvert les plans de l'UE de contrôler les messageries et conversations. Rentrez en contact avec des journaux, qu'ils soient papier ou en ligne, et demandez leur de couvrir le sujet.

  • Demandez à vos fournisseurs de courriel et messageries instantanées ! Fuyez Gmail, Facebook Messenger, outlook.com et la messagerie de la X-Box pour lesquels le contrôle des conversations est déjà en place. Demandez à vos fournisseurs de courriel et messagerie instantanée s'ils surveillent de manière globale les conversations privées pour du contenu suspicieux, ou s'ils comptent le faire.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Des outils de téléconférence libres, sobres et souverains

19 juillet, 2021 - 13:11

Le travail à distance forcé a fortement augmenté notre dépendance aux outils numériques, et bien souvent au détriment des principes de liberté, sobriété, et souveraineté numériques.

C’est particulièrement vrai dans l’enseignement supérieur et la recherche, qui en grande majorité ne sont plus réputés fonctionner sans le concours de logiciels propriétaires tournant sur des serveurs privés et étrangers, gérés par des entreprises à l’éthique pourtant plusieurs fois décriée (j’ai nommé Zoom et Microsoft, cette dernière offrant le service Teams).

L’erreur à la base de cette situation me semble d’avoir accepté la vidéoconférence comme allant de soi. À rebours de l’orgie numérique, je propose ici un outil de supports visuels pour conférences en ligne en direct qui n’utilise pas de vidéo.

Nous allons voir qu’il en résulte un outil efficace tout en restant libre et sobre, et qui par là peut être souverain pour des institutions aux ressources limitées.

Sommaire Contexte

Pendant la pandémie de COVID-19, les chercheurs et les enseignants de nombreux pays ont été forcés de travailler à distance. Les institutions ont beaucoup insisté sur une prétendue « continuité », et généralement sans prévoir de formation ou même d’investissement matériel. Les acteurs ont donc dû s’adapter sur un temps très court et avec leurs propres moyens. À cela s’ajoute le paradigme socio-technologique actuel, qui tend à faire croire à la toute puissance des outils numériques. En conséquence de quoi, beaucoup d’acteurs ont pensé pouvoir remplacer la présence physique et l’équipement matériel par la télécommunication et des outils numériques.

Dans certains cas, en particulier pour les actes pédagogiques dirigés vers des étudiants jeunes, ou en grands effectifs, cette approche s’est révélée un échec. Dans d’autres cas, en particulier pour des réunions professionnelles ou des conférences de recherche internationales, cela a semblé être une belle opportunité pour réduire les coûts financiers et écologiques de ces évènements.

Mais dans tous les cas, l’utilisation presque systématique de la vidéoconférence présente des inconvénients importants. Le format numérique de la vidéo, c’est-à-dire un flux de plusieurs images par secondes capturées soit par une caméra soit par une application graphique, n’est pas vraiment adapté au support visuel de la plupart des situations ; la raison principale étant qu’il est trop gourmand en ressources de calcul et réseaux.

Cela se traduit en termes d’écologie, d’accessibilité et de liberté. Écologie car des machines et des réseaux puissants requièrent des matériaux rares, des grosses infrastructures et de l’énergie. Accessibilité car tout le monde n’a pas accès à ces ressources. Liberté parce que jusqu’à présent, les institutions capables de servir des vidéoconférences à grande échelle et de façon ergonomique sont toutes des entreprises privées, qui mettent en œuvre des logiciels propriétaires sur leurs propres serveurs ; des matériels et logiciels sur lesquels l’utilisateur final n’a en pratique aucun contrôle.

Concrètement, la plupart de l’enseignement supérieur et de la recherche publique en France pendant l’année académique 2020–2021 dépendait de Zoom ou Teams, malgré des recommandations officielles à leur encontre.

Actuellement, la vidéoconférence requiert tellement de ressources que beaucoup d’utilisateurs subissent encore des problèmes de latence et des images de médiocre qualité. Au minimum, il serait plus judicieux de diffuser un flux de caractères pour du texte et des images vectorielles pour des dessins.

Le logiciel

Pour toutes ces raisons, j’ai écrit un logiciel libre (GPLv3) et sobre qui fournit des supports visuels pour des conférences en ligne en direct. Il s’agit d’un serveur Node.js très simple, qui utilise socket.io pour les interactions et communications, comprenant les outils suivants : défilement et annotation de diapositives, tableau de texte formaté, et diffusion de terminal virtuel ; détaillés ci-dessous.

Dans sa forme actuelle, il ne s’agit que d’une preuve de concept, et non d’un logiciel prêt à être déployé, mais il peut d’ores et déjà être utilisé par quiconque muni d’un port ouvert sur la Toile ; il m’est même arrivé de l’héberger chez moi, en servant simultanément des dizaines d’étudiants sur une simple liaison numérique asymétrique.

Avant d’aller plus loin, il faut souligner que ces outils ne sont que des supports visuels, et qu’ils ne permettent pas aux auditeurs d’interagir avec le conférencier. Ils sont conçus pour être utilisés en conjonction avec un logiciel de voix sur IP. Des solutions libres et relativement légères existent déjà, qui permettent en sus des discussions textuelles instantanées, ou de gérer des groupes de discussion sophistiqués pour simuler des salles différentes ; voir en particulier le logiciel Mumble.

Le code source complet et une documentation succincte se trouvent sur mon dépôt GitLab dédié.

Défilement et annotation de diapositives

À travers cet outil, le conférencier diffuse une série d’images qu’il peut annoter en direct.

Le conférencier passe à la diapositive précédente ou suivante avec les touches flèches gauche et droite, saute dix diapositives d’un coup avec les touches flèches haut et bas, saute à la dernière diapositive avec la touche page suivante et revient à la diapositive précédemment diffusée avec la touche page précédente.

Le système d’annotation utilise des outils de dessin rudimentaires inspirés du très bon tableau collaboratif en ligne WBO.

Chaque diapositive possède ses propres annotations : les annotations sur une diapositive n’apparaissent pas sur une autre, mais elles sont mises en mémoire et affichées de nouveau si le conférencier revient sur la diapositive.

Il est possible d’effacer des annotations individuelles, toutes les annotations sur une diapositive, ou toutes les annotations du diaporama. Il est aussi possible d’ajouter à volonté des diapositives vierges à la fin du diaporama, ce qui permet en particulier aux utilisateurs de stylets sur tablettes d’avoir une série de tableaux blancs sur lesquels ils peuvent dessiner librement, et entre lesquels il est facile de faire naviguer l’auditoire.

Interface d’un conférencier Vue d’un auditeur

Terminons cette présentation succincte en remarquant qu’il peut y avoir plusieurs conférenciers simultanément. Il est utile de mentionner aussi que pour le moment, les diapositives doivent être au format SVG, et présentes au démarrage du serveur. L’étape de développement suivante est bien sûr de donner la possibilité au conférencier de téléverser des diapositives supplémentaires depuis l’interface en ligne, et si possible accepter les documents PDF.

Tableau de texte formaté

Cet outil permet au conférencier de développer un support visuel textuel en direct, avec des aides typographiques pour les formules mathématiques et la coloration syntaxique de code source.

Le tableau est divisé en deux colonnes, chacune étant associée à un fichier, affichant son contenu à mesure qu’il est modifié. Ces fichiers sont interprétés comme du HTML, et peuvent donc contenir n’importe quelle balise standard. En sus, une balise spéciale <pw> est configurée avec le style CSS white-space: pre-wrap, permettant d’écrire des espaces et des sauts de ligne librement sans avoir à écrire explicitement des balises.

Les mathématiques peuvent être écrites en direct en utilisant la syntaxe du méconnu mais excellent module JavaScript jqMath. Tout ce qui se trouve entre des caractères dollars sera typographié en mode math, avec en particulier un interpréteur pour écrire facilement des indices et exposants, des lettres en gras ou cursives, et des tables simples. Pour les lettres grecques ou d’autres symboles spéciaux, on peut utiliser des entités HTML ou même écrire directement des caractères Unicode.

Notons au passage que cette fonctionnalité est probablement aussi possible avec le populaire module JavaScript MathJax ; mais ce dernier est trop puissant pour l’emploi qu’on en fait ici, où la sobriété est privilégiée.

Enfin, la coloration syntaxique de code source est fournie par le module JavaScript Prism, qui utilise la balise <code>. Différents langages peuvent être personnalisés à l’aide de simples fichiers de configuration.

Exemple de tableau de texte formaté

Extrait du fichier générant la colonne de gauche

<b>Exercice 30</b> <br/> <br/> Suite de Fibonacci : $u_0 = u_1 = 1$ et $∀ n ≥ 2, u_n = u_{n - 1} + u_{n - 2}$. <br/> <br/> (a) Il s'agit d'une <i>suite récurrente linéaire d'ordre deux</i>, de polynôme caractéristique $X^2 - X - 1$, dont les racines sont $r_1 = {1 - √{5}}/{2}$ et $r_2 = {1 + √{5}}/{2} = φ$ (le nombre d'or). Or $│r_1│ < 1$, donc ${r_1}^{n} {→}↙{n → +∞} 0$, et on déduit $u_n = \Θ(φ^{n})$. <br/> <br/> (b) <pre><code class="lang-pseudo"> Algorithme Fibonacci : n → u selon Si n ≤ 1 alors u ← 1 sinon u ← Fibonacci(n − 1) + Fibonacci(n − 2) . . </code></pre> <br/>

Il faut remarquer que le conférencier doit écrire directement dans les fichiers, via un accès physique au serveur ou une connexion tunnel. De plus, pour une expérience de temps réel, l’éditeur de texte doit écrire chaque modification dans les fichiers à la volée. Enfin, il est recommandé d’utiliser deux moniteurs pour afficher à la fois l’éditeur de texte modifiant le fichier, et le tableau résultant dans un navigateur.

Ces contraintes sont un peu lourdes au conférencier novice, mais procurent en même temps la liberté d’utiliser son éditeur de texte favori, ce qui devrait être apprécié par les utilisateurs aguerris ; voir par exemple mon plugin Vim.

Diffusion de terminal virtuel

Cet outil s’adresse plus spécifiquement aux informaticiens ; que ce soit pour enseigner la programmation ou l’administration système, ou pour raisonner à plusieurs sur la sortie d’un programme interactif en ligne de commande. Il permet d’afficher en direct le contenu d’un terminal virtuel directement sur le navigateur des clients connectés.

Le conférencier doit rediriger la sortie brute du terminal, telle que capturée par un logiciel tel que Script, vers un tube nommé. Un tel flux peut être interprété et affiché dans un navigateur via le module JavaScript Xterm.js.

Terminal hébergeant Vim, pavé de deux fenêtres d’édition de fichier et d’un terminal virtuel intégré

Encore une fois, cela nécessite un accès au serveur soit physique, soit via une connexion tunnel. Il est utile de mentionner que l’expérience est optimale dans un navigateur à 100 % de zoom et en plein écran (touche tabulation pour les conférenciers, n’importe quelle touche ou clic de souris pour les auditeurs). Enfin, plusieurs utilisateurs peuvent rediriger simultanément la sortie de leur terminal vers le tube nommé dont le flux est passé à l’instance de terminal Xterm.js, chacun pouvant ainsi faire part de son expérience à l’auditoire à tour de rôle.

Conclusion

J’ai démontré qu’il est possible de diffuser en direct, à un auditoire nombreux, des supports visuels de qualité tout en restant libre et sobre. J’espère que cette preuve de concept donnera envie à quiconque concerné d’essayer et d’éprouver le logiciel, dans le but de l’améliorer ; mais aussi de le promouvoir au sein des institutions qui souhaitent réellement prendre au sérieux, au-delà des discours de façade, les notions de liberté, sobriété et souveraineté numériques.

Ces réflexions et ce logiciel ont été présentés, avec un point de vue plus spécifique à l’enseignement, au 7ᵉ colloque pédagogique du groupe INSA en mai 2021. Lien vers l’article court correspondant.

Terminons en rappelant, qu’en ce qui concerne l’enseignement, à l’heure actuelle rien ne remplace l’interaction en présence physique. Que mon initiative n’incite en aucun cas à faire des cours à distance dans de mauvaises conditions culturelles, organisationnelles et opérationnelles ; comme cela a été le cas pour la majorité des enseignements primaire, secondaire et supérieur en France durant la crise sanitaire 2020–2021.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

18 juillet, 2021 - 18:40

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

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

Sommaire [FR Chambéry] Mapathon Missing Maps en ligne - Le lundi 19 juillet 2021 de 18h00 à 20h00.

Un mapathon c’est quoi ? C’est un atelier en ligne de cartographie solidaire et participative en soutien aux organisations humanitaires et/ou de développement.

CartONG organise ce mapathon dans le cadre du projet Missing Maps visant à cartographier toutes les zones encore invisibles sur les cartes, qui permettent par la suite aux communautés locales et acteurs et actrices de l’humanitaire et du développement de pouvoir agir plus efficacement en cas de crise ou initier des projets de développement local.

Avec quel outil ? La plateforme de cartographie libre et contributive* [OpenStreetMap *]23674_1 où tout le monde peut participer à la cartographie de n’importe quelle zone de la planète : il suffit d’un ordinateur, d’une souris et d’une connexion internet ! Aucune connaissance en cartographie ou en informatique n’est requise.

Grâce à la couverture globale d’images satellites disponibles aujourd’hui, il est possible de tracer facilement routes, bâtiments ou cours d’eau, autant d’informations très utiles pour les organisations humanitaires et de développement sur le terrain.

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

Pour s’inscrire : https://www.eventbrite.com/e/billets-en-ligne-mapathons-missing-maps-2021-133090064967

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

Visioconférences Monnaie Libre chaque lundi à 21h !

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

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

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

Pourquoi créer une monnaie libre ?

Pour répondre à de nombreux problèmes…

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

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

Réapprenons à vivre ensemble !

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

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

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

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

Par avance merci de partager et pour votre future participation.

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

[FR Grenoble] Install Party + Rencontre FairPhone - Le mardi 20 juillet 2021 de 19h00 à 22h00.

Le but de cette rencontre est que les novices repartent à la fin de la soirée avec leur propre ordinateur fonctionnant sous un nouveau système d’exploitation libre, correctement installé, configuré et agrémenté de nombreux logiciels libres eux aussi.

Au cours de ces réunions, les utilisateurs confirmés tentent de transmettre une partie de leur savoir aux novices, qui deviendront passeurs à leur tour. (Wikipédia ©).

C’est aussi l’occasion pour les utilisateurs de FairPhone pour partager leurs expériences.

Merci de sauvegarder vos données si vous apportez votre machine

[FR Le Mans] Permanence du mercredi - Le mercredi 21 juillet 2021 de 12h15 à 14h00.

Assistance technique et démonstration concernant les logiciels libres.

 Attention, jauge réduite, réservez votre place par contact@linuxmaine.org

(planning des réservations consultable ici)

[FR Quimper] Rencontres Linuxiennes - Le jeudi 22 juillet 2021 de 16h00 à 18h00.

Se faire aider, ou aider, à installer, paramétrer, réparer un ordi sous Linux, pour tout le monde mais en particulier les bénéficiaires de la redistribution gratuite d’ordinateurs sous Linux faite par le Centre des Abeilles

[internet] Permanence du Libre en ligne - Le vendredi 23 juillet 2021 de 21h15 à 22h45.

Il n’est pas toujours évident de suivre un tutoriel technique et d’apprendre seul sans pouvoir poser des questions ou interagir, surtout depuis les diverses restrictions depuis un an.

Je vous propose donc de venir assister, en ligne (youtube et twitch), aux Permanences du Libre en streaming, accessibles à tous, sans inscriptions, tous les vendredi à 21h15 jusque 22h45 maximum.

Le prochain épisode concerne l’exploration de la distribution GNU/Linux « Kaisen Linux ».

Les sessions seront enregistrées et accessibles ensuite sur Youtube (et limitées à 2 semaines sur Twitch).

Vous pourrez poser des questions sur le chat et faire les opérations en même temps.

Je suis ouvert aux suggestions d’idées pour les futures permanences.

Le site internet affiche l’agenda des futures permanences et les liens Youtube/Twitch.

[FR Beauvais] Atelier Logiciels libres - Le samedi 24 juillet 2021 de 11h00 à 12h00.

Cet été, l’association Oisux participe à l’animation de l’Écospace.

Nous proposons 4 samedis en juillet: atelier « logiciels libres » de 11h00 à 12h00 sur le modèle du mercredi soir, puis repas tiré su sac, puis promenade autour du plan d'eau.

Dates : samedis 3, 10, 17 et 24 juillet.
Ci-après les animations dans le programme de la ville de Beauvais.

[FR Saint-Cyr-l'École] Permanences logiciels libres avec Root66 - Le samedi 24 juillet 2021 de 14h00 à 17h00.

Root66 vous propose une permanence Logiciels Libres le samedi 24 juillet

La permanence se tiendra au Centre Pierre Semard à Saint-Cyr-l'École (à deux pas de la gare RER C)

Voici le trajet en photo depuis la sortie de la gare, jusqu’à notre local, pour ne pas vous perdre:
https://frama.link/localr66

Dans cette permanence nous discuterons des logiciels libres, nous vous proposerons un accompagnement technique aux systèmes d’exploitation libres GNU/Linux, et cela afin de vous aider à vous familiariser avec.

Le contenu s’adapte aux problèmes des personnes présentes et permet ainsi l’acquisition de nouvelles compétences au rythme de chacun.

Programme:

Vous pourrez y aborder plusieurs thèmes:

  • Discussions conviviales entre utilisateurs autour de Linux en général
  • Premières explorations du système
  • Installations et configurations complémentaires
  • Mise à jour et installation de nouveaux logiciels
  • Prise en main, découverte et approfondissement du système

Entrée libre et gratuite

Sur place, l’adhésion à l’association est possible mais non obligatoire

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Proxmox Backup Server 2.0 est sorti

17 juillet, 2021 - 10:30

Proxmox Backup Server 2.0 est sorti. Il s'agit d'un logiciel libre (licence AGPLv3) de sauvegarde, orienté vers les machines virtuelles, les conteneurs et et les hôtes physiques. De plus, il prend en charge les sauvegardes incrémentales, entièrement dédupliquées, la compression et le chiffrement authentifié. Cette nouvelle version majeure est basée sur Debian 11 « Bullseye », mais avec un noyau Linux 5.11, et inclut OpenZFS 2.0.

Principales nouveautés de la version 2.0

Le système de sauvegarde sur bandes (qui a été publié en tant qu'aperçu technologique dans Proxmox Backup Server 1.1) est maintenant stable. Il fournit un moyen facile de copier le contenu du ‘datastore’ sur des bandes. Proxmox Backup Server prend en charge les lecteurs Linear Tape-Open generation 5 (LTO-5) ou plus récents, y compris le chiffrement matériel.

L'authentification unique (SSO) est maintenant prise en charge via l'utilisation du protocole OpenID Connect.

Cette nouvelle version bénéficie d'une intégration complète de Let's Encrypt/ACME dans le back-end et le front-end. Cela permet aux administrateurs de créer et de déployer facilement des certificats valides et fiables pour leurs domaines avec l'autorité de certification Let's Encrypt.

L'interface web d'administration dispose maintenant d'une gestion des dépots APT, afin de pouvoir facilement activer et désactiver ces derniers.

Enfin, on notera la prise en charge de la restauration d'un seul fichier pour les VM qui utilisent ZFS ou LVM en interne.

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

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Les daemontools ont 20 ans !

14 juillet, 2021 - 18:32

Ce lundi 12 juillet 2021, nous fêtions l’anniversaire des 20 ans de la 1ʳᵉ version stable des daemontools, qui sont un mécanisme de supervision (ou watchdog) des daemons, décorrélé de l’init.

La raison principale d’être des daemontools était de relancer automatiquement les daemons à sa charge lors d’un plantage.
Pour cela, une mécanique simple mais efficace est utilisée :

  • surveillance d’un dossier, par exemple /etc/service ;
  • pour chaque sous-dossier contenant un fichier run, lancement d’un watchdog qui sera chargé d’exécuter run ;
  • si le sous-dossier contient à nouveau un sous-dossier nommé log qui contient un fichier run, la sortie d’erreur du fichier run principal est redirigée vers l’entrée standard du fichier run des logs.

Ce mécanisme n’implique en rien que les fichiers run soient des scripts Bourne (il suffit qu’ils soient exécutables), mais, en pratique, cela a probablement été la majorité des cas, pour des raisons de simplicité, et peut-être de portabilité, la simplicité des daemontools étant telle que ce fonctionnement est aisé à implémenter sur tout système compatible POSIX.

Contrairement aux scripts que l’on peut trouver notamment dans l’implémentation de rc.d par Debian (exemple pour apache2 : rc.d vs runit), ces scripts sont généralement triviaux et courts : moins de 10 lignes.

Dans mon expérience (avec runit, un héritier), le plus gros et le plus alambiqué pèse 31 lignes, udev nécessitant le lancement de commandes une fois le daemon fin prêt afin de s’initialiser correctement.

Outre le redémarrage automatique des daemons, cet outil a apporté d’autres fonctionnalités bien utiles, notamment :

  • se débarrasser des fichiers de PID, qui traditionnellement permettent d’envoyer un signal à un daemon précis, mais qui en réalité impliquaient le risque de situation de compétition (race-condition) menant à tuer un autre processus par erreur ;
  • possibilité de traiter les journaux par un outil autre que syslogd, et notamment, de façon isolée, avec la possibilité d’avoir un journal par daemon, ce qui permet par exemple une gestion plus fine des droits d’accès aux journaux ainsi que d’éviter qu’un éventuel bug du logger n’impacte l’ensemble des journaux système.

Bien sûr, ce n’est pas exempt de défauts (rien ne l’est) :

  • si un processus gèle, mais ne meurt pas, la situation ne sera pas détectée automatiquement (il faudrait pour cela un watchdog actif, qui sonde régulièrement la cible de manière non-intrusive pour éviter tout biais) ;
  • il n’est pas possible de savoir si un daemon est en cours de lancement (dans le fichier run donc) ou effectivement démarré (le processus apache2 existe, par exemple) en consultant simplement la sortie de svstat.

Cet outil, toujours disponible notamment sous Debian, a donné naissance à divers héritiers, qui, chacun, corrigent une ou plusieurs limitations, les plus connus étant peut-être runit, s6 et nosh.

L’un d’eux, runit est notamment utilisé par défaut par la distribution void-linux et empaqueté (à destination des utilisateurs avancés) pour d’autres distributions telles que Artix Linux (dérivée de Archlinux pour supporter officiellement les autres systèmes d’init différents de Systemd) ou Debian (il s’agit d’une des trois options du paquet init, les autres étant sysvinit-core et systemd-sysv). Il est également à noter que des développements ont lieu via Debian.

Un autre, nosh est également intéressant car capable d’importer les unit de systemd.

Bien que, de nos jours, systemd soit chargé de cette tâche sur la majorité des distributions Linux, je tenais à faire cet hommage à un outil qui, j’en suis sûr, a permis a de nombreux sysadmin de mieux dormir la nuit, en tous cas, suffisamment pour que des gens maintiennent toujours des outils utilisant cette approche, 20 ans après !

Joyeux anniversaire !

PS : les daemons apache2 et udev n’ont été utilisés que pour illustrer certains propos.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur