Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 31 mai 2024Actualités libres

Plaidoyer pour des interfaces temps réels

L’informatisation et la mise en réseau des ordinateurs nous ont apporté beaucoup de choses formidables ces trente dernières années. Toute la culture musicale, cinématographique et encyclopédique est désormais à une portée de clic de quiconque. Téléphoner de n’importe où à n’importe qui tout autour de la terre est devenu quelque chose de tellement courant que plus personne ne s’en extasie. Et même si l’interlocuteurice s’exprime dans une autre langue ça n’est presque plus un problème avec les différents services de traduction en ligne que l’on peut avoir.

Ne parlons même pas de ce mini-ordinateur que presque tout le monde a désormais dans sa poche, équipé d’une chaîne hifi complète, d’un caméscope, d’un appareil photo d’excellente qualité et d’une connexion permanente au réseau mondial.

Nos logements sont désormais entièrement automatisables et pilotables à distance.

Je peux avoir de la musique ou la radio quand je veux dans mon casque sans fil grâce à la baladodiffusion.

Tous ces rêves numériques des années 90 se sont concrètement réalisés aujourd’hui, mais nous avons tout de même perdu quelque chose : le temps réel des interfaces

N. D. M. : par « temps réel » est ici utilisé dans le sens réponse immédiate humainement parlant, sans latence perceptible, réactives (voir les définitions Wiktionary ou Wikipedia pour temps réel qui, pour l’informatique, vont amener des exigences supplémentaires sur la durée maximale de réponse, la garantie du temps de réponse, etc.

Sommaire

Le temps réel des interfaces

En effet, avec la diffusion du numérique à tous les étages, les interfaces se sont ramollies. Aujourd’hui, lorsque nous appuyons sur un bouton pour jouer une musique, lancer une vidéo ou valider un formulaire sur Internet nous n’avons pas un retour immédiat de cet appui.

Il s’écoule souvent un temps non négligeable entre l’appui sur ledit bouton et la réaction du système. Ce problème ne se limite pas aux boutons bien sûr, c’est le même problème avec les branchements des chargeurs et autres interfaces USB, HDMI…

Nous ne sommes jamais immédiatement sûrs que l’action se soit bien passée. Si la réaction met trop de temps à venir (lancement de la musique, icône de mise en charge, validation du formulaire…) nous allons avoir tendance à réessayer au risque de se retrouver avec un « dys »fonctionnement anormal. Le bouton « play » de la musique est également le bouton pause, un ré-appui sur le bouton coupe la musique. Une absence de réaction de l’appareil au branchement va nous amener à débrancher puis rebrancher jusqu’à jeter le câble et en prendre un autre. Un ré-appui sur le bouton du formulaire va en renvoyer un autre, etc.

Nous parlons bien ici des interfaces qui ne sont pas en temps réel. Cela n’a rien à voir avec la puissance de calcul des machines. Les appareils des années 90 avaient beau avoir des interfaces temps réel, ils n’étaient pas puissants, beaucoup ne disposaient même pas de microprocesseurs.

Sur mon lecteur de cassettes audio, lorsque j’appuyais sur le bouton « play » le bouton émettait un « clic » bien distinctif et une petite vibration dans le doigt qui m’assurait que mon appui était bien pris en compte. Et si j’étais à la fin de la cassette le bouton remontait immédiatement, je savais instantanément que cela n’avait pas marché et qu’il fallait que j’appuie sur « eject » pour retourner la cassette… ou « rewind » pour rembobiner.

Lecteur cassettes
Pour lire ma cassette de petit ours brun, j’appuie sur le triangle et ça fait «clic» instantanément !

Boite à histoires Yoto
Alors que pour allumer la boite à histoires, il faut appuyer sur un bouton planqué sur le côté, et attendre plusieurs secondes que l’écran affiche un sourire. Ai-je bien appuyé ? Dois-je retenter ? Y a-t-il suffisamment de batterie pour que j’obtienne une réaction ? Et je ne parle même pas des deux boutons rotatifs rouge qui ne réagissent pas instantanément (en plus celui de gauche est à tourner pour le volume et celui de droite est à CLIQUER pour changer d’histoire…)

Les télévisions cathodiques des années 70-80 prenaient un certain temps à chauffer avant d’afficher l’image, mais l’appui sur le bouton « on » était marqué par un « clang » bien net, et nous savions que la télé était allumée, nous pouvions attendre d’avoir l’image. Les télés d’aujourd’hui mettent également du temps à s’allumer, mais elles ne signalent pas toujours la bonne réception de notre action sur la télécommande. Et ne parlons même pas des écrans d’ordinateur avec leur interface tactile à la noix (on doit pouvoir parler d'interfaces digitales pour le coup non ?) dont on ne voit même pas où se trouve le bouton.

Les systèmes sont devenus mous

Et cette mollesse les rend dysfonctionnels. Je ne compte plus le nombre de fois ou voulant ré-appuyer sur un bouton de validation, j’ai finalement appuyé sur un nouveau bouton venant d’apparaître sous mon doigt/curseur. Sans parler de tous ces systèmes électroniques portables qui prennent un temps dingue avant d’afficher quelque chose quand on appuie sur le bouton “ON”. Systèmes qui ne sont pas toujours réellement éteints d’ailleurs et dont l’appui long… les éteint !
Ne parlons même pas des systèmes avec boutons rotatifs de type « potards numériques » qui — non contents de générer des rebonds ou de sauter des pas — fonctionnent avec la même mollesse que les boutons « standard ».

Mais le problème ne se limite pas aux systèmes embarqués. Oh que non ! Toute l’informatique « desktop » et mobile est touchée. Les sites Web ont rouillé avec leurs méga-octets de bibliothèques javascript à télécharger avant de pouvoir appuyer sur le moindre bouton.

Le réseau étant désormais massivement sans fil (WiFi, GSM, 4g, 5g, gégé, …), l’on ne sait pas toujours pourquoi cette page met tant de temps à se charger. Attention, il n’est pas question ici de vitesse de connexion, mais plutôt d’absence d’indication claire de ce qui est en train de se passer : ai-je déconnecté, ou le lien réseau est-il tout simplement lent ?

Revenons aux interfaces réactives

C’est un problème d’ergonomie. Et l’ergonomie est visiblement toujours reléguée en fin de projet «tant qu’on a un truc qui marche». Cependant, on pourrait considérer que non, ça ne marche pas si l’interface est si lente à réagir.

Je suis persuadé que ce problème n’est pas une fatalité. Il est possible de revenir à des interfaces humain-machine qui soient vraiment temps réel.

Mais il faut que tout le monde s’y mette.

  • Aux électroniciennes et électroniciens de mettre systématiquement le voyant (ou vibreur, ou son) qui va bien pour signaler le bon branchement du câble, et le bon appui sur le bouton.
  • Aux développeuses et développeurs noyau de soigner l’ordonnanceur pour s’assurer que la partie interface soit bien traitée dans un temps acceptable (moins de 100 ms ?).
  • Aux développeuses et développeurs d’applis de considérer un temps de réaction trop long des interfaces comme un bug qu’il faut corriger.
  • Aux utilisatrices et utilisateurs de ne plus accepter un seul ralentissement de l’interface et remonter systématiquement le problème comme un bug et/ou ne pas acheter/utiliser le produit.

Manifeste des interfaces temps réel

Voici donc une proposition/un manifeste de règles pour des interfaces temps réel :

  1. Toute action humaine (appui ou clic-toucher sur un bouton, branchement d’un câble…) doit être validée par un retour en moins de 100 ms par un visuel, un son ou une vibration.
  2. Si le système est bloqué l’utilisateurice doit le savoir. On doit pouvoir faire la différence entre un blocage et un temps de chargement. Un genre de watchdog de l’ergonomie.
  3. On peut certainement ajouter d’autres règles quand on fera des audits ITR (Interfaces Temps Réels) dans les bureaux d’études et de développement des grosses boites.

Vers un Score-Interfaces-Temps-Réel ?

Évidement, il est impossible que ces règles s’appliquent du jour au lendemain sur tous les appareils et logiciel du marché. On pourrait inventer un système de notation, à l’image du nutri-score mais pour les interfaces. Par exemple le SITR pour Score-Interfaces-Temps-Réel et développer une appli pour pouvoir récupérer le score des produits qu’on utilise.
Appli qui aurait le culot d’avoir un mauvais score histoire de faire causer.

Conclusion

Pour conclure sur ce manifeste décousu :

✊🏼 Oui l’ergonomie est importante !
✊🏽 Oui un temps de réaction trop long est un BUG !
✊🏿 Oui il faut que ça change !

Commentaires : voir le flux Atom ouvrir dans le navigateur

À partir d’avant-hierActualités libres

Bien débuter avec la distribution Manjaro Linux

Manjaro est une distribution GNU/Linux basée sur Arch Linux.
Arch Linux est réputée être une distribution fiable, mais difficile et longue à installer et à configurer. Manjaro propose de reprendre les bons côtés d’Arch mais en simplifiant l’installation et la configuration. Manjaro est tout à fait adaptée à un débutant.

Ma vie : j’utilise Manjaro depuis sept ans et je l’ai installée sur les quatre ordinateurs de la maison. Je suis fan et je la conseille aujourd’hui à tout le monde ! Cette dépêche ne sera donc pas un test de la distribution mais un retour d’expérience proposant quelques astuces pour installer, utiliser et maintenir Manjaro.

Cette dépêche est une mise à jour d’une ancienne dépêche : https://linuxfr.org/news/bien-debuter-avec-manjaro-linux.

Sommaire

Le tour de la distribution

Installation

L’installation se déroule assez classiquement (Manjaro utilise Calamares comme beaucoup d'autres distributions) en téléchargeant une image ISO que vous pouvez flasher sur une clé USB, avec Etcher par exemple. Ensuite, vous pouvez démarrer sur la clé, tester la distribution et utiliser le bouton « Installer Manjaro », puis suivre les étapes pour l’installer sur votre disque. Cela se fait très simplement et rapidement, et je ne reprendrai pas ici le déroulement de l’installation, car il existe de nombreux guides, qui sont finalement à peine nécessaires.

Choix des interfaces graphiques

Manjaro est disponible officiellement avec trois environnements de bureau : Xfce, KDE et GNOME. Pour chaque bureau, le thème et les couleurs Manjaro sont reprises, je trouve que les thèmes par défaut sont très agréables et très bien intégrés.

L’environnement GNOME :
L’environnement GNOME

L’environnement Xfce :
L’environnement XFCE

L’environnement KDE :
L'environnement KDE

Il existe également d’autres environnements de bureau proposés par la communauté. Je vous laisse en découvrir la liste !

De mon côté, j’ai une préférence pour GNOME, c’est pourquoi les captures et les explications suivantes seront réalisées avec cet environnement.

Les mises à jour

Tout comme Arch, Manjaro est une rolling release, c’est‑à‑dire que les mises à jour sont mises à disposition en continu. Vous passez d’une version de la distribution à une autre (par exemple de la 23.3 à la 24.0) sans vous en rendre compte, juste en mettant à jour vos paquets. Vous êtes donc assurés d’avoir toujours une distribution à niveau. Vous n’avez plus ce stress tous les six mois ou tous les deux ans d’avoir une mise à jour complète du système.
C’est également un avantage lorsque vous rencontrez un problème : la personne qui va vous aider est sûre que vous utilisez la dernière version.

Cependant, il faut savoir que Manjaro utilise ses propres dépôts et non ceux de Arch. Les paquets vont d’abord être testés avant d'arriver sur Manjaro, parfois un ou deux mois après leur sortie. C’est également pour cette raison que vous recevrez les mises à jour par lots, généralement toutes les deux à trois semaines.

La gestion des paquets

Le gestionnaire de paquets (ou Store d’applications pour ceux qui ne sont pas familiers avec Linux) est un élément central d’une distribution GNU/Linux. Celui de Manjaro utilise pamac, un dérivé de pacman qui provient de Arch Linux. Pamac est installé avec une interface graphique disponible pour KDE ou GTK (donc pour GNOME ou XFCE).

Éviter les problèmes lors des mises à jour

Les problèmes lors des mises à jour sont rares, mais ils existent et cela reste toujours ennuyeux. Voici quelques conseils pour les éviter :

  • lancer les mises à jour régulièrement, mais attendez tout de même un ou deux jours après leur publication ;
  • plutôt que d’exécuter les mises à jour via l’interface graphique, utilisez une console avec la commande :

    sudo pamac update -a

  • lors de chaque mise à jour, il y a une nouvelle entrée dans le forum Annoucements - Stable Updates. Un sondage permet de savoir combien de personnes ont eu un problème avec cette mise à jour, cela permet d’avoir une idée sur sa stabilité ;
    Mise à jour Manjaro

  • cette entrée du forum liste les bugs découverts pour cette mise à jour et les solutions pour résoudre les problèmes rencontrés ;
    Problèmes Manjaro

  • si la mise à jour paraît dangereuse pour votre système, lancez la via SSH ou via une console virtuelle (Ctrl + Alt + F3), en dehors de votre interface graphique.

Avant de prendre ces précautions, il m’est arrivé une ou deux fois d’avoir un problème au redémarrage, mais depuis, plus jamais de problème pour moi ! Et puis, je ne vais pas vous refaire la morale sur les sauvegardes à faire régulièrement. :)

Manjaro ne démarre plus : Utilisez le manjaro-chroot !

Avertissement : Cette méthode ne fonctionne pas avec le système de fichiers Btrfs

Si malgré ces précautions, Manjaro ne démarre plus (cela m'est arrivé lorsque mon PC s'est arrêté en cours de mise à jour), il me reste une astuce : l'outil chroot de Manjaro.
L'idée est de :
- Démarrer sur la clé USB avec l'image d'installation Manjaro
- Se connecter au système installé sur le disque dur
- Réparer le système en ligne de commande

Donc, démarrez Manjaro avec une clé USB (ou un DVD) comme vous l'avez fait pour l'installation.
Il faut monter les partitions sur lesquelles votre Manjaro est installée. Pour cela, utilisez le gestionnaire de fichiers et cliquez sur + Autres emplacements et cliquez sur la (ou les) partition(s) Manjaro pour les monter.

Montage des disques

Lancez un terminal et la commande :
manjaro-chroot -a

L'outil cherche alors l'emplacement de votre système et le monte automatiquement.

Vous pouvez alors lancer la commande que vous désirez sur le système qui ne démarre pas. Par exemple, pour terminer une mise à jour :
pamac update -a

Entrée dans le chroot

Installer des applications

Manjaro a développé une interface graphique (Pamac) pour chercher, installer et mettre à jour vos paquets.

pamac

Ajouter d'autres dépôts

Beaucoup de paquets sont disponibles sur Arch, mais il existe la possibilité d'ajouter d'autres dépôts via pamac. Allez pour cela dans les préférences de pamac et activez les dépôts AUR, Flatpak et Snap.

Pour accéder aux paquets snap, il faut installer le paquet
libpamac-snap-plugin

pamac

Voici maintenant ce que trouve Pamac lors d'une recherche du paquet Freecad :

pamac

Vous pouvez remarquer en colonne de gauche que vous pouvez installer des paquets de différentes provenances (dépôts officiels, AUR, Snap et Flatpak). C’est très important de comprendre d’où viennent vos paquets pour garantir la stabilité de votre système.

Je vais maintenant vous expliquer ce que sont ces dépôts et comment choisir parmi ceux-ci :

Dépôts officiels

Lorsque le paquet que vous recherchez est disponible dans les dépôts officiels, il faut privilégier ce type d’installation. C’est seulement si vous rencontrez un problème lors de l’exécution de l’application que vous pouvez l’installer via une autre source.

Flatpak et Snap

Snap et Flatpak sont deux magasins (Store) d’applications GNU/Linux qui poursuivent le même but : donner accès à des paquets qui peuvent être utilisés sur toutes les distributions.

Ces paquets prennent plus de place sur le disque dur car ils créent leur propre environnement d’exécution et utilisent donc moins de composants de Manjaro. Cependant, certains paquets ne sont tout simplement pas proposés par les dépôts Manjaro : Flatpak et Snap pourront alors vous sauver !

Manjaro vous permet d’installer et désinstaller des paquets Snap et Flatpak très facilement depuis l’interface et il ne faut pas s’en priver pour tester des applications, cela ne va pas alourdir le système après désinstallation.

Alors, comment choisir entre Flatpak et Snap ? Ce sont des concurrents, mais en gros :

  • la taille des paquets Flatpak est plus petite que Snap (moins de choses sont encapsulées) ;
  • Snap est propriété de Canonical (l’éditeur d’Ubuntu).

Donc, je vous conseillerais de privilégier Flatpak, et ensuite si cela ne fonctionne pas, d’utiliser Snap.

AUR

Enfin, il existe les paquets AUR (Arch User Repository), c’est un ensemble de paquets créés par les utilisateurs avant de rentrer dans les dépôts officiels. Ces paquets sont des listes de commandes qui permettent de compiler les sources du logiciel ou de télécharger et d'installer du code propriétaire. Parfois, ils ne sont plus maintenus ou contiennent des bogues, il faut donc les installer avec grande précaution.

Il y a également un problème technique avec les paquets AUR sur Manjaro, cela attire d'ailleurs de nombreuses critiques des utilisateurs Arch Linux vis à vis de Manjaro.
Manjaro utilise ses propres dépôts avec parfois des mises à jours de paquets qui arrivent plusieurs mois après être dans Arch Linux. Par contre, si vous installez un paquet AUR, il sera dans la même version que sur Arch.
Cela peut donc conduire à des dysfonctionnements sur Manjaro qu'il n'y a pas sur Arch. Comme les développeurs de AUR sont majoritairement sur Arch, cela les agace.

Je déconseille d’installer des logiciels depuis AUR, mais cela peut rester pratique dans certains cas (voir même l'unique solution). Personnellement, j’ai installé l’un de ces paquets pour mon imprimante Brother ou ma tablette graphique et cela fonctionne très bien.

Conclusion

Pour résumer :

  • dépôts officiels à privilégier pour l'installation de vos paquets ;
  • Flatpak à utiliser si non disponibles dans les dépôts ou si on veut seulement installer l’application pour un test ;
  • Snap à utiliser si le paquet Flatpak ne fonctionne pas ;
  • AUR déconseillé, à utiliser avec grande précaution.

Pamac est donc un point fort pour Manjaro, il permet, d’installer des paquets provenant de diverses sources et de disposer de versions très récentes. Malgré cela, le système reste très stable grâce au travail de la communauté Arch en amont et de la gestion des paquets Snap et Flatpak.

Utiliser et configurer Manjaro GNOME

Pas facile de s’y retrouver ici pour un débutant, c’est pourquoi je vais essayer de détailler certains outils. Ici, je ne vais parler que de la configuration avec Manjaro GNOME. Si vous utilisez KDE ou Xfce, ils seront peut-être différents, et peut-être plus centralisés…

Voici les différents outils qui vous permettent d'accéder à la configuration de Manjaro Gnome graphiquement :

  • GNOME control center - Aussi nommé Paramètres : Permet de configurer Gnome, mais aussi le système (Écrans, réseau, etc)
  • GNOME tweak tools - Aussi nommé Ajustements : Permet de configurer certains paramètres avancés de Gnome (Apparence, applications au démarrage, etc)
  • Gestionnaire de paramètres de Manjaro : Permet de configurer des choses spécifiques à Manjaro (Traductions, noyaux, etc)
  • Layouts : Permet de configurer l'apparence de Gnome mais aussi d'accéder facilement aux outils ci-dessus.

Rechercher dans le menu Activités

Si vous cherchez quelque chose sur Manjaro Gnome, commencez par utiliser le menu activité (menu en haut à gauche de la page ou bouton le plus à gauche de la barre d'outils) qui cherchera sur l'ensemble de votre l'ordinateur :
Gnome - activités

Ici, Gnome a trouvé l'application déjà installée Lollypop qui permet de lire de la musique, le répertoire Musique et propose des applications à installer en lien avec la musique.

Gnome - activités

Ici, Gnome vous propose d'accéder à vos imprimantes, d'en installer de nouvelles ou bien des applications en lien avec l'impression.

Gestionnaire de paramètres de Manjaro

Configuration
Vous retrouverez cet outil sur tous les environnements Manjaro. Les icônes sont assez explicites pour savoir ce qu'elles permettent de gérer. Voici cependant quelques précisions :

  • paquets linguistiques, c’est là qu’il faut aller si vous avez une application qui n’est pas traduite en français, c'est le cas par défaut pour Firefox ou Thunderbird ;
  • noyau, pour faire fonctionner certains matériels, il faut parfois changer de noyau ;
  • configuration matérielle, permet de connaître le matériel présent dans votre ordinateur et d’installer des pilotes propriétaires, ceux des cartes graphiques notamment.

Pour lancer cette application, cherchez Manjaro Gestionnaire dans le menu activités. Il est dommage que le sélecteur d'activités de Gnome ne liste pas les fonctionnalités incluses dans cette application.

Paramètres GNOME (GNOME control center)

Configuration

L’application GNOME Center permet de gérer tout ce qui va avec l’environnement GNOME :

  • les notifications ;
  • les applications par défaut ;
  • l’accessibilité.

Mais vous pouvez aussi configurer des choses en lien avec le matériel :

  • ajouter une imprimante ;
  • configurer le réseau ;
  • gérer les écrans.

Configuration

Et aussi, il y a des choses en doublon avec le gestionnaire de paramètres Manjaro :

  • régler la date et l’heure ;
  • créer un compte utilisateur.

Cependant, le menu Activités cherche parmi les options du Gnome control center, donc, je préfère passer par ce menu.

Ajustements GNOME (GNOME tweak tools)

Pour brouiller un peu mieux les pistes, GNOME propose un autre gestionnaire de paramètres.
Configuration

Il permet par exemple de :

  • choisir le thème GNOME utilisé ;
  • régler les polices de caractères ;
  • modifier la barre supérieure des fenêtres.

Bref, tout ce qui n'est pas dans le gestionnaire de paramètres.

Extensions GNOME (Extensions)

Configuration
GNOME propose également une interface pour gérer les extensions qui apportent des fonctionnalités (par exemple, la barre de lancement d’applications Dash to Dock qui est installée par défaut sur Manjaro GNOME).

Conclusion

La facilité de paramétrage de Manjaro GNOME, n’est certainement pas son point fort pour le débutant : tout est là, mais il faut chercher ! La solution est sans doute dans l’une des applications listée ci‑dessus…
Pour les versions KDE et XFCE, le nombre d’outils semble plus limité : ouf !

La communauté

Manjaro est un projet communautaire. Le site propose à la vente du matériel informatique pour soutenir le projet. Cette année, il y a eu un peu de rififi et le départ de certains développeurs importants. À l’utilisation de la distribution, cela ne s’est pas ressenti.

Pour la documentation, le wiki Manjaro ne m’a jamais été d’une grande aide non plus. En revanche, le wiki Arch est une référence en la matière et vous pourrez trouver beaucoup d’informations pour la configuration avancée (serveur, système, etc.). La version en français mérite également le coup d’œil.

Pour poser vos questions ou chercher une réponse, il y a le forum Manjaro officiel et un forum en français très actif et sympathique.

Les alternatives à Manjaro

Manjaro essuie un nombre assez important de critiques, je vais en lister quelques unes ici :
- Elle possède ses propres dépôts, d'où des problèmes avec les paquets AUR
- Elle profite du travail de Arch et propose du merchandising

Si cela est bloquant pour vous, vous pouvez essayer trois autres distributions :
- ArchLinux bien sûr ! Un peu moins pour les débutants, mais sa réputation est faite !
- EndeavourOS est une alternative, plus proche de Arch que Manjaro mais plus simple à installer que Arch
- Garuda Linux : Quelqu'un pour faire une description de cette distrib ?

Pour finir

J’ai écrit cet article pour les personnes qui débutent avec Manjaro, mais j’aurais pu également évoquer le shell zsh par défaut, l’installation automatique de tout mon matériel, de l’extension Dash to Dock installée et configurée par défaut, ainsi que la stabilité de l’ensemble…

Comme toutes les distributions GNU/Linux, elle convient bien sûr à des utilisateurs plus avancés. De mon côté, après être passé par Mandrake, Ubuntu, Linux Mint, Debian Sid, me voilà pleinement satisfait avec Manjaro !

Ceci étant dit, je pense que le choix d'une distribution linux n'est plus aussi important qu'il l'était il y a dix ans. On navigue entre le bon, le très bon et l'excellent ! Difficile de se tromper.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Créatures ou IA : consultez, manipulez & annotez les images des bibliothèques, musées… grâce à IIIF

L’initiative IIIF, pour International Image Interoperability Framework, est née de la constatation que la diffusion d’images patrimoniales sur le web était « trop lente, trop coûteuse, trop décousue, trop complexe ». IIIF apporte une solution pérenne et élégante à ces difficultés en conciliant accessibilité, interopérabilité et sobriété. Il intéresse les GLAM (collections, bibliothèques, archives, musées, etc.) ainsi que les acteurs de l’enseignement et de la recherche.

Concrètement, IIIF créé un cadre technique commun grâce auquel les fournisseurs peuvent délivrer leurs contenus sur le web de manière standardisée, afin de les rendre consultables, manipulables et annotables par n’importe quelle application compatible.

International Image Interoperability Framework

Sommaire

Origine de IIIF

En 2010, constitution d’un groupe de réflexion et d’expérimentation sur l’interopérabilité des manuscrits médiévaux numérisés à l’initiative de l’université de Stanford. Ses travaux ont conduit à l’élaboration d’un modèle de données Shared Canvas basé sur le modèle d’annotation du W3C.

À la même époque, de grandes bibliothèques nationales et des universités ont travaillé à la définition d’un mécanisme d’échange des images pour aboutir en 2012 à la publication de la version 1 de l’API Image de l'International Image Interoperability Framework (IIIF).

Le Consortium IIIF a été créé en 2015 par onze institutions : la British Library, Artstor, Die Bayerische Staatsbibliothek, la Bibliothèque nationale de France, Nasjonalbiblioteket (Norvège), Wellcome Trust, et les universités d’Oxford, Stanford, Cornell, Princeton et Yale. Il compte actuellement 69 membres.

Qu’est-ce que IIIF ?

Un aspect spectaculaire de IIIF réside dans la visualisation fluide des images et le zoom profond, cf. Sagami River, Kyoto (1660?-1670?). Princeton University, mais IIIF ne se résume pas à ça, loin de là.

_Sagami River, Kyoto (1660?-1670?) affiché par le visualiseur libre UniversalViewer

IIIF désigne à la fois le cadre technique partagé d’un ensemble de protocoles ouverts et une communauté humaine qui les implémente, développe des logiciels et in fine expose des contenus audiovisuels interopérables.

Ce standard de fait est utilisé par de plus en plus d’institutions culturelles — collections, bibliothèques, musées, archives, etc. — et scientifiques — universités, labos, muséums, etc. Ses fonctionnalités s’étendent maintenant à l’audio et à la vidéo ; la prise en compte de la 3D est en cours.

Pour l’heure, IIIF est surtout utilisé pour la diffusion d’images numériques. Ce sont ainsi des centaines de millions d’images qui deviennent véritablement découvrables, consultables, comparables, manipulables, citables, annotables et mixables par n’importe quelle application compatible capable de se « brancher » sur les entrepôts des uns et des autres.

Sans téléchargement de fichiers images, ces ressources de « première main » sont immédiatement utilisables par les professionnels comme par les amateurs. Elles intéressent aussi les chercheurs, les enseignants et les élèves, et les médiateurs culturels, scientifiques et artistiques. IIIF facilite grandement la diffusion, la réutilisation et la valorisation de toutes ces ressources disséminées.

Principe général d’interopérabilité de IIIF : trois applications différentes sont branchées à trois entrepôts IIIF (source : Biblissima+ — Licence Ouverte / Open License 2.0)
Principe général d’interopérabilité de IIIF : trois applications différentes sont branchées à trois entrepôts IIIF (source : Biblissima+ — Licence Ouverte / Open License 2.0)

Visualisation d’un document

Photo de Bob Fitch, Martin Luther King Jr. & Joan Baez (1966), visualisée avec le logiciel libre Tify

Copie d’écran du logiciel libre Tify présentant une photographie de Martin Luther King et de Joan Baez (Bob Fitch, 1966). Ce document est fourni par un serveur IIIF opéré par l’université de Stanford.

Visualisation de plusieurs documents

La magie IIIF c’est la capacité de jongler avec les références des ressources, par exemple, pour les réunir dans des bibliothèques virtuelles ou encore pour servir de points d’entrée aux robots et autres IA afin d’analyser les documents.

Léonard Limosin est un peintre, émailleur, dessinateur et graveur français du XVIe siècle. Deux de ses œuvres sont présentées ci-après dans le visualiseur libre IIIF Mirador.

Vues d’œuvres de Léonard Limosin avec le logiciel libre Mirador

Sur cette page, vous pouvez explorer chaque image et zoomer, les comparer, lire leurs métadonnées, passer en plein écran ou agencer différemment les fenêtres. L’interface de Mirador vous permet aussi d’accéder à d’autres références en cliquant sur le bouton rond bleu puis en sélectionnant les documents préenregistrés.

Vous avez aussi la possibilité d’en ajouter d’autres via le bouton bleu Ajouter une ressource en bas à droite, ensuite en insérant l’URL d’un manifeste IIIF. En faisant une recherche sur Léonard Limosin vous trouverez différentes collections comportant certaines de ses œuvres. Certaines les exposent au standard IIIF. Dans ce cas, pour chaque notice il s’agit de récupérer le lien d’un manifeste IIIF (explicite ou associé au logo IIIF). Exemple, avec cette Crucifixion au Fitzwilliam Museum (Cambridge).

Le logiciel libre Omeka dispose de fonctionnalités IIIF et permet de créer des bibliothèques virtuelles de ressources IIIF.

Apports de IIIF

D’après IIIF en 5 minutes.

Pour les usagers

L’accès à des images de haute qualité ainsi qu’à leurs métadonnées, large choix de visualiseurs libres :

Ces outils, et d’autres encore, offrent une large palette d’interfaces riches et universelles pour :

Il existe de nombreux dispositifs pour utiliser ces ressources de « première main » et corpus dans un environnement éducatif et de recherche.

Pour les diffuseurs

  • bénéficier d’une manière standardisée, cohérente et efficace, de présenter et de partager leurs collections,
  • améliorer leur visibilité, l’accessibilité à leurs données et développer des espaces de collaboration et de recherche,
  • faciliter la gestion des ressources numériques en garantissant un accès homogène et pérenne,
  • promouvoir la participation des usagers en mobilisant des outils avancés pour l’exploration et l’utilisation des ressources,
  • proposer des projets de transcription, de crowdsourcing ou de sciences participatives en fournissant des documents annotables,
  • réduire et mutualiser les coûts en utilisant un standard ouvert, des services et des logiciels éprouvés.

Pour les développeurs

Il existe de nombreux logiciels et composants compatibles avec les API de IIIF, beaucoup sont libres. La page officielle Awesome IIIF recense les principaux ainsi qu’un grand nombre de ressources documentaires et de services.

IIIF est entièrement basé sur les standards et l’architecture du Web (principes REST et du Linked Data, Web Annotation Model du W3C, JSON-LD) ce qui facilite le partage et la réutilisation des données.

Le découplage entre la couche serveur et la couche cliente, la modularité des composants logiciels, la ré-utilisabilité des ressources offrent une grande souplesse et réduit la dépendance à un logiciel ou un prestataire.

La communauté des usagers et des développeurs est active.

Comment ça marche ?

Le manifeste est un élément essentiel de IIIF. C’est un document au format JSON-LD qui représente généralement un objet physique numérisé tel qu’un livre, une œuvre d’art, un numéro de journal, etc. Il peut également rassembler des éléments de provenances diverses. Il décrit l’ensemble du document, ses métadonnées, sa structure et référence les images et les médias qu’il embarque.

Les liens des manifestes IIIF sont plus ou moins faciles à trouver dans les notices des catalogues. Une méthode simple consiste à rechercher le logo IIIF ou à explorer les informations fournies par les visualiseurs. Le site officiel de IIIF alimente un annuaire non exhaustif des sites et, site par site, fournit généralement un mode d’emploi pour récupérer les manifestes.

Techniquement, IIIF comporte deux API principales, l’API Image et l’API Presentation qui fonctionnent de concert.

API Image

L’API Image fournit des informations basiques sur l’image ainsi que les pixels de l’image entière ou de zones à la demande.

Elle se présente avec les éléments suivants :

  • une URL d’accès aux informations techniques d’une image, abcd1234 est un exemple d’identifiant :
    http://www.example.org/image-service/abcd1234/info.json
  • une URL à construire à la carte pour récupérer et manipuler tout ou partie de l’image en précisant la zone, la taille, l’orientation, la qualité et le format de l’image à produire.

schéma de l’URL API Image

Voilà ce que ça donne en pratique avec l’image de test. Attention ! LinuxFR met en cache les images, si vous souhaitez effectuer les manipulations, copiez et modifiez les paramètres des url ci-après.

Le fichier info.jsonest le suivant :

  • https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/info.json

  • rendu homothétique de l’image entière avec une largeur de 300px

    https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/full/300,/0/default.jpg

    image entière rendue homothétique avec une largeur de 300px

  • détail de la même image

    https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/1680,1100,1300,1300/300,/0/default.jpg

    détail

  • rotation et transformations

    https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/1680,1100,1300,1300/150,/45/default.jpg

    détail

    https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/1680,1100,1300,1300/150,/0/bitonal.jpg

    détail
    https://stacks.stanford.edu/image/iiif/ff139pd0160/K90113-43/1680,1100,1300,1300/150,/0/gray.jpg

    le rendu en niveaux de gris ne fonctionne pas avec ce serveur IIIF.

Pour en savoir plus consultez les spécifications de l’API Image (version 3.0 actuellement).

L’API Presentation

En complément à l’API Image, l’API Presentation fournit les propriétés d’un document IIIF : métadonnées, structures, annotations, etc.

Principales composantes d’un Manifeste IIIF

Principales composantes d’un Manifeste IIIF (source : Biblissima+ — Licence Ouverte / Open License 2.0)

Il existe de nombreux visualiseurs pour afficher ces documents et les informations associées. On distingue alors dans différentes zones le rôle de chacune des deux API principales.

API Image

Source : Biblissima+ — Licence Ouverte / Open License 2.0.

API Presentation

Source : Biblissima+ — Licence Ouverte / Open License 2.0.

À noter que le visualiseur optimise le trafic en ne demandant au serveur que la partie de l’image à afficher

Pour en savoir plus consultez les spécifications de l’API Presentation (version 3.0 actuellement).

Les autres API

Voir la page des spécifications, extensions, traductions et travaux en cours.

  • Authorization Flow (version 2.0) - décrit un système de contrôle d’accès.
  • Change Discovery (version 1.0) - fournit les informations nécessaires pour découvrir et utiliser les ressources IIIF.
  • Content Search (version 2.0) - définit le mécanisme d’interopérabilité permettant d’effectuer des recherches dans les annotations textuelles associées à un objet.
  • Content State (version 1.0) - permet de référencer tout ou partie d’un manifeste IIIF et de décrire des modalités d’accès.

Au-delà de l’image : l’audio, la vidéo et la 3D

Les références à des ressources audio et vidéo sont prises en compte dans la version 3.0 de l’API de présentation IIIF. À noter qu’il n’existe pas pour l’audio et pour la vidéo d’équivalents de l’API Image, en effet, cet aspect est pris en charge par les navigateurs. Exemple : audio et vidéo d’un morceau musical associés à la partition.

Il y a une forte demande pour la prise en compte de la 3D par IIIF. Un groupe de travail rassemble les institutions et les personnes intéressées. Il anime un dépôt Github qui rassemble les documents et expérimentations du groupe.

IIIF et IA

IIIF est de plus en plus utilisé par des dispositifs d’apprentissage et de reconnaissance automatique en raison de la facilité d’accès aux images entières ou à des zones, dans les définitions et qualités nécessaires. Il est aussi possible d’imaginer des IA qui génèrent automatiquement des manifestes annotés.

La société française Teklia s’est spécialisé dans ce domaine. Elle vient d'annoncer le passage sous licence libre de sa plateforme Arkindex.

Harvard Art Museums a créé AI Explorer qui mobilisent un certain nombre d’IA pour décortiquer des reproductions d’œuvres et des photographies.

Le Consortium IIIF a mis en place un groupe de travail et il existe une formation en ligne sur le sujet.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lettre d'information XMPP de février 2024

NdT — Ceci est une traduction de la lettre d’information publiée régulièrement par l’équipe de communication de la XSF, essayant de conserver les tournures de phrase et l’esprit de l’original. Elle est réalisée et publiée conjointement sur les sites XMPP.org, LinuxFr.org et JabberFR.org selon une procédure définie.

Bienvenue dans la lettre d’information XMPP, nous sommes ravis de vous retrouver ici ! Ce numéro couvre le mois de février 2024. Merci à tous nos lecteurs et aux contributeurs de cette lettre d'information !

Comme la présente lettre d’information, de nombreux projets et leurs efforts au sein de la communauté XMPP sont le résultat du travail bénévole de personnes. Si vous êtes satisfait des services et des logiciels que vous utilisez, pensez à dire merci ou à aider ces projets ! Vous souhaitez soutenir l’équipe de la lettre d’information ? Lisez la suite en bas de page.

    Sommaire

    Annonces de la XSF

    Bienvenue aux personnes ayant renouvelé leur adhésion et aux nouvelles adhésions du 1er trimestre 2024 !

    Si vous souhaitez rejoindre la XMPP Standards Foundation, postulez maintenant.

    XMPP et le Google Summer of Code 2024

    La XSF a été acceptée à nouveau comme organisation hôte du GSoC en 2024 ! Si cela vous intéresse, n'hésitez pas à nous contacter !

    Les idées de projet GSoC émanant d'organisations liées à XMPP sont les suivantes :

    Projets hébergés fiscalement par la XSF

    La XSF peut offrir une domiciliation fiscale pour les projets XMPP. Les candidatures sont à réaliser via Open Collective. Pour plus d'information, voir le billet de blog. Projets actuels pouvant être supportés:

    Événements XMPP

    • XMPP happy hour italienne [IT]: rencontre XMPP mensuelle italienne, chaque 3e lundi du mois à 19h00 (heure locale) (évenèment en ligne, avec partage vidéo et web en direct).

    Articles

    Nous sommes heureux d'annoncer le lancement de l'instance PeerTube XMPP-IT, une plateforme dédiée au partage et à la découverte de vidéos autour du protocole XMPP et ses applications. Les membres de la communauté XMPP sont encouragés à contribuer en créant et partageant leurs propres vidéos. Qu'il s'agisse de tutoriels, illustration de projets ou discussions sur des sujets XMPP, vos contributions sont bienvenues !

    JMP a fêté son 7e anniversaire ! Félicitations ! Découvrez la passerelle mobile-friendly vers les fournisseurs SIP pour passer des appels de votre mobile vers un téléphone fixe.

    jmp-sip-gateway

    Nouvelles des logiciels

    Clients et applications

    monocles chat est disponible sur Google Play. Elle apporte de nombreuses mises à jour comme une vue des commandes fonctionnelle et un meilleur support des applications WebXDC, mais aussi une première intégration moderne des autocollants.

    Serveurs

    • La version ejabberd 24.02 a été publiée, et elle prend en charge les protocoles TLS 1.3 et SASL2 avancés. Cette version apporte des améliorations de performance avec Bind 2 pour des temps de connexion plus rapides, ce qui est particulièrement crucial pour les utilisateurs de réseaux mobiles. La prise en charge de XEP-0424 : Message Retraction permet aux utilisateurs de gérer l'historique de leurs messages et de supprimer ce qu'ils ont posté par erreur.

    Bibliothèques et outils

    • GitLab XMPP Bot, un bot XMPP qui envoie des messages basés sur les hooks de GitLab a eu sa version 1.0.0. Ce bot est basé sur python-nbxmpp et il est actif dans le chat de support de Gajim.

    • go-xmpp 0.1.0 a été publié.

    • python-nbxmpp 4.5.4 a été publié, ce qui corrige quelques problèmes concernant les changements de sujet et l'analyse de la date.

    • Slixfeed est un bot d'information proposé en tant que composant client et service ; il peut gérer plusieurs chats simultanément et afficher des médias en ligne, ce qui, en plus d'être destiné principalement aux chats privés, le rend exceptionnellement utile pour les groupchats où les contenus visuels sont essentiels.

    • StropheJS 2.0.0 a été publié.

    • xmpp-rs s'est enrichi d'un Code de conduite et d'un guide de contribution. N'hésitez pas à venir dire boujour !

    Extensions et spécifications

    La XMPP Standards Foundation développe des extensions XMPP dans sa série de XEPs en plus des RFCs XMPP.

    Les développeurs et développeuses, et autres experts ou expertes en normes du monde entier collaborent à ces extensions, en développant de nouvelles spécifications pour les pratiques émergentes et en affinant les façons de faire existantes. Proposées par n’importe qui, les plus réussies finissent finales ou actives – selon leur type – tandis que les autres sont soigneusement archivées en tant qu’ajournées. Ce cycle de vie est décrit dans la XEP-0001, qui contient les définitions formelles et canoniques des types, états et processus. Pour en savoir plus sur le processus de normalisation. La communication autour des normes et des extensions se fait sur la liste de diffusion des normes (archive en ligne).

    Extensions proposées

    Le processus de développement d'une XEP commence par la rédaction d'une idée et sa soumission à l'Éditeur XMPP. Dans les deux semaines qui suivent, le Conseil décide d'accepter ou non cette proposition en tant que XEP expérimentale.

    • Pas de XEP proposée ce mois-ci.

    Nouvelles extensions

    • Pas de nouvelle XEP ce mois-ci.

    Extensions ajournées

    Si une XEP expérimentale n'est pas mise à jour pendant plus de douze mois, elle sera déplacée d'expérimentale à ajournée. Si une nouvelle mise à jour est effectuée, la XEP redeviendra expérimentale.

    • Aucune XEP ajournée ce mois-ci.

    Extensions rejetées

    • XEP-0360: Nonzas (are not Stanzas)

    Extensions mises-à-jour

    • Aucune XEP mise-à-jour ce mois-ci.

    Dernier appel

    Les derniers appels sont lancés une fois que tout le monde semble satisfait de l'état actuel d'une XEP. Une fois que le Conseil a décidé que la XEP semblait prête, l'Éditeur XMPP lance un dernier appel pour recueillir des commentaires. Les commentaires recueillis lors du dernier appel peuvent permettre d'améliorer la XEP avant de la renvoyer au Conseil pour qu'il la passe à l'état stable.

    • Pas de dernier appel ce mois-ci.

    Extensions stables

    • Aucune XEP n’est passée à stable ce mois-ci.

    Extensions dépréciées

    • Aucune XEP déclarée dépréciée ce mois-ci.

    Diffuser la nouvelle

    N'hésitez pas à partager les nouvelles sur d'autres réseaux :

    Consultez également notre Flux RSS !

    Vous recherchez des offres d'emploi ou souhaitez engager une consultante ou un consultant pour votre projet XMPP ? Visitez notre tableau des offres d'emploi XMPP.

    Contributeurs & traducteurs

    Il s’agit d’un effort communautaire, et nous aimerions remercier les traducteurs et traductrices pour leurs contributions. Les volontaires sont les bienvenus ! Les traductions de la lettre d’information XMPP seront publiées ici (avec un certain retard) :

    • anglais (original) : xmpp.org

      • contributeurs généraux : Adrien Bourmault (neox), Alexander "PapaTutuWawa", Arne, cal0pteryx, emus, Federico, Jonas Stein, Kris "poVoq", Licaon_Kter, Ludovic Bocquet, Mario Sabatino, melvo, MSavoritias (fae,ve), nicola, Simone Canaletti, XSF iTeam
    • français : jabberfr.org et linuxfr.org

      • traduction : Adrien Bourmault (neox), alkino, anubis, Arkem, Benoît Sibaud, mathieui, nyco, Pierre Jarillon, Ppjet6, Ysabeau
    • italien : notes.nicfab.eu

      • traduction : nicola

    Aidez-nous à créer la lettre d’information

    Cette lettre d’information XMPP est produite collaborativement par la communauté XMPP. La lettre d’information de chaque mois est rédigé dans ce simple pad. À la fin de chaque mois, le contenu du pad est fusionné dans le dépôt Github de la XSF. Nous sommes toujours heureux d’accueillir des contributeurs et contributrices. N’hésitez pas à vous joindre à la discussion dans notre salon public Comm-Team (MUC) et ainsi nous aider à soutenir cet effort communautaire. Vous avez un projet et vous voulez en parler ? Pensez à partager vos nouvelles ou vos événements ici, et à les promouvoir auprès d’un large public.

    Tâches régulières :

    • rassembler les nouvelles dans l'univers XMPP
    • bref résumé des nouvelles et évènements
    • résumé de la communication mensuelle des extensions (XEPs)
    • relecture du brouillon de lettre d'information
    • préparation d'infographies
    • traductions
    • communication via les réseaux sociaux

    Licence

    Cette lettre d’information est publiée sous la licence CC BY-SA.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    RootDB - une application web de reporting, auto-hebergée

    Logo de RootDB
    Présentation rapide de RootDB, une application auto-hébergeable open-source (AGPLv3), permettant de générer des rapports à base de requêtes SQL.

    Dashboard

    Sommaire

    Genèse du projet

    Pour les besoins d'un client, il fallait que je génère rapidement des statistiques d'usage diverses et variées (à bases de tableaux et graphiques), à partir de plusieurs base de données relationnelles classiques et que j'intègre ces rapports dans un backoffice.

    Le premier réflexe fut de me tourner vers une solution que j'ai utilisée pendant une dizaine d'années auparavant et qui se nomme MyDBR. Cela répondait parfaitement à son besoin tout en étant abordable. MyDBR, bien maitrisé, permet de faire énormément de choses, mais l'interface est vraiment datée et l'accès aux fonctionnalités des bibliothèques graphiques se fait par l’intermédiaire de wrappers en SQL.

    J'ai cherché des alternatives, auto-hébergeables, simples à mettre en place, maintenues et avec la même logique pour la création de rapport mais je n'ai pas trouvé mon bonheur. Il y a, évidemment, pleins de solutions qui existent mais il y avait toujours quelque chose qui n'allait pas après essai, que ce soit dans la manière de générer des rapports ou bien les pré-requis, parfois compliqués, pour l'hébergement.

    D'ou l'idée de créer, avec un collègue, notre propre solution de reporting - parce que pourquoi pas, finalement.

    Open-source

    Ce projet n'était pas open-source à la base et nous pensions simplement vendre des licences d'utilisation.

    Sauf qu’aujourd’hui beaucoup de monde utilise le cloud, et ce dernier vient avec ses solutions intégrées de reporting, limitant de fait l'intérêt de ce genre de projet. Pour faire bref, je reste convaincu que tout le monde n'est pas sur le cloud et que ce genre de solution peut encore intéresser quelques personnes.
    À cause des doutes sur la pertinence même du projet, je n'ai jamais sérieusement cherché du financement, ce qui ne m'a jamais permis d'être à temps plein dessus. Nous avons donc mis du temps avant de produire quelque chose d'exploitable dans un environnement de production : un an et demi environ.
    À cela s'ajoute le fait que ce projet n'existerait pas sans toutes les briques open-source sur lesquelles il se base. Et comme c'est l'open-source qui me fait vivre depuis un certain nombre d'années, il me semblait finalement bien plus naturel de rendre ce projet open-source (licence AGPLv3) que d'essayer de le vendre en chiffrant le code source.

    RootDB ?

    Étant familier du SQL et du JavaScript, nous voulions avoir une solution qui ne mette pas de bâtons dans les roues du développeur, à savoir :

    • utiliser principalement le SQL pour la récupération et le traitement des données ;
    • avoir un accès intégral à la bibliothèque graphique choisie ;

    Ce choix de préférer un environnement de développement de rapport orienté développeur est assumé, d'où le nom du projet.

    Fonctionnalités

    Je ne vais pas vous présenter toutes les fonctionnalités car le site web principal et l'instance de démonstration les présentent déjà correctement. Je vais donc plutôt mettre en avant les spécificités du projet.

    Websocket

    Les requêtes SQL peuvent prendre du temps à tourner, surtout si les tables ne sont pas correctement optimisées. Par conséquent l'interface repose lourdement sur les websockets afin d'éviter les problèmes de timeout. Quand un rapport est exécuté, l'exécution des différentes requêtes est dispatchée de manière asynchrone et les vues affichent des résultats uniquement quand les données arrivent sur le websocket du rapport.
    D'une manière générale toute l'interface est rafraichie par websocket.

    Bibliothèques graphiques au choix

    Nous donnons accès à Chart.js ou D3.js, sans limitation, sans wrapper. Il est donc possible de se référer directement à la documentation officielle de ces deux bibliothèques.

    Onglets & Menu

    Nous aimons bien les menus. :)
    C'est simple, élégant et permet d'accéder à beaucoup d'options de manière claire.
    L'interface repose sur une barre de menu principale dynamique et une barre d'onglets dans lesquels s'affiche les différentes parties de l'application. Il est donc possible d'ouvrir plusieurs rapports (ou le même) dans le même onglet du navigateur web.

    Cache

    Il existe deux niveaux de cache :

    • un cache utilisateur, pratique pour cacher des résultats de manière temporaire afin de partager des résultats avec un autre utilisateur.
    • un cache système (jobs) ou il est possible de générer du cache de manière périodique. Nécessaire pour des rapports qui utilisent de très grosses tables qu'il n'est parfois pas possible d'optimiser.

    Paramètres en entrée

    Il est très facile de générer ses propres paramètres afin de filtrer les rapports, que ce soit sur une plage de date, une liste d'options sortie d'une base de données, des cases à cocher etc.

    Liens entre rapports

    Que ce soit avec Chart.js ou bien un tableau, vous pouvez créer des liens entre vos rapports ou bien sur le même rapport pour faire des rapports de type drill-down.

    Hébergement

    Côté API, RootDB est une application Laravel qui fonctionne sur du PHP en version 8.2.x (voir 8.3.x, mais pas encore bien testé) et utilise Memcached pour la gestion du cache.
    Le serveur de websocket est propulsé par Laravel Reverb.
    Côté Frontend, il s'agit d'une application React classique, en TypeScript, qui utilise PrimeReact pour la suite de composants prêt-à-l'emploi.

    Conclusion

    Concernant les fonctionnalités que nous aimerions mettre en place petit à petit :

    • une interface de configuration pour Chart.js - afin de, quand même, rendre plus simple la configuration des charts, tout en laissant la liberté au développeur de coder en javascript les fonctionnalités avancés ;
    • un nouveau type de connecteur pour supporter Microsoft SQL Server ;
    • une fonctionnalité d'auto-rafraichissement des rapports ;
    • l'import asynchrone de gros fichiers CSV ou Excel.

    Nous pouvons aider à l'utilisation, par l’intermédiaire :

    • d'un salon discord mais ce n'est pas forcément idéal pour ce genre de projet. Je suis donc entrain de regarder du côté de Matrix, éventuellement ;
    • un forum classique.

    Voilà, c'était une brève présentation de RootDB.
    C'est un projet qui n'a pas encore été testé par beaucoup de monde, d’où cette présentation pour le faire connaitre un peu plus.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌