Cet article s'adresse aux autohébergeurs confirmés et aux développeurs open source. Pas aux débutants — et le mot « confirmé » a son importance. Si vous savez monter un service systemd, durcir SSH et configurer WireGuard sans suivre un tutoriel pas-à-pas, vous êtes dans la bonne cible. Sinon, la section ci-dessous est pour vous.
Et si je n'ai pas ce niveau ?
Vous n'avez pas besoin de tout savoir pour bénéficier du projet. Une version pré-configurée est envisagée pour ceux qui voudraient déployer SimoneBox sans partir de zéro. En attendant, contactez-moi — si vous avez un proche avec ce profil technique qui peut prendre en charge l'installation initiale, c'est souvent suffisant.
Pour ceux qui ont le niveau : voici les compétences concrètes que vous aurez besoin de mobiliser.
Linux avancé — au-delà des tutoriels de base
Savoir naviguer dans un terminal ne suffit pas. Installer et maintenir une SimoneBox demande une maîtrise réelle du système Linux — pas du niveau expert en noyau, mais clairement au-delà du « je sais faire un ls et un cd ».
Il faut notamment savoir créer un utilisateur dédié pour exécuter le service, lui donner exactement les permissions dont il a besoin — ni plus, ni moins — et comprendre pourquoi c'est important. Chaque service qui tourne avec trop de droits est une surface d'attaque potentielle.
Ce qu'il faut maîtriser côté Linux
- Gestion des utilisateurs et des groupes (
useradd,usermod,sudociblé) - Permissions fichiers et propriété (
chown,chmod, ACL si besoin) - Lecture des logs système (
journalctl,/var/log/) - Gestion des paquets (
apt, mises à jour sélectives) - Montage de systèmes de fichiers, partitions, espace disque
systemd — faire tourner les services en arrière-plan
La SimoneBox n'est pas un script qu'on lance à la main. C'est un ensemble de services qui démarrent automatiquement au démarrage de la machine, se relancent en cas d'erreur, et tournent en permanence en arrière-plan. Tout ça, c'est systemd qui s'en charge.
Il faut savoir écrire un fichier .service — définir l'utilisateur qui exécute le service, le répertoire de travail, la commande de lancement, les dépendances. Il faut savoir activer un service pour qu'il démarre au boot, vérifier son statut, lire ses logs en temps réel, et comprendre pourquoi il s'est arrêté.
Ce que ça change concrètement
La SimoneBox redémarre après une coupure de courant, un crash du processus Python, ou un reboot planifié. Rien à faire manuellement. C'est systemd qui s'en occupe.
Ce qu'il faut savoir faire
systemctl enable, start, status, restart — mais aussi écrire et déboguer un fichier .service quand quelque chose ne démarre pas comme prévu.
Sécurité et durcissement — la partie qu'on a tendance à négliger
Le Raspberry Pi de la SimoneBox n'a aucun port ouvert sur la box de la grand-mère — il sort vers Internet en client, sans rien exposer. En revanche, le serveur WireGuard central que vous hébergez chez vous expose un port UDP vers l'extérieur. C'est lui qui est en première ligne.
Cette section s'applique donc principalement à ce serveur central. C'est là que SSH doit être durci, que fail2ban doit tourner, que le pare-feu doit être configuré avec soin. La SimoneBox elle-même, derrière la NAT de la grand-mère, ne reçoit aucune connexion entrante et n'a pas besoin de ces protections.
Les briques de sécurité essentielles — pour le serveur central
- Pare-feu —
ufwouiptables: n'autoriser que le port UDP WireGuard et SSH - fail2ban — bloquer automatiquement les IP qui tentent de s'authentifier en brute force sur SSH
- SSH durci — désactiver l'authentification par mot de passe, n'autoriser que les clés
- Mises à jour de sécurité automatiques —
unattended-upgradespour les patchs critiques - Principe du moindre privilège — chaque service tourne sous l'utilisateur qui en a strictement besoin
Ces compétences ne s'improvisent pas. Il faut avoir déjà administré un serveur exposé, s'être déjà retrouvé bloqué par son propre pare-feu, et avoir compris pourquoi. L'expérience pratique est ici irremplaçable.
WireGuard VPN — la pièce la plus complexe
C'est probablement le point le plus délicat de toute l'installation. Et c'est aussi celui qui rend possible la maintenance à distance — sans laquelle une SimoneBox devient vite ingérable si on n'habite pas chez sa grand-mère.
Un rappel d'architecture d'abord : la tablette tactile et le Raspberry Pi forment une seule unité physique. Le Raspberry Pi est vissé au dos de l'écran. Ils ne se séparent jamais. L'ensemble — la SimoneBox — est posé chez la grand-mère, connecté à sa box opérateur. Aucun port n'est ouvert sur cette box. La SimoneBox n'a pas d'adresse IP fixe et n'en a pas besoin.
Le choix technique retenu est un VPN en topologie client-serveur avec WireGuard. Le serveur WireGuard tourne chez la personne qui maintient le projet — sur sa propre box, où un seul port UDP est ouvert. Le Raspberry Pi de la SimoneBox se connecte en client à ce serveur, de façon sortante, dès son démarrage. Les téléphones des proches font de même.
Résultat : tout le monde se retrouve sur le même réseau privé virtuel, quelle que soit la box opérateur de la grand-mère, quelle que soit son adresse IP du moment. La SimoneBox peut changer d'endroit, passer d'une box à une autre — elle retrouve le tunnel toute seule.
Ce que ça change concrètement
Aucun port à ouvrir chez la grand-mère. Aucune dépendance à son adresse IP. Les proches accèdent à la SimoneBox depuis leur téléphone — pour vérifier les logs, relancer un service, mettre à jour le code — comme si elle était sur leur réseau local.
Ce qu'il faut maîtriser
Monter un serveur WireGuard sur sa propre machine, ouvrir et sécuriser le port UDP correspondant sur sa box, générer des paires de clés pour chaque client (SimoneBox + téléphones), écrire les fichiers wg0.conf serveur et client, et déboguer une connexion qui ne s'établit pas.
WireGuard est bien documenté, et sa configuration est plus lisible que celle d'OpenVPN. Mais il reste un VPN en étoile — et monter le serveur central demande de comprendre ce qu'on fait. Une erreur laisse tous les clients hors du tunnel, ou expose involontairement des services qui ne devraient pas l'être.
Python et Flask — l'application web au cœur du système
Le cerveau de la SimoneBox est une application web écrite en Python avec Flask. C'est elle qui sert les pages à la tablette, qui déclenche les mises à jour d'images, qui orchestre les différents modules. Pas besoin d'en avoir écrit une de zéro pour la maintenir — mais il faut savoir lire et modifier du code Python sans se perdre.
La maintenance courante demande de savoir mettre à jour les dépendances, comprendre pourquoi un module a changé d'API entre deux versions, déboguer une traceback Python, et parfois modifier une fonction pour adapter le comportement à un nouveau flux RSS ou une nouvelle source d'images.
Ce qu'il faut savoir faire en Python
- Lire et modifier du code existant sans tout casser
- Gérer un environnement virtuel (
venv,pip,requirements.txt) - Déboguer une exception — lire une traceback, identifier la ligne et la cause
- Comprendre les bases de Flask : routes, templates, réponses HTTP
- Utiliser
requests,BeautifulSoup,PIL/Pillowpour les traitements d'images
Surveillance et mises à jour — ne pas laisser le système vieillir
Un système qui tourne sans supervision finit par avoir des problèmes — disque plein, certificat expiré, dépendance obsolète avec une faille de sécurité. La surveillance n'a pas besoin d'être sophistiquée, mais elle doit exister.
Le minimum : vérifier de temps en temps que les services sont actifs, que le disque n'est pas saturé, et que les logs ne contiennent pas d'erreurs répétées. Pour aller plus loin, on peut mettre en place un système qui envoie une alerte si un service tombe ou si l'espace disque passe sous un seuil.
Les mises à jour automatiques de sécurité s'occupent d'elles-mêmes une fois configurées. Mais les mises à jour des dépendances Python, elles, demandent une intervention manuelle — les tester sur une machine de développement avant de les déployer, vérifier que rien ne casse.
Adapter les flux RSS — une maintenance récurrente
Le contenu de la SimoneBox vient de flux RSS. Ces flux changent. Les sources modifient la structure de leurs pages, changent leurs URLs, font évoluer le format de leurs données. Ce qui fonctionnait il y a six mois peut ne plus fonctionner aujourd'hui — pas parce que SimoneBox est cassée, mais parce que la source a changé.
Maintenir SimoneBox sur le long terme, c'est donc aussi maintenir ces connexions avec l'extérieur. Quand une source d'actualités change son format, il faut être capable d'identifier le nouveau format et d'adapter le script. Ce n'est pas du travail quotidien — mais c'est du travail qui arrive.
Ce qui distingue un système maintenu d'un système abandonné, ce n'est pas la qualité du code initial. C'est la capacité à l'adapter quand le monde autour change.
Construire une communauté autour de ce projet
Si vous avez lu cet article jusqu'ici et que vous reconnaissez ces compétences comme les vôtres, vous êtes exactement le profil dont SimoneBox a besoin pour exister au-delà d'un projet personnel.
Ce qui manque pour que d'autres familles puissent en bénéficier : une documentation d'installation structurée, des scripts reproductibles, des personnes capables de déboguer les cas tordus et de faire évoluer le code quand les flux RSS changent. Ce n'est pas le profil de l'utilisateur final — mais c'est tout aussi indispensable.
Je ne sais pas encore quelle forme prendra cette communauté. Quelques personnes motivées valent mieux qu'un forum vide. Si vous pensez pouvoir contribuer — même ponctuellement — c'est maintenant qu'il est utile de se manifester.
Vous avez ces compétences — contribuez au projet
Dites-moi qui vous êtes : sysadmin, développeur Python, passionné d'autohébergement, ou quelqu'un qui a déjà monté quelque chose de similaire. Quelle partie du projet vous parle ? Qu'est-ce que vous seriez prêt à apporter ?
Pour comprendre ce que fait SimoneBox au quotidien — avant de décider de l'installer — voici ce que voit Simone et ce qui tourne derrière l'écran →
À lire aussi
Comment j'ai construit la première SimoneBox en une semaine →Privacy by design : pourquoi SimoneBox ne sera jamais dans un cloud →
Comment la SimoneBox fabrique ses images d'actualité →
Cadre photo numérique pour personne âgée : pourquoi j'en ai fabriqué un moi-même →
Cet article vous a intéressé ?