Journal MPW 4.2.0 released

Posté par  . Licence CC By‑SA.
Étiquettes :
24
8
juin
2017

Bonjour,

Je n'ai pas l'habitude d'écrire un journal, mais aujourd'hui je viens à vous pour faire un peu de pub et parler de mon expérience sur le développement d'un logiciel.

Donc on commence par la pub avec la sortie de la version 4.2.0 de manage-password alias mpw.
Qui n'est autre qu'un gestionnaire de mot de passe en cli, qui utilise GPG pour chiffrer les données.

Les améliorations, dans le désordre, sont:

  • gestion de plusieurs portefeuilles (base de donnée de mots de passe)
  • chiffrement d'un portefeuilles avec plusieurs clés GPG
  • gestion des codes OTP (One Time Password)
  • copie dans le presse papier du mot de passe / utilisateur / url / code OTP
  • import et export des données

Liens:

Histoire

Ce projet a commencé il y a 4 ans, je voulais avoir un projet de développement pour m'améliorer en programmation.

Ma première étape fut d'avoir quelque chose de fonctionnel rapidement, donc j'ai opté pour le format CSV avant que les données soient chiffrer.
Tout de suite j'ai délégué le chiffrement à GPG car je ne voulais pas réinventer la roue.
Au tout début je me suis orienté vers le python, vu que j'en faisais au travail, mais mon amour pour le ruby à vite repris le pas car je voulais me faire plaisir.
Déjà habitué à git, tout naturellement j'ai tout de suite créé mon repo.

Lors de la seconde étape, j'ai voulu tester des nouvelles bibliothèque de ce fait j'ai créé un serveur de synchronisation.
C'est aussi l'étape où j'ai voulu devenir un conformiste en créant une gem pour simplifier l'installation.
Mais c'est surtout la fin du CSV qui est vraiment un format vieillissant, que j'ai remplacé par du YAML qui est vraiment un bonheur à manier.

La 3eme étape fut un retour à la simplification avec la suppression du serveur des synchronisation que j'avais créé précédemment.
Ce fut aussi une étape pour consolider les bases et améliorer grandement l'interface, et ajouter quelques améliorations comme la gestion de l'OTP.

La 4eme et dernière étape fut une grosse étape de conformiste avec la création de test unitaire, de l'utilisation de rubocop (correcteur syntaxique pour ruby), ce qui a permit de corriger pas mal de bug.
De plus les commentaires ont été réécrit au format YARN, ce qui permet de générer une documentation HTML.
Un dernier effort de simplification a été réalisé pour supprimer toutes les synchronisations, car je pense que de nos jours il suffit de mettre le fichier mpw dans un cloud pour le synchroniser.
Pour automatiser les tests j'utilise travis.

Conclusion

Donc ce qui en ressort au final pour moi:

  • les tests unitaires sont indispensables, mais pas forcément facile à mettre en place quand on a une application qui a besoin d'un environnement complet
  • l'utilisation d'un correcteur syntaxique (rubocop dans mon cas) est un vrai plus et permet d'avoir un code cohérent
  • comme prévu je me suis amélioré en programmation, ce qui m'aide dans ma vie de tous les jours
  • petit plus, j'ai amélioré mon vim avec des plugins pour être plus efficace dans mon développement

Je tiens à dire que même si le projet à 4 ans, je n'ai pas forcément assidu, j'ai eu des grands passages à blanc car j'avais d'autres licornes à fouetter.

  • # Oups

    Posté par  (site web personnel) . Évalué à 3.

    J'ai cru que le MPW d'Apple renaissait.

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

  • # password-store

    Posté par  (site web personnel) . Évalué à 1.

    Quelle différences avec password-store ? (un autre gestionnaire de mots de passe en CLI, qui wrappe GPG)

    • [^] # Re: password-store

      Posté par  . Évalué à 3.

      J'ai vite lu la doc de password-store et je dois dire qu'il y a peu de différence, une des amélioration que j'apporte c'est la gestion des codes OTP.
      Dans le même genre il y a aussi passpie qui est écrit en python.

      Après le but de ce projet n'a jamais été de sortir un logiciel révolutionnaire, c'était surtout pour me faire plaisir.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.