Nouveautés pour les développeurs et les administrateurs système

GNOME 3.22 propose de nombreuses nouvelles fonctionnalités et améliorations pour ceux qui travaillent avec les technologies GNOME. Lisez la suite pour les détails !

Prise en charge à long terme de GTK+

3.22 marque un moment important dans l'histoire de GTK+. Bien que son numéro de version ne soit pas en .0, il s'agit de la première publication d'une nouvelle série stable et la première version majeure depuis 3.0. Les prochaines version dans la série 3.22.x sont garanties stable en terme d'interfaces (API et ABI), avec des mises à jour limitées aux correctifs d'anomalies et de sécurité. Celles-ci seront fournies pendant au moins trois ans. Le travail de développement principal continuera dans une séries distincte disponible pour les auteurs d'applications qui veulent les toutes dernières fonctionnalités et sont prêts à affronter une légère instabilité.

GTK+ 3.22 fournit sous forme stable toutes les améliorations de la série 3.x tels que les styles CSS, l'inspecteur GTK+, les animations, les nouveaux composants et bien plus encore. Cette nouvelle manière d'organiser les publications de GTK+ promet une stabilité à long terme pour les auteurs d'applications qui en ont besoin, tout en ne freinant pas le développement de GTK+. Elle est mise en place suite à d'importantes discussions et après avoir consulté les utilisateurs de GTK+. Plus d'informations sur le blog de développement de GTK+ (en anglais).

Flatpak

Flatpak, anciennement xdg-app, est la technologie de nouvelle génération pour la distribution d'applications sur Linux. Bien qu'il s'agisse d'un projet indépendant avec son propre cycle de publication, le projet GNOME prévoit d'en faire une partie intégrante de son expérience de développement d'applications.

Depuis la version 3.20, Flatpak a fait de gros progrès et a muri. Un jalon important a été atteint avec l'apparition d'un nouveau jeu d'interfaces (API), dit « portails ». Il permettent à des applications isolées d'accéder aux ressources du système hôte.

Les technologies pour développeurs de GNOME 3.22 ont une prise en charge complète des portails à travers GLib et GTK+. Les portails pris en charge comprennent le sélecteur de fichiers, l'impression, l'ouverture d'URI, l'inhibition de la mise en veille et de la déconnexion, les captures d'écran, les notifications et l'état du réseau. Cela permet pour la première fois d'écrire des applications complètement isolées. L'accès aux portails est transparent, bien que GtkFileChooserNative soit recommandé plutôt que GtkFileChooser. Plus d'informations disponibles dans l'article sur le blog de Matthias Clasen (en anglais).

Davantage d'informations sur Flatpak, y compris de la documentation pour développeurs et une liste d'applications Flatpak que vous pouvez essayer, sur flatpak.org.

Builder

GNOME 3.22 is another big release for Builder, with several key pieces of the new IDE falling into place. A new built-in profiler makes it possible to find performance issues in your project, and sees Builder become a multi-function IDE for the first time. The profiler currently supports C and C++, with more language support expected in the future.

Builder’s UI has received some significant polish since 3.20. A new perspective switcher provides a more elegant way to change between modes, and the search bar has been relocated. Most significantly, a new “project bar” provides information about the current project, branch and build profile, and also makes it possible to build and run your project with a single click from anywhere in the IDE.

Parmi les autres améliorations dans Builder pour 3.22, on trouve :

  • Une nouvelle fonctionnalité pour rechercher et remplacer qui inclut les options habituelles de recherche sensible à la casse, les expressions régulières et la correspondance des mots.

  • L'éditeur de code de Builder permet de travailler facilement avec les couleurs grâce à la mise en surbrillance des couleurs et un nouveau panneau latéral pour sélectionner des couleurs.

  • Les pages pour créer, cloner et ouvrir des projets ont été améliorées, avec une meilleure disposition et plus d'options de création.

  • Un nouveau greffon de mise en surbrillance qui met en avant le texte correspondant à la sélection actuelle.

  • Les indenteurs C, XML et HTML ont été étendus pour prendre plus de styles de syntaxe en charge.

Des améliorations pour GTK+

En plus de l'ajout des portails Flatpak, GTK+ 3.22 propose :

  • Les modes de mélange CSS. C'est une fonctionnalité CSS courante qui permet au images d'être transformée programmatiquement. Georges Stavracas, qui a écrit la fonctionnalité, donne plus d'informations sur son blog (en anglais).

  • GTK+ 3.22 permet aux tablettes graphiques d'être utilisées avec Wayland. Carlos Garnacho à écrit comment ajouter la prise en charge de ceci dans les applications.

  • GtkGLArea peut désormais être utilisé soit avec OpenGL complet, soit avec OpenGL pour les systèmes embarqués (OpenGL ES ou GLES).

  • GdkMonitor est une nouvelle manière pratique d'obtenir des informations sur les moniteurs et de fournir des informations plus détaillées que ce qui était possible avant avec GdkScreen.

De plus, bien que ce ne soit pas encore intégré dans 3.22, des progrès ont été faits sur le graphe de scène GTK (GSK) ces six derniers mois. Avec le modèle de publication décrit plus haut, la route est dégagée pour son intégration dans la nouvelle série instable dans un avenir proche.

Journalisation structurée dans GLib

GLib’s logging API has been reworked to support structured key–value log fields. This makes it easier to add logging and makes it possible to write more powerful logging schemes. It also makes it possible to include more metadata in log messages, such as message IDs.

As a part of this work, GLib’s logging infrastructure has been reorganized around a “writer” function, where an application specifies its logging policy. Log handlers are deprecated in favor of this, which reduces ambiguity about how and where logs should be handled, and eliminates conflicts between log handlers.

GLib will now automatically pass logging data to systemd-journald, if it is running. stdio-based output works as previously, but with the addition of color!