Un grand agenda photo interactif (et bien plus) pour personnes âgées

#prototype
#grand écran + raspberry + yunohost
#opensource
#libre et ouvert
#niveau difficulté : moyen

Ce billet concerne un projet né suite au premier confinement COVID de 2019. Ma maman de 86 ans n’était plus en capacité d’utiliser son ordinateur. Elle ne s’était jamais sentie à l’aise avec une tablette et nous recherchions un moyen de partager quelques nouvelles avec elle en plus des appels téléphoniques.

Comme je l’explique notamment ici, je ne suis pas développeur. Juste un utilisateur un peu curieux. Ce qui est proposé ici est un prototype composé de briques matérielles et logicielles déjà existantes.

Les retours que j’ai eus de la part de professionnels accompagnant des personnes âgées présentant des troubles cognitifs m’amènent à croire qu’un tel dispositif est aujourd’hui bienvenu.

Je ne peux qu’inviter des personnes plus expérimentées ou des écoles d’informatique et de design à creuser des solutions plus simples à mettre en œuvre et facilement personnalisables tout en restant dans l’esprit du logiciel libre.

Le contexte

Une famille géographiquement dispersée utilisant quotidiennement les outils numériques (téléphone, ordinateur) et une personne âgée (bénéficiaire) qui avait l’habitude de recevoir des emails avec des photos et qui n’est plus en mesure d’utiliser son ordinateur ou une tablette.

L’idée est née d’un écran piloté par 1 ou 2 membres de la famille (administrateurs) et dont les informations affichées viendraient de l’ensemble des personnes (utilisateurs) autorisées depuis leurs outils habituels. Une sorte de « télé familiale ».

Cahier des charges de base

Fonctionnalités :

  • Afficher un agenda partagé de façon très lisible sur les 3, 4, 5 prochains jours avec un focus particulier sur les activités du jour de la bénéficiaire. Cet agenda doit pouvoir être mis à jour depuis les outils habituels des utilisateurs.
  • Afficher des messages courts envoyés par email ou SMS par les utilisateurs à la bénéficiaire.
  • Afficher un diaporama des photos les plus récentes.
  • La bénéficiaire doit avoir accès aux informations sans aucune manipulation de sa part.

Contraintes matérielles :

  • L’écran d’affichage doit être très lisible, assez grand, mini 17″
  • Consommation électrique basse (il est possible que l’outil reste 24/24 sous tension s’il n’est pas possible d’automatiser l’arrêt et le démarrage).
  • Préférence pour du matériel d’occasion lorsque possible.

Contraintes logicielles :

  • Logiciels libres et interfaçables avec les outils habituels des utilisateurs.
  • Accès sécurisé, limité aux personnes identifiées.

Contraintes financières :

  • Moins de 200 €
  • Pas d’abonnement mensuel autres qu’un accès internet et de l’espace disque mutualisé sur un serveur.

Ça existe sûrement déjà, non ?

Après une recherche sur le net, je n’ai rien trouvé qui corresponde à ce type de cahier des charges.

Il existe bien quelques solutions de tablettes que l’on peut mettre à jour à distance, mais cela reste des tablettes de petit ou moyen format, pas forcément très chères mais surtout liées à un abonnement mensuel de plusieurs dizaines d’euros (comme cette solution, celle-ci ou celle-là). Au final un budget minimum de 300 € / an.
Oui… La Silver Economie est un marché, messieurs dames…

Après quelques échanges sur les réseaux et notamment avec Mike, j’en suis arrivé à une solution autour d’un ordinateur Raspberry Pi, d’un écran 21″, d’un site WordPress et d’un compte sur un Nextcloud.

Je détaille la solution sans rentrer dans tous les détails car, une fois ces briques posées, de multiples adaptations sont possibles.

La solution bricolée

Matériel utilisé

Comme c’était ma première expérience avec un Raspberry, j’ai opté pour leur dernier né, tout à fait adapté pour les débutants : le Raspberry Pi400. Avec le coffret de départ, j’avais un ordinateur complet pour moins de 110 €. Maintenant, je me dis qu’un Raspberry 3 autour de 80 € était suffisant.

Pour l’écran, j’ai été chez HappyCash, mais j’aurais pu aller chez Emmaüs ou AFB. L’important était pour moi de trouver un écran d’au moins 19″, avec interface DVI (il existe ensuite des câbles adaptateurs pas trop chers pour passer du DVI à l’HDMI, type du connecteur vidéo du Raspberry). J’ai trouvé un écran Phillips 21″, que j’ai préféré au DELL ou au Fujitsu pour sa basse consommation électrique en utilisation. L’écran plus le câble DVI-HDMI m’ont coûté 43 €.

J’aurais pu utiliser directement la télé (qui a des entrées HDMI) et inviter ma maman à utiliser sa télécommande pour aller sur la bonne « chaine », mais j’avais peur que la démarche soit trop compliquée pour elle. Là, elle n’a vraiment rien à faire.

Pour l’hébergement du site et de Nextcloud, je loue un petit VPS Kimsufi à 4 € TTC/mois (il serait possible d’héberger ça directement sur le Raspberry, mais je n’ai pas creusé cette option).

Locigiels utilisés

Côté VPS : Yunohost avec Nextcould et WordPress.

Côté Raspberry : Firefox avec le module tab reloader.

Paramétrage

Côté serveur (VPS)

Une fois WordPress et Nextcloud installés avec Yunohost, l’idée a été de trouver quelques plugins WordPress :

  • Affichage du calendrier partagé :
    • WP-CalDav2ICS qui convertit le calendrier Caldav de Nextcloud au format ICS et le stocke sur WordPress.
    • Puis ICS Calendar qui me permet de mettre en forme le calendrier .ICS récupéré
  • Affichage du diaporama :
    • Smartslider : le plugin est clairement surdimensionné, mais je n’ai pas trouvé un autre diaporama qui pouvait facilement s’afficher dans un widget.
  • Affichage des emails :
    • Postie permet de recevoir des recevoir des emails sur un blog WordPress et de transformer ces emails en billet de blog. J’ai réglé les paramètres pour accepter sur une adresse dédiée les emails envoyés depuis des adresses précises (celles des utilisateurs).
      Cette adresse dédiée est vérifiée toutes les 10 minutes et les emails valides sont automatiquement transformé en articles de blog.
      J’utilise ensuite le widget « articles récents » pour afficher les titres des billets (qui correspondent au sujet de l’email). Seul le titre est affiché (l’idée est d’afficher en gros caractères des messages courts).
  • Sécurisation de l’accès :
    • AAM est un plugin qui permet de définir très précisément des droits d’accès à certaines pages par jeton (token) dans l’url, et non par saisie d’un mot de passe. Cela facilite l’accès : il suffit d’envoyer l’url complète avec le jeton.
  • Bonus : affichage en temps réel de l’heure et de la date du jour
    • Pour ça, je me suis inspiré de ce javascript que j’insère dans un bloc code HTML dans la page principale.

Pour la mise en forme de tout ça, j’utilise le thème Overlay qui me permet sans trop entrer dans le code un affichage aussi sobre que possible.

L’écran est divisé de la façon suivante :

Les images du diaporama sont chargées par les utilisateurs sur un dossier partagé du Nextcloud et protégé par un mot de passe. Les administrateurs sont prévenus de l’arrivée de nouvelles images ; il leur reste à les ajouter manuellement (pour le moment) au diaporama Smartslider de WordPress.

Côté Raspberry

Ne connaissant pas du tout l’environnement du Raspberry, je me suis contenté d’une installation très basique : à la distribution standard, j’ai ajouté Firefox avec le module tab reloader.

La connexion à la page se fait par l’url sécurisée avec le jeton créé par le plugin AAM de WordPress. J’ai paramétré cette page comme page d’accueil, et programmé un rechargement automatique toutes les 10 minutes avec tab reloader (afin d’afficher les mises à jour de l’agenda et les nouveaux messages). Un petit alt-F11 permet de passer en mode « plein écran ».

Et voilà ! 🙂

Pour environ 150 € et 4€ par mois (hors accès internet), nous avons une solution très proche du cahier des charges (il manque les SMS).
Une solution qui pourra continuer à évoluer dans le temps sans coûts supplémentaires (juste du temps à passer 🙂 ).

Améliorations souhaitées

Je pense que WordPress n’est pas la solution la plus optimisée en terme de ressources pour remplir la mission.

Je souhaiterais que le Raspberry démarre Firefox au boot et sur la page d’accueil en mode plein écran, qu’il s’éteigne à minuit et se rallume à 8h. J’imagine que la chose est possible, mais pour le moment je ne sais pas le faire.

Je souhaiterais que les images téléversées par les utilisateurs sur le dossier Nextcloud soient automatiquement prises en compte dans le diaporama. Une fonctionnalité intéressante serait de prendre une image en pièce jointe d’un email et de l’afficher en même temps que le message court.

Quelques idées complémentaires :

  • Imaginer d’autres composants que « Agenda », « Diaporama », « Messages courts » et de composition d’écran.
  • Ajouter de la musique et de la video avec Peertube et Funkwhale par exemple.
  • Si WordPress ou un autre CMS existant : un thème spécialisé dans ces fonctions avec préconisation des modules adaptés.
  • Si développement spécifique : un mode administrateur simplifié pour permettre à des personnes moins à l’aise avec ces outils de piloter l’écran.

La bonne surprise

Le Raspberry P400 étant suffisamment costaud, j’ai ajouté une webcam (25 €) sur le port USB et paramétré un accès VNC afin de contrôler ce petit ordinateur à distance.
Le plus compliqué a été de réussir à trouver comment régler le firewall de la box internet afin d’autoriser l’accès à distance.

Je peux ainsi démarrer une visio avec ma maman ou lui projeter une video sans qu’elle ait à toucher quoi que ce soit.

C’est un plus que je ne visais pas au départ et qui est finalement le bienvenu. Il me reste maintenant à voir comment je peux facilement faire profiter les autres membres de la famille de cette fonctionnalité.