Portefolio de Tim

SYA

Qui est SYA ?

SYA est un acronyme utilisé pour Save Your passwords Anonymously. Le but est ici de développer un application mobile qui permet de stocker ses mots de passes en local dans une base de données embarquée.

Elle essaye de répondre à une problématique actuelle, ou vont mes données et comment sont elles protégées. J’ai essayé dans ce projet de sécuriser au maximum l’application avec différentes méthodes qui ne sont pas très habituelles.

Page principale

Choix technologiques

Connexion

J’ai choisi de réaliser ce projet avec Flutter, un framework open-source de Google, basé sur le langage Dart, une alternative de Google à Javascript qui n’a jamais percé. Ce framework n’a que trois ans, mais il commence à émerger, notamment par sa capacité à être compilé pour Android et IOS tout en laissant la possibilité d’embarquer du code natif.

Ce projet est aussi pour moi une possibilité de mettre en pratique ce que j’ai appris en POO et en COO lors de mon DUT et de découvrir un nouveau langage qui a de grandes chances de devenir un standard d’ici quelques années.

J’utilise une base de données embarqué, SQLite, qui me permet de ne pas avoir besoin d’envoyer mes données vers l’extérieur.

Niveau design

Niveau design, j’ai essayé de suivre la ligne de conduite de Material IO et par extension celle de Google. J’ai donc conçu l’application graphiquement avant de commencer à la développer.

La sécurité

J’ai choisi d’utiliser une méthode qui n’est pas très conventionnelle. Je ne stocke pas le mot de passe de la base de données, mais je propose à l’utilisateur de saisir son mot de passe et de vérifier avec une clé ou une phrase si le mot de passe saisit est bon. S’il se trompe de mot de passe, il peut décrypter la base de données, mais ne pas avoir de données exploitables. Avec les méthodes actuelles, il n’est normalement pas possible d’arriver à cracker cette base de données, mais je ne suis pas expert en la matière. Dans tous les cas, les données restent en local sur le téléphone, ce qui implique qu’il est plus complexe d’arriver à les extraire pour les traiter.

Mes impressions

J’apprécie beaucoup développer ce projet, même si en ce moment le temps me manque. Flutter utilise une logique de développement graphique qui n’est pas basée sur un langage de balisage habituel. On utilise des widgets qui vont s’inclure les un dans les autres. D’une certaine façon, on trouve une ressemblance avec le balisage mais elle reste lointaine. J’aime bien développer avec cette logique même si elle demande un certain temps d’adaptation.

Visualisation d’un site et son mot de passe

J’ai aussi touché du doigt un domaine aussi passionnant que complexe, la cryptographie. Bien sur, je ne connais que très peu de chose, mais ça a été pour moi l’occasion de me renseigner sur un sujet assez en vogue et de découvrir de nouveaux algorithmes de cryptages.

Thème par Anders Norén