GNOME 3.18 supportera différents types de capteurs

Les tablettes et les ordinateurs portables modernes sont désormais truffés de capteurs : un accéléromètre pour le positionnement de l’écran, un capteur de lumière ambiante pour ajuster la luminosité de l’écran, un compas gyroscopique pour la navigation…

Suite aux travaux sur la WeTab, GNOME et Linux supportaient déjà les accéléromètres depuis plusieurs années, mais certains changements apportés par Windows 8 et les périphériques compatibles avec ce dernier ont poussé à tout remettre à plat.

Bastien Nocera a donc développé le projet iio-sensor-proxy, dont la version 1.0 vient tout juste de sortir. En plus des accéléromètres, cette première version stable supporte également les capteurs de lumière ambiante, ce qui signifie qu’en plus de pouvoir s’adapter automatiquement à une rotation de l’écran, GNOME 3.18 pourra également adapter, tout aussi automatiquement, la luminosité de ce dernier.

Dans les prochaines versions, il est prévu de pouvoir exporter les données brutes de l’accéléromètre pour qu’elles puissent être utilisées par les applications. Ce qui pourrait être intéressant dans le cas de jeux vidéos. Il est également prévu d’ajouter le support du compas gyroscopique, dont les informations seront communiquées au service de géolocalisation GeoClue, permettant ainsi d’obtenir l’emplacement et la direction avec une même API.


Histoire de mieux comprendre le projet, s’ensuit un petit entretien avec Bastien Nocera, que je remercie encore une fois pour le temps qu’il a bien voulu m’accorder ;)

Le projet s’appuie sur systemd. Qu’apporte réellement ce dernier, et cela a t’il permis de simplifier le développement ?

Dans ce cas précis, systemd/udev est uniquement utilisé pour lancer le daemon en tâche de fond, quand un capteur apparaît (lors du démarrage, lorsque qu’on sort du sommeil, ou, comme pour le ColorHug ALS, s’il est branché en USB). systemd permet de simplifier le lancement de services D-Bus lorsqu’ils sont attachés à un périphérique amovible. C’est aussi la manière dont bluetoothd, le daemon qui s’occupe du Bluetooth, fonctionne.

Utiliser un autre système d’init est parfaitement possible, mais moins pratique, et surtout inutile étant donné que toutes les distributions majeures de Linux utilisent systemd (et que iio-sensor-proxy ne fonctionne que sur Linux).

Les capteurs semblent être reconnus comme des périphériques HID. Est -ce que ça implique une certaine normalisation, offrant par défaut, une fois le pilote initial développé, le support de tous les capteurs d’un même type, ou est-ce qu’il faudra développer des pilotes différents pour chaque capteur de chaque fabricant ?

Certains capteurs sont des capteurs HID, mais pas tous. Pour avoir le tampon de certification pour Windows 8, les capteurs doivent utiliser HID pour exporter leurs données, et le faire d’une certaine manière. Cependant, sous Linux, les capteurs sont souvent, de toute façon, gérés par la surcouche du noyau IIO (« Industrial I/O », entrées-sorties industrielles). Ce qui nous permet de gérer à la fois les capteurs basés sur le HID que supporte Windows 8 par défaut, ainsi que de nombreux autres que les constructeurs peuvent intégrer dans leurs systèmes.

Les capteurs mono-fonctions plus anciens, comme ceux de la WeTab, sont eux encore différents, apparaissant comme de vrais périphériques d’entrée, tels une souris, mais avec Z, l’axe de la profondeur, en plus. Nous supportons aussi les capteurs utilisés sur MacBook, qui sont exportés par le noyau Linux de manière différente. En clair, les capteurs HID compatibles Windows 8 bénéficieront de pilotes Linux déjà intégrés, mais les autres, avec un driver IIO supporté, fonctionneront aussi.

Dans le cas des capteurs de lumière ambiante, j’ai cru comprendre que les différents fabricants n’utilisaient pas une unité de mesure commune et normalisée. Comment avez-vous procédé pour pouvoir tout de même offrir à l’utilisateur un système unifié ?

Dans ce cas, le problème n’est plus dans iio-sensor-proxy lui-même. Le daemon exporte le fait que les données sont sans unité, ramenées à un pourcentage et les applications se débrouillent pour savoir si elles peuvent gérer ces données. Dans le cas de gnome-settings-daemon (une tâche de fond qui gère l’énergie sous GNOME), nous utilisons les préférences de l’utilisateur pour calibrer les changements de luminosité de l’écran, et « apprend ». Pour plus de détails, il vaut mieux inspecter le patch écrit par Richard Hughes directement.

Comment est gérée la sécurité, pour qu’un programme malicieux ne puisse pas accéder à certaines informations sensibles, comme la localisation de l’utilisateur et la direction prise ?

Pour l’instant, le problème ne se pose pas : nous n’exportons pas aux applications les données brutes des accéléromètres, ou les données des compas électroniques. Dans le futur, les données du compas ne seront disponibles que pour GeoClue, qui renverra ces données vers les applications de géolocalisation, telles que Cartes ou Météo, avec les mêmes demandes de permission.

Pour ce qui est de l’accéléromètre, le même système sera mis en place. Dans les deux cas de figure, nous attendons un déploiement plus généralisé des technologies utilisées, comme kdbus et xdg-app.

Les intéressés peuvent suivre le développement de cette fonctionnalité sur GitHub.

GNOME pourra bientôt accéder aux données GPS de votre mobile

De plus en plus d’applications (Cartes, Météo…) ont besoin de connaître la localisation précise de l’utilisateur, dans le but de lui faciliter la vie en fournissant directement les données de l’endroit où il se trouve. Pour se faire, GNOME utilise le service GeoClue, qui peut utiliser plusieurs sources plus ou moins précises : GPS, Wi-Fi, modem 3G ou GeoIP. Malheureusement, la plupart des ordinateurs n’étant pas équipés pour pouvoir fournir des données fiables, la localisation se fait généralement à partir de l’adresse IP, dont la précision ne dépasse guère les dizaines de kilomètres (contre quelques mètres pour le GPS).

Dans le même temps, de nos jours, la plupart des gens possèdent un smartphone équipé d’un récepteur GPS. Ankit, étudiant indien à l’Institut national de technologie de Srinagar, a ainsi pour projet de travailler durant le Google Summer of Code 2015 sur une application Android (la version iOS viendra par la suite) qui agira comme un serveur de localisation pour le service GeoClue, et dont la découverte sur le réseau pourra s’effectuer depuis des clients mDNS tels que Avahi ou Bonjour. Tout se fera bien évidemment automatiquement, et l’utilisateur n’aura pas besoin de s’en préoccuper.

Maquette d’application Android

Comme on peut le voir sur les maquettes, l’utilisateur pourra choisir ou non de partager sa localisation avec d’autres périphériques, et la liaison pourra s’effectuer quant à elle par Wi-Fi, Bluetooth ou USB.

Ceux qui s’intéressent à la technique pourront lire le billet de blog d’Ankit, mais en gros, l’application Android utilisera les ServerSocket pour communiquer avec GeoClue. Et à chaque fois qu’Android obtiendra un nouvel emplacement par le biais de LocationListener, il transmettra les données de localisation à GeoClue sous forme d’une phrase NMEA, que ce dernier convertira ensuite sous forme de localisation GPS.

Et pour terminer sur les questions de vie privée, non seulement personne ne sera obligé d’installer une telle application sur son smartphone, mais le partage sera en opt in, et nécessitera donc l’accord de l’utilisateur. Tout comme c’est finalement déjà le cas dans les paramètres de confidentialité de GNOME.

Qu’apporte réellement le projet Solus ?

solus_beta2
Solus Beta 2 avec l’environnement de bureau Budgie

Le Solus Project est un projet de système d’exploitation complet et indépendant, qui ne se base pas sur une distribution GNU/Linux déjà existante, mais qui reprend néanmoins l’environnement de bureau GNOME, ses technologies et ses applications, tout en remplaçant GNOME Shell par Budgie.

S’ils reprennent GNOME, pourquoi ne pas utiliser directement l’original, me demanderez-vous. Sur le site officiel, on peut lire « Nous nous concentrons entièrement sur le bureau, et nous croyons que les utilisateurs méritent un environnement de première classe. Aucune phablette ici ! » (We focus completely on the desktop, and believe users deserve a first-class desktop experience. No phablets here!)

Vous l’aurez compris, ils reprochent au projet GNOME un certain côté tablette, avec ses grosses icônes, et pensent qu’il est donc préférable de proposer un bureau plus classique, avec un menu traditionnel, une liste d’applications ouvertes au bas de l’écran…

Oui mais, GNOME propose également un mode classique, me direz-vous encore. Il est vrai. Peut-être que l’environnement proposé par Solus est un poil plus joli. Je ne sais pas. Il semble en tout cas avoir déjà conquis une partie du public, comme peuvent en témoigner les tests de Frederic Bezies ou d’Angristan. En ce qui concerne son thème, EvoPop, vous pouvez sans problème l’installer séparément.

N’a-t-il réellement rien d’autre à proposer ? Pour le moment, non. Quasiment toutes les applications sont celles de GNOME, que ce soit le terminal, le visionneur d’images ou de documents, l’éditeur de texte, la calculatrice, le gestionnaire de fichiers, le moniteur système, les paramètres… tous les outils sont des applications GNOME. Les seuls choix qui diffèrent concernent le navigateur; Firefox ayant remplacé Web, ainsi que le lecteur de vidéos, pour lequel ils ont préféré VLC.

Ensuite, il n’y a pas non plus d’équivalent aux fonctionnalités de recherche de GNOME Shell. Autant ce dernier permet de trouver des applications (y compris celles qui ne sont pas installées), d’effectuer directement des opérations arithmétiques sans avoir besoin de lancer la calculatrice, de trouver facilement fichiers ou documents, d’accéder rapidement à ses contacts, aux événements de son agenda, d’obtenir l’heure d’une ville, de connaître la météo, de pouvoir effectuer des recherches dans son historique web, de trouver facilement des caractères spéciaux… autant du côté de Budgie, c’est le néant absolu. Tout juste si le menu permet de trouver des applications, mais uniquement celles qui sont déjà installées.

Si on continue la comparaison avec le mode activités de GNOME, bien qu’une applet soit disponible dans les Budgie Settings pour pouvoir bénéficier des bureaux virtuels, il n’y a qu’un espace de travail par défaut. Et vous ne pourrez pas non plus faire des recherches par mots clés. De rechercher dns ne vous trouvera pas l’outil de configuration réseau, ou zip le gestionnaire d’archives.

En parlant d’applications, d’avoir choisi de concevoir un système depuis zéro permet une totale liberté, mais également une incroyable dispersion d’efforts, puisque ça oblige les développeurs à réinventer la roue, ainsi qu’à empaqueter eux-mêmes les mêmes applications qu’on peut retrouver sur d’autres distributions bien établies. Pour résumer, sorti des applications GNOME et de deux ou trois applications tierces (Firefox, Thunderbird, Transmission, HexChat et VLC), il n’y a quasiment rien de disponible. Et je ne parle pas uniquement des applications par défaut, mais bel et bien de ce que vous pouvez installer. Et ça a beau être une beta, leur équipe ne changera pas pour autant après la sortie de la version finale.

Mais il paraît que c’est super léger et incroyablement véloce ? Oui et non. Pour rappel, ça utilise les technologies GNOME, ainsi que les applications GNOME. La différence ne sera donc pas flagrante par rapport à ce dernier. Tout comme GNOME, au démarrage il ne consomme quasiment rien en mémoire (160 Mo lors de mon test). Mais tout comme GNOME, la consommation grimpera avec le temps. Après avoir lancé deux ou trois petites applications (un terminal, une calculatrice et un gestionnaire de fichiers), la consommation passe à 250 Mo. Puis si vous vous mettez à en avoir une réelle utilisation, en lançant Firefox et vos applications habituelles, vous retrouverez finalement, à peu de choses près, la même utilisation mémoire que sous GNOME. Au niveau de la réactivité, possédant un processeur Intel i7-4770, 16 Go de RAM et un disque de type SSD, je n’ai constaté strictement aucune différence avec GNOME.

Ça peut s’utiliser au quotidien ? Pour le moment, clairement non. Il y a énormément de bugs et autres lacunes : le faible nombre d’applications (y compris du côté GNOME, n’ayant par exemple pas réussi à trouver l’application Contacts), l’installeur qui laisse le clavier en qwerty malgré le choix du français, les outils d’accessibilité qui ne fonctionnent pas, l’incapacité à pouvoir lancer une nouvelle instance d’une application sans repasser par le menu applicatif, l’absence de fonctionnalités de recherche évoluées, le raccourci Alt-Tab permet uniquement de basculer sommairement d’une application à l’autre sur l’espace courant, mais sans représentation graphique; de demander à capturer une fenêtre vous mettra tout de même une partie du fond d’écran dans la foulée, le faible nombre d’applets disponibles, le système de notifications particulièrement basique…

Et encore, je ne l’ai pas non plus testé sur une longue période. On doit pouvoir trouver des bugs à la pelle.

Le Software Center

On peut également se poser la question de l’intérêt de développer de nouvelles applications, comme leur logithèque, le Software Center, dont l’ergonomie et le classement des applications laisse à désirer, qui affiche pêle-mêle applications graphiques ou en ligne de commande, et qui ne propose à l’utilisateur ni descriptions des différentes applications, ni captures d’écran, ni licences… On est bien loin d’un Logiciels.

Maintenant, tout dépendra de ce qu’apporteront les futures betas, aussi bien en terme de corrections de bugs, que de réelles nouvelles fonctionnalités innovantes qui pourraient le démarquer de GNOME.

En attendant, ça reste plutôt léger. Si vous aimez GNOME, la simplicité et l’ergonomie de ses applications, mais que vous n’arrivez pas à vous satisfaire du mode classique et que vous n’arrivez pas non plus à configurer le mode traditionnel pour qu’il puisse répondre à vos besoins, ça peut éventuellement valoir le coup. Mais pour le moment, j’ai franchement du mal à voir la plus-value.

Pour être franc, je pense qu’il aurait été plus productif de développer et maintenir convenablement quelques extensions pour GNOME, ce qui aurait permis d’obtenir plus rapidement un résultat plus fonctionnel et moins bugué.

Configurer la barre supérieure

Par défaut, les options de configuration accessibles depuis l’Outil de personnalisation sont plutôt limitées : afficher la date, les secondes (horloge) ou les numéros de semaine (calendrier). Et c’est à peu près tout.

Fort heureusement, il existe un certain nombre d’extensions pour pallier à ce manque de possibilités d’adaptation.

Mais selon votre version de GNOME, vous pourriez avoir envie de jeter un œil à l’article Forcer la compatibilité d’une extension GNOME Shell :)

Transparente

Dynamic Top Bar 13

Par défaut en noire, l’extension Dynamic Top Bar permet de rendre la barre complètement transparente, de jouer sur le degré de transparence, d’ajouter ou non des ombres, ou d’opter plutôt pour un dégradé de couleurs adapté au fond d’écran.

Cachée

Vous pourriez finalement préférer la cacher complètement, à l’aide de l’extension Hide Top Bar. Cette dernière propose un certain nombre d’options qui permettent d’opter plutôt pour une barre intelligente qui réapparaît à l’approche du curseur, ou de configurer un raccourci clavier pour la faire réapparaître.

Menu applicatif

Si vous préférez un bon vieux menu traditionnel pour pouvoir accéder à vos applications plutôt que de passer par la vue activités, il existe plusieurs extensions, telles que Applications Menu, qui est officiellement supportée par le projet GNOME, ou Frippery Applications Menu.

Emplacements

Pour pouvoir accéder rapidement à vos différents emplacements (dossier personnel, documents, images, musiques, téléchargements, vidéos… mais également vos favoris ou d’éventuels serveurs distants), il existe l’extension Places Status Indicator, qui est officiellement supportée par le projet GNOME.

Lecteur audio

Media Player Indicator

Avec l’extension Media Player Indicator, vous pourrez contrôler n’importe quel lecteur compatible avec le protocole MPRIS2, que ce soit Audacious, Banshee, Exaile, Rhythmbox et tant d’autres encore. En plus des contrôles de base (piste précédente, suivante, pause, stop), l’extension permet de lancer le lecteur par défaut ou d’y accéder rapidement, d’afficher la pochette de l’album ou la note du morceau, de contrôler le volume…

Météo

Si vous êtes enfermé dans une cave mais que vous souhaitez tout de même connaître le temps qu’il fait, vous pouvez utiliser l’extension OpenWeather. Cette dernière permet d’utiliser tout aussi bien les données du projet libre OpenWeatherMap, que celles de Forecast.io, tout en permettant de configurer les unités de température, de pression, de vitesse du vent, mais également le nombre de jours pour les prévisions, de choisir quoi afficher (température, conditions…), ainsi que son emplacement sur la barre supérieure.

Moniteur système

Avec System Monitor, vous pourrez toujours garder un œil sur les ressources utilisées, que ce soit l’occupation mémoire, la charge processeur, le trafic réseau, la température, le niveau de la batterie… Chaque élément étant bien évidemment configurable séparément, vous pourrez choisir de n’en afficher que certains, ainsi que le type d’affichage ou encore la vitesse de rafraîchissement.

Afficher toutes les fenêtres de tous les espaces de travail

All Windows

Lister et accéder à toutes les applications présentes sur vos différents espaces de travail d’un simple clique dans un menu avec All Windows.

Changer d’espace de travail

L’extension Top Panel Workspace Scroll permet quant à elle de pouvoir changer rapidement d’espace de travail en scrollant à l’aide de la molette de la souris ou du pavé tactile, directement sur la barre supérieure.

Mais si vous préférez quelque chose de plus visuel, qui vous indique à tout moment sur quel espace de travail vous vous trouvez, tout en vous permettant de changer rapidement à l’aide d’une liste, il existe également Workspace Indicator.

Désactiver le coin actif

Même si ça ne concerne pas la barre en elle-même, vous pourriez tout de même avoir envie de désactiver ce dernier, à l’aide de l’extension No Topleft Hot Corner.

Comment cacher des fichiers ou des dossiers sans les renommer

Nautilus Hide 0.1.1

Habituellement, quand vous souhaitez cacher un fichier ou un dossier, il vous suffit de le renommer et d’ajouter un point au tout début du nom.

Il existe néanmoins certaines situations, comme une application qui tiendrait absolument à créer un dossier à la racine de votre dossier personnel ou de votre dossier Documents et dont la présence vous gêne, mais que vous ne pouvez malheureusement pas renommer sous peine de voir l’application ne plus pouvoir y accéder.

Pour cela, il vous suffit de créer un fichier .hidden (le fichier commence par un point), et d’y indiquer tous les fichiers ou dossiers que vous souhaitez cacher, à raison d’une entrée par ligne. Il ne vous reste ensuite plus qu’à rafraîchir (raccourcis F5 ou Ctrl-R) pour que ces derniers ne soient plus visibles.

Pour plus de facilité, une extension pour Fichiers est également disponible, Nautilus Hide, qui vous permet de cacher ou rendre visible directement depuis le menu contextuel.

Sortie de la RC2 de Fedora 22

La deuxième release candidate est sortie aujourd’hui, et si tout va bien, la version finale devrait sortir le 26 mai.

Pour rappel, les principales nouveautés de la version workstation sont l’arrivée de GNOME 3.16, GCC 5.1 devient le compilateur par défaut, DNF remplace Yum comme gestionnaire de paquets, le support de l’Unicode passe à la version 7.0 (qui apporte 8000 nouveaux caractères)…

Pour la liste complète des nouveautés, vous pouvez consulter le wiki de Fedora.

N’hésitez donc pas à tester, et à rapporter les éventuels bugs que vous rencontreriez.

L’icône hamburger

L’icône hamburger dans Gedit 3.16

La BBC a récemment publié un article sur l’icône hamburger, qu’on retrouve désormais sur un grand nombre de sites web, d’applications mobiles et autres environnements de bureau, et qui permet d’accéder à diverses options supplémentaires.

Créée au début des années 1980 par Norm Cox pour l’interface du Xerox Star, elle fut plus récemment reprise par l’application Path, avant d’être popularisée par le réseau social Facebook.

L’avantage étant, dans des interfaces que l’on souhaite de plus en plus épurées, de pouvoir facilement donner accès à une liste d’options supplémentaires, sans surcharger l’interface.

Cependant, bien que l’icône hamburger puisse fournir une manière cohérente d’accéder à ces options « cachées », diverses recherches semblent montrer qu’elle ne serait pas aussi fonctionnelle que certains aimeraient le croire.

Le développeur James Foster a conduit une étude à ce sujet durant plusieurs mois, et sa conclusion serait que trois barres horizontales n’auraient pas la même signification pour la plupart des gens, et qu’il serait donc facile de complètement passer à côté.

Le principal reproche étant que le menu hamburger est une icône abstraite, dont les gens apprennent la signification par la pratique. À l’inverse, par exemple, du menu d’un traitement de texte dont les icônes gras, italique ou souligné (a, a, a) indiquent clairement leur rôle, en montrant le résultat obtenu.

Durant ses nombreux tests sur la version mobile de son site, James Foster a remarqué qu’en écrivant le mot menu sous les trois barres, le bouton était utilisé 7,2% en plus, et que de mettre les trois barres dans une boîte, de sorte que ça ressemble plus à un bouton (ce qu’a choisi GNOME), faisait grimper le taux d’utilisation de 22,4%.

Mais pour la version traditionnelle du site, consultable depuis un ordinateur, il obtenait des résultats radicalement différents. Quatre variantes furent mises en place : la variante de base, avec simplement le mot MENU; une deuxième avec simplement le mot MORE (plus); ainsi que deux autres variantes, avec l’icône hamburger accompagnée des mots MENU ou MORE. Et pour ce test, les variantes 2, 3 et 4 obtenaient un taux d’utilisation inférieur de 18%, 31% et 43% au classique MENU.

Le journaliste des nouvelles technologies Glenn Fleishman raconte de son côté qu’il reçoit régulièrement des courriers d’utilisateurs lui demandant comment effectuer telle ou telle action. Et quand il répond qu’il faut cliquer sur les trois barres situées dans le coin supérieur de l’application, les gens demandent alors « oh, mais pourquoi vous l’avez caché là ? ».

Alors, pourquoi ne pas changer ? Dans le cas d’applications mobiles, les arguments avancés sont l’absence de traductions nécessaires (et les économies ainsi engendrées), ainsi que le gain de place obtenu. Tout le monde ne comprenant pas l’anglais, l’équivalent allemand au mot paramètres (settings, en anglais) est systemsteuerung, qui prendrait deux fois plus de place dans une interface.

Dans le même temps, et même si l’adoption se fait lentement, les développeurs et designers d’interfaces comptent sur le fait que petit à petit, tout le monde finira par connaître la signification de l’icône hamburger, et que ses avantages prendront ainsi le pas sur ses actuels inconvénients.

Sortie de Lollypop 0.9.20

Le support des radios dans Lollypop 0.9.20

Cette nouvelle version de Lollypop apporte principalement le support des radios.

Par contre, de mes différents essais, de lui indiquer l’adresse fournie par les différentes radios pour les écouter depuis le navigateur, ne semble pas suffire, et il faut trouver nous même le flux associé qui pointe réellement vers un fichier musical (par exemple, un .mp3).

Dans le cas de Jazz Radio Manouche, ça ne sera donc pas

http://www.jazzradio.fr/radio/webradio/10/jazz-manouche

Mais

http://jazz-wr02.ice.infomaniak.ch/jazz-wr02-128.mp3

Il faut donc espérer que dans les prochaines versions, tout puisse se faire tout seul.

Hormis le support des radios, nous noterons également l’apparition d’une nouvelle vue Albums récents, la possibilité d’attribuer une note aux albums, l’ajout de l’aide en ligne (mais qu’on ne semble pas pouvoir invoquer depuis le raccourci habituel F1, obligeant à passer par le menu déporté). Sans oublier les habituels correctifs, dont un certain nombre concernent principalement Ubuntu.