De Splync v1.0 à Splync v1.1
Lorsque vous vous inscrivez à Splync, vous devez saisir votre adresse e-mail et votre mot de passe. Comme je l’ai présenté dans des articles précédents, Splync v1.0 incluait déjà des mesures de sécurité de base. Vos transferts de données étaient protégés par HTTPS. Notre serveur était sécurisé avec SSH pour que seul le développeur puisse y accéder. Votre mot de passe n'était jamais stocké en clair mais haché dans la base de données pour que personne ne puisse le décoder. Cependant, le secret de la v1.0 était l'absence de vérification par e-mail lors de la création de compte. Splync, en tant que MVP (Produit Minimum Viable), a été lancé sans cette fonctionnalité car l'application n'était encore connue que par mes amis. Dans la v1.0, l'application vérifiait simplement si l'e-mail saisi contenait un “@” entre des chaînes de lettres et s'il était unique parmi les comptes existants.
Que se passe-t-il sans vérification par e-mail
Si une application permet aux utilisateurs de créer un compte sans vérifier leur identité, il est facile d'imaginer quelqu'un utilisant l'adresse e-mail d'une autre personne pour créer son propre compte. C'est exactement ce qui pourrait se produire. Bien que cela ne signifie pas que vos données seraient divulguées, cela signifie que vous ne pourriez pas vous inscrire avec votre propre adresse e-mail si elle avait déjà été utilisée. De plus, quelqu'un pourrait créer un compte avec une adresse e-mail totalement fictive. Cela pourrait ne pas sembler grave au début, mais deviendrait catastrophique si le développeur essayait plus tard de facturer ou de contacter cet utilisateur. Je ne saurais même pas qui est cette personne ! La vérification par e-mail était donc la prochaine étape pour Splync.
Comment fonctionne la vérification par e-mail
Dans Splync v1.1, lorsqu'un nouvel utilisateur s'inscrit, l'application envoie automatiquement un e-mail à l'adresse saisie. Cet e-mail contient un lien de vérification unique et auto-généré. En cliquant sur ce lien, l'utilisateur confirme qu'il a réellement accès à ce compte e-mail. Une fois vérifié, le serveur active le compte de l'utilisateur et l'enregistre dans la base de données en tant qu'utilisateur valide et authentifié. Cela vous semble familier, non ? Ce processus garantit que chaque compte sur Splync appartient à une personne réelle et joignable — un petit mais essentiel pas vers une communauté de confiance. Examinons de plus près comment ce flux est mis en œuvre d'un point de vue technique.
Implémentation technique de la vérification par e-mail
Le backend de Splync utilise Python/FastAPI et l'application mobile est développée avec SwiftUI. L'application ne gère que l'interface utilisateur, tandis que la logique de vérification et les informations sensibles restent en sécurité sur le serveur. Dans la v1.1, nous avons ajouté une étape standard de vérification par e-mail entre « utilisateur non vérifié » et « utilisateur vérifié ». Lorsqu'un nouvel utilisateur s'inscrit, l'application envoie les données saisies au serveur. Le serveur utilise une base de données MariaDB. Il enregistre l'utilisateur comme non vérifié dans la base de données. Le mot de passe est haché et sauvegardé, mais le compte n'est pas encore actif. À ce moment, le serveur génère également un jeton de vérification unique avec un temps d'expiration. Ensuite, en utilisant un serveur SMTP (Simple Mail Transfer Protocol), le serveur envoie un e-mail de vérification contenant un lien sécurisé à usage unique. Lorsque l'utilisateur clique sur le lien, le serveur vérifie que le jeton est valide et non expiré. Une fois vérifié, le compte devient actif et l'utilisateur peut se connecter normalement depuis l'application. Cela rend l'authentification sécurisée et légère.
Python ? FastAPI ? SwiftUI ? SMTP ? MariaDB
Si cela vous semble être un code secret, ne vous inquiétez pas — ce sont juste les outils qui font fonctionner le système ensemble. Pensez au processus d'inscription de Splync comme à un centre d'assistance vérifiant l'identité de quelqu'un. « Puis-je avoir votre nom et votre adresse e-mail ? » demande SwiftUI, l'opératrice sympathique à la réception. Vous lui donnez vos informations, et elle dit : « Pourriez-vous patienter un moment ? » Elle les transmet immédiatement à FastAPI, le système téléphonique interne du bureau. FastAPI la connecte à Python, le spécialiste en back-office en charge de la vérification. Python vérifie avec MariaDB, la base de données client, pour enregistrer vos informations en toute sécurité — marquant votre statut comme « non vérifié ». Puis, Python demande à SMTP, le messager externe, de vous envoyer un e-mail de confirmation avec un lien sécurisé. Lorsque vous cliquez sur le lien, Python vérifie qu'il est valide et met à jour votre statut dans MariaDB à « vérifié ». Enfin, FastAPI informe l'opératrice que votre identité a été confirmée, et votre compte est maintenant actif. Ensemble, ces éléments rendent le processus de vérification de Splync à la fois humain et sécurisé.
La prochaine étape dans le parcours de sécurité de Splync
La vérification par e-mail peut sembler une petite fonctionnalité, mais elle change tout en matière de confiance. Elle marque le moment où Splync évolue d'un projet personnel entre amis à une application publique où tout le monde peut rejoindre avec confiance. Envoyer un lien de vérification via SMTP ressemble même à la première poignée de main de Splync avec un nouvel utilisateur. En coulisses, cette fonctionnalité pose les bases pour de futures améliorations — réinitialisations de mot de passe, authentification multi-facteurs et récupération de compte. Chaque couche de sécurité s'appuie sur la précédente. Avec la vérification par e-mail, Splync v1.1 fait un pas en avant significatif — rendant la gestion des dépenses partagées non seulement pratique mais véritablement fiable.