Wishlist — Quand la tech résout un problème de famille
2024
Wishlist est une application web que j'ai conçue et déployée de bout en bout, dans le but d'un usage familial. Elle permet à chaque membre de la famille de consulter les listes de souhaits des autres et de réserver discrètement un cadeau.
01.Le problème
Chaque année, c'est la même histoire. À l'approche des fêtes ou d'un anniversaire, les messages s'accumulent dans les groupes familiaux : "Qu'est-ce que tu veux pour Noël ?", "Attends, moi j'avais prévu d'offrir ça aussi…", "Mais tu voulais pas un pull ? Non c'était l'année dernière ça..."
Les solutions qui existent sur le marché (listes Amazon, apps dédiées...) mais elles imposent leur lot de compromis : créer des comptes sur des plateformes tierces, subir des publicités, dépendre d'un service qu'on ne contrôle pas. Sans parler du classique problème de confidentialité : comment réserver discrètement un cadeau sans que le destinataire ne le sache ? Bref, il me fallait une solution simple.
J'avais un besoin simple, concret, et récurrent. J'avais les compétences pour y répondre. Alors j'ai construit ma propre solution.
02.La solution
Wishlist est une application web que j'ai conçue et déployée de bout en bout. L'idée est volontairement simple : chaque membre de la famille peut consulter les listes de souhaits des autres et réserver discrètement un cadeau — sans que le destinataire ne puisse voir qui a pris quoi.
La gestion des rôles est au cœur de l'expérience : — Un visiteur consulte les listes et réserve ce qu'il souhaite offrir. — Un administrateur gère sa propre liste : il ajoute ses idées, les illustre avec des photos, précise les prix et les liens. — Un super-administrateur peut créer et gérer les comptes des membres de la famille.
J'ai également intégré un thème de Noël activable en un paramètre — parce que les détails qui font sourire comptent autant que les fonctionnalités.
Page login - Version Noël
Page login - Version anniversaire
Page d'accueil - Version anniversaire
Page d'accueil - Version Noël
Page admin - Gestion de la liste
03.Stack & Architecture
Le projet est structuré en deux parties distinctes — un frontend et un backend — qui communiquent via une API.
Côté interface, j'ai opté pour Next.js et React, avec une attention particulière portée à la fluidité : cartes animées, navigation intuitive, formulaires avec validation en temps réel, confirmation des actions sensibles via des boîtes de dialogue accessibles, design responsive.
Côté serveur, j'ai construit une API en Python avec FastAPI qui gère la logique métier : authentification sécurisée, gestion des droits par rôle, stockage des données, et même un export CSV pour les administrateurs qui veulent récupérer leurs données.
Concernant le déploiement, tout tourne dans des conteneurs Docker, orchestrés via Docker Compose et exposés derrière un reverse proxy (Traefik + CrowdSec) qui gère automatiquement le HTTPS et la protection contre les attaques.
Vue mobile - Page de login
Vue mobile - Page d'accueil
Ce projet illustre quelque chose d'essentiel pour moi : la technologie n'a de sens que si elle résout un vrai problème. Wishlist restera probablement dans le cercle privé. Mais c'est une application vivante et utilisée par mes proches. Ce projet a été l'occasion de concevoir une architecture complète — alliant la robustesse d'une API FastAPI à une interface React moderne, tout en gérant finement des rôles utilisateurs et des enjeux de confidentialité. C'est, finalement, ce qui définit mon approche de l'ingénierie logicielle : transformer une contrainte du quotidien en un outil simple, concret, sécurisé et qui sait se rendre indispensable.