Du 6 au 8 octobre dernier, GNOME a tenu son traditionnel Sommet des développeurs à Boston. Le but de ce sommet est de travailler ensemble. C’est l’occasion de se mettre dans la peau de l’utilisateur pour définir les prochains axes de développement. Pas de conférence, uniquement des sessions de travail collaboratif.
Matthias Clasen nous a gratifié de quelques retours des ateliers auxquels il a participé. Un point de vue intéressant sur l’arrière cuisine du projet GNOME.
Sommaire
Glib
Une nouvelle API GSubprocess
arrive à maturité. Elle offre le même confort qu’on a dans l’API Python subprocess
pour gérer le lancement de sous‐commandes. Lancement asynchrone et annulable, utilise l’API asynchrone GStream pour les entrées‐sorties, gère également la sortie en UTF-8 ou en octets.
La nouvelle API GTask
remanie les API existantes pour les traitements dans un thread séparé. En interne, beaucoup de code de GIO a migré vers GTask
. GIOScheduler
et g_simple_async_result_run_in_thread
(sic) vont devenir obsolètes. La nouvelle API gère simplement la remontée d’erreurs, le suivi et l’annulation, assigne des données par tâche. Espérons que ça ne finira pas avec une énième API pour la même fonctionnalité.
L’API GThread devrait migrer son implémentation pour utiliser les fonctions natives du système pour les exclusions mutuelles (mutex), plutôt que d’utiliser pthread. On attend de meilleures performances pour ce changement, prévu pour GLib 2.36.
Support de epoll, une solution alternative à select
par Linux. Rien de définitif n’est prévu pour ce projet de long terme. Néanmoins, le sujet a été abordé et des étapes vont être franchies dans ce sens. Y aura‐t‐il la possibilité d’utiliser kpoll sous BSD ?
La fin des types dynamiques dans GObject serait‐elle pour bientôt ? Le sujet a été abordé, sans décision ferme. Lorsqu’un module déclare des types, ils peuvent être retirés avec le déchargement du module. En pratique, on décharge rarement des modules. Il se trouve, surtout, que l’implémentation ne fonctionne pas correctement.
Dans la même veine, les interfaces dynamiques d’un type devraient être abandonnées. Cela surcharge l’implémentation de GObject pour un gain faible. Cet abandon est prévu pour la version 2.38, avec avertissement en 2.36.
GTK+
Du côté de GTK+, on note l’introduction du concept d’Acteur, issue de Clutter, pour l’implémentation interne de widgets. On devrait en apprendre plus dans les prochaines versions !
Pour terminer, l’accessibilité des widgets personnalisés devrait être possible par l’exposition des API internes de GTK+ pour l’accessibilité. Mais il faudra pas mal de nettoyage avant de publier cette API.
Multi‐écran
Cet atelier très concret a mis à l’épreuve la gestion du multi‐écran dans GNOME. Autant dire qu’il reste du travail ! En vrac :
- l’interface de déverrouillage d’écran devrait être unique par écran ;
- le clavier visuel devrait être sur l’écran qui a le « focus » ;
- on ne peut pas déplacer une fenêtre d’un moniteur à l’autre dans Activités ;
- pour la configuration du multi‐écran, la discussion a amené entre autres à :
- GNOME devrait se passer de la boîte de confirmation et détecter seul si la configuration a fonctionné. Cela nécessite de détecter correctement l’échec d’une configuration. Est‐ce bien réalisable actuellement ? On attend des preuves !
- il faudrait pouvoir déplacer les moniteurs au clavier.
Réseau d’entreprise
NetworkManager n’est pas très utilisable dans des configurations d’entreprise : réseaux locaux virtuels (VLAN), ponts (bridges) virtuels, etc. Tout cela n’est pas géré. NetworkManager a été conçu d’abord pour répondre au problème de la configuration dynamique du réseau, sur des ordinateurs portables : point d’accès Wi‐Fi, combinaison filaire/sans fil, etc. Il y a déjà la prise en charge des réseaux privés virtuels (VPN), mais il reste beaucoup à faire. Red Hat ayant pour cible les entreprises, le sujet des configurations avancées arrive enfin sur la table.
L’atelier a commencé par une démonstration de NetworkManager gérant réseaux locaux virtuels, liens et interfaces multiples. Il ne manquait que le matériel adéquat pour démontrer la prise en charge d’InfiniBand.
D’autres questions ont émergé, sans pour autant arriver à des décisions. Comment gérer les interfaces avec plusieurs connexions ? Comment s’intégrer avec les interfaces virtuelles, notamment celles créées par GNOME Boxes via libvirt ? On se contentera de la gestion des VLAN, des interfaces InfiniBand et des liens pour la version 3.8. Il nous faudra attendre la 3.10 pour pouvoir gérer l’accès Internet de ses machines virtuelles depuis NetworkManager.
Boîte de dialogue modale
Lorsqu’on perd une connexion Wi‐Fi, le système en tente une autre et présente une boîte de dialogue système modale pour demander le mot de passe. C’est très pénible. D’autres cas de fenêtres surgissantes (popup) système intempestives ont été relevés, et diverses applications seront corrigées. À suivre également.
Vie privée
Il faut croire que Jon McCann lit les commentaires de LinuxFr.org. Qui n’a jamais été gêné de voir une notification de discussion en ligne privée interrompre une discussion autour d’un écran ? Autre cas : est‐ce intéressant de montrer dans le déverrouillage de l’écran les notifications ou même la musique en cours ? Ou encore : a‐t‐on vraiment envie de voir des contacts apparaître dans la recherche d’une application projetée en salle de réunion ? Pas vraiment !
Jon McCann propose deux panneaux de configuration pour ces cas précis. L’un pour paramétrer finement les notifications, plus que la simple bascule actuelle. Un autre permet de sélectionner quelles applications sont interrogées lorsqu’on recherche dans l’écran d’activité. On pourra décocher Contacts !
Conclusions
D’autres sujets ont été abordés, tels que l’authentification par carte à puce, le partage et la vie privée, GNOME OS, Epiphany, etc. Ces ateliers ont été l’occasion pour les développeurs GNOME de rentrer dans la peau des utilisateurs. Beaucoup de notes ont été prises, beaucoup de bogues rapportés ou réveillés. À suivre dans la feuille de route de GNOME 3.8 !
Aller plus loin
- Billet sur la journée du lundi (88 clics)
- Billet sur la journée du dimanche (50 clics)
- Programme complet du sommet (46 clics)
# Multi‐écran
Posté par Argon . Évalué à 2.
Question bête à ceux qui ont plusieurs écrans, comment faites-vous pour aller dans Activités dans le coin gauche de l'écran ? Si on est sur une configuration de bureau séparé ne risque-t-on pas de voir le pointeur de la souris se barrer sur l'autre écran ?
de même que nous profitons des avantages que nous apportent les inventions d'autres, nous devrions être heureux d'avoir l'opportunité de servir les autres au moyen de nos propres inventions ;et nous devrions faire cela gratuitement et avec générosité
[^] # Re: Multi‐écran
Posté par Stéphane Klein (site web personnel) . Évalué à 2.
Oui en effet, c'est un problème… du coup je suis obligé de cliquer en haut à gauche sur "Activités".
[^] # Re: Multi‐écran
Posté par Victor . Évalué à 5.
Ça marche plutôt bien, le bord de l'écran est aimanté donc la souris va facilement en haut à gauche de l'écran de droite.
Perso je peux déplacer une fenêtre d'un écran à un autre depuis Activités (Gnome 3.4) mais bon…
D'une manière générale, ça marche moyen, les 3 quarts des fonctionalités ne prennent pas en compte le fait qu'on est en multi-écran, la prévisualisation des workspaces ne montre que l'écran de gauche par exemple.
[^] # Re: Multi‐écran
Posté par Gabin II . Évalué à 2.
On utilise la touche "Super" et ce même si on est en mono écran, personnellement j'utilse très peu la souris sous Gnome Shell et définitivement beaucoup moins que sous Gnome 2.x.
Soit dit en passant, je doute de la sincérité de cette question et j'hume, là, l'odeur fétide d'un troll sous couverture. :p
[^] # Re: Multi‐écran
Posté par Argon . Évalué à 1.
Non pas du tout ce n'est pas un troll sous couverture, j'aime beaucoup Gnome 3 que je défend assez souvent. Je n'ai pas encore eu l'occasion de le tester avec deux écrans et je me posais justement la question sur l'utilisation du menu Activité. Comme j'ai tendance à balancer le pointeur de ma souris avec force en haut à gauche j'avais un peu peur de me retrouver sur l'autre écran.
de même que nous profitons des avantages que nous apportent les inventions d'autres, nous devrions être heureux d'avoir l'opportunité de servir les autres au moyen de nos propres inventions ;et nous devrions faire cela gratuitement et avec générosité
# Sommet deux centimes
Posté par Bruce Le Nain (site web personnel) . Évalué à 3.
Je dois avouer que je n'aime pas vraiment le terme « Sommet » employé ici. Pas de problème pour le fait que ça soit une ellipse de « rencontre au sommet », ni au fait que le sens des mots évolue et souvent s'atténue. Mais quand même, je ne peux m'empêcher d'associer ça aux rencontres de chefs d'État et autres G[n], réunions élitistes, particulièrement fermées, hyper-médiatisées et très « langue de bois ».
# GSubprocess
Posté par Aissen . Évalué à 2.
Eh ben c’est pas gagné, car subprocess n’est pas réputé pour son confort. Ses fonctionnalités peut-être, mais pour le confort, il y a d’autres modules non-standards comme envoy ou sh .
# Des acteurs chez Gtk
Posté par saltimbanque (site web personnel) . Évalué à 2.
Effectivement ce sera intéressant d'avoir plus d'info. J'avais noté un mél de Emmanuel Bassi annonçant qu'étant impossible d'implémenter dans Clutter toutes les fonctionnalités Gtk, il partait plutôt sur l'idée d'intégrer Clutter.
https://mail.gnome.org/archives/gtk-devel-list/2011-August/msg00058.html
Si j'ai bien compris, Clutter se glisserait entre gtk et gdk… Enfin non en fait j'ai rien compris, et cela ne semble pas encore bien défini, mais je reste persuadé que ce sera une question très importante…
[^] # Re: Des acteurs chez Gtk
Posté par liberforce (site web personnel) . Évalué à 3.
C'est en effet le premier pas de la fusion entre GTK et Clutter, qui donnera GTK 4.
# Mutex
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 2.
Il me semblait que les mutex soient des remplaçant des sémaphores (par exemple) pour gérer la synchronisation du travail de filaments (des pthreads par exemple), et donc fonctionnellement inéquivalent à des pthreads. Me tromperais-je ?
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.