TABLETTE SYSTEM
Tablette System est une solution complète d'affichage en magasin. Un serveur installé sur place diffuse le catalogue produits d'une enseigne sur des tablettes disposées à des points clés du magasin, pour que les clients consultent l'offre là où ils en ont besoin. C'est le projet dont je suis le plus fier : le seul que j'ai mené de bout en bout — conception, développement, déploiement chez le client et maintenance — et livré via ma micro-entreprise.
- Node.js
- SQLite
- Kotlin
- Android
- C#
- .NET
- PM2
- Rôle
- Conception, développement et déploiement, en autonomie
- Contexte
- Projet client livré via ma micro-entreprise
- Statut
- En production en magasin
- Architecture
- Serveur local + tablettes Android verrouillées
Le principe
Le serveur tourne en local, dans le magasin. Les tablettes s'y connectent sur le réseau interne : pas de dépendance à une connexion internet, pas d'hébergement externe, et un affichage immédiat même en heure de pointe.
Chaque tablette est installée à un endroit précis du magasin et affiche le contenu correspondant à sa zone. Le personnel n'a rien à manipuler : les écrans s'allument, affichent et s'éteignent tout seuls.
La partie web — administration et affichage
Le site se divise en deux : une interface d'administration réservée au gérant, et les pages d'affichage consultées par les tablettes.
- Chaque tablette possède sa propre page d'affichage sur une route dédiée, du type /nom-tablette
- L'ajout d'une tablette depuis l'administration crée automatiquement son sous-site d'affichage — le système grandit avec le magasin
- Contenu entièrement personnalisable, tablette par tablette
- Base de données SQLite pour les données, et un dossier uploads pour les fichiers déposés (PDF, images, documents)
- Tout se pilote depuis l'admin, sans toucher au code ni au serveur
La partie Android — application kiosque
Les tablettes tournent sous une application kiosque maison, installée en Device Owner. Une fois lancée, elle prend le contrôle total de l'appareil : impossible d'en sortir, d'accéder aux réglages ou de lancer autre chose.
- Verrouillage kiosque complet : l'utilisateur ne peut pas quitter l'application
- Sortie du mode kiosque par une zone tactile cachée, à taper plusieurs fois, suivie d'un mot de passe
- Plages horaires configurables avec gestion de la mise en veille : les tablettes s'allument et s'éteignent aux horaires du magasin
- ADB persistant en Wi-Fi pour intervenir à distance sans démonter les supports
- Mise à jour à distance : l'application vérifie périodiquement un fichier update.json et télécharge elle-même la nouvelle version
Le déploiement
Installer le système sur une nouvelle machine devait rester simple, y compris pour quelqu'un qui n'est pas développeur. J'ai donc écrit un assistant d'installation en C# WinForms qui prend tout en charge.
- Installation automatique des dépendances : Node.js, Git, Android SDK Tools (ADB), scrcpy, Nmap
- Clonage du dépôt avec authentification GitHub chiffrée
- Configuration de PM2 pour que le serveur redémarre tout seul
- Création des tâches planifiées Windows
- Écran de fin avec une vidéo d'explication, via WebView2 et un serveur HTTP local
Ce que ce projet m'a apporté
C'est le projet qui m'a le plus appris, parce qu'il ne s'arrête pas au code. Il a fallu comprendre un besoin métier, choisir une architecture qui tienne dans un magasin réel, installer physiquement le matériel, former l'utilisateur, puis assurer le suivi et les mises à jour à distance.
Travailler pour un vrai client change la manière de développer : la fiabilité et la simplicité d'usage passent avant tout le reste.
Liens du projet
Recherche de stage · 2027
Ce projet vous parle ? Je cherche un stage de développement de 5 à 6 mois à partir de février 2027.
Me contacter