DG devGiants tech notes

Statut

Terminé

PyperSafe

Un coffre documentaire personnel qui protège les archives numériques et permet de retrouver aussi leurs originaux papier.

Python Tkinter SQLCipher XChaCha20-Poly1305 Linux & Windows

Le besoin

Factures, attestations et avis administratifs finissent souvent dispersés entre dossiers numériques et classeurs papier. PyperSafe leur donne un point d’entrée unique : une application de bureau locale qui importe les documents, protège leur contenu et leurs métadonnées, puis retrouve la bonne pièce par une recherche structurée.

Le parcours tient en quatre gestes : importer, décrire, rechercher, récupérer. Chaque document reçoit un identifiant stable. Des planches d’étiquettes relient cet identifiant à la pochette de l’original papier.

Ce que j’ai conçu et réalisé

  • Un catalogue de métadonnées avec recherche par tags, date, lot d’import et sensibilité.
  • Un stockage autonome dont l’emplacement est choisi par l’utilisateur et peut être déplacé.
  • Le chiffrement de SQLite avec SQLCipher et celui des documents avec XChaCha20-Poly1305.
  • Une clé de coffre dérivée de la phrase secrète avec Argon2id.
  • L’import parallèle avec publication atomique par document et retour arrière si son inscription au catalogue échoue.
  • La prévisualisation des images et PDF, l’export déchiffré et les étiquettes UID imprimables.
  • Des versions Linux et Windows avec une documentation illustrée reproductible.

Savoir-faire mis en œuvre

Le projet combine conception produit, modélisation métier, sécurité locale et interface desktop. Son architecture hexagonale sépare le domaine, les cas d’usage et les adaptateurs techniques. Le développement a été mené en TDD par tranches courtes, avec une attention particulière aux erreurs partielles, à l’intégrité du catalogue et aux opérations longues hors du thread graphique.

Le résultat est une application complète, installable et documentée, pensée autour d’un usage concret.

Voir le code et la documentation sur GitLab.