TOOT Chalec

Quelqu'un connaît-il un bon générateur de mot de passe mémorable en français mais en ligne de commande sur linux ?

@mbess aspell -d fr dump master | grep ".\{4\}" | grep -Pv "[^A-Za-z]" | shuf -n 6 | paste -sd " "

Décomposition des commandes :
- « aspell -d fr dump master » dump l'ensemble du dictionnaire français d'aspell (nécessite généralement d'installer les paquets qui vont bien)
- « grep '.\{4\}' » exclue les mots de moins de 4 caractères
- « grep -Pv "[^A-Za-z]" » exclue les mots contenant des caractères autres que des lettres non-accentuées (je sais, c'est contestable)
- « shuf -n 6 » sélectionne aléatoirement 6 mots
- « paste -sd ' ' » met les mots sur une seule ligne et les sépare par une espace

En l'état c'est pas forcément top, mais tu peux remplacer le dump du dico aspell par une liste de mots personnalisée, par exemple tirée des mots les plus courants :
https://eduscol.education.fr/186/liste-de-frequence-lexicale

L'utiliser permet de virer un pipe :
grep ".\{4\}" "ma_liste.txt" | grep -Pv "[^A-Za-z]" | shuf -n 6 | paste -sd " "

Petit point d'attention : si comme moi tu as configuré certains alias (par exemple sur grep) il se peut que tu doives utiliser le chemin absolu vers le binaire (genre /bin/grep). Dans mon cas, ayant un « -n » dans mon alias grep, ça m'ajoute le numéro de ligne ce qui contient des caractères en dehors de des lettres et exclue donc tous les mots.

Dans l'idéal il faudrait un véritable projet dédié qui maintienne une liste de mots en sachant s'il s'agit d'un nom, verbe ou adjectif puis essayes de construire un semblant de phrase avec. Ça a l'air assez fun à faire.

@rodolphe Merci pour ta réponse détaillée, j'avais déjà une technique similaire avec hunspell. Ça peut-être utile pour les autres.
Sinon effectivement je pense qu'il faut un projet FOSS pour spécifiquement les mdp français.

@mbess Ce midi j'ai eu pas mal d'idées sur comment faire ça correctement et ça m'a donné envie de me pencher plus en détail sur le sujet. Après tout, les mots et phrase de passe sont un peu devenus ma spécialité. La seule chose qui me manque pour commencer c'est un nom pour ce projet.

Et voila, j'ai envie de faire ça en Rust, avec une lib commune pour le cœur du projet puis un exécutable en CLI et un avec une interface graphique.

@mbess La liste de mots de https://diceware.fr a été faite exactement pour ça.
replies
0
announces
0
likes
1

@rodolphe Go go! n'hésite pas à ne pas héberger le projet sur github Il y a par exemple https://codeberg.org/

@mbess Je connais bien Codeberg, mais je lui préfère ma propre instance de Forgejo 😉
https://git.what.tf/explore/repos

Pour l'instant, l'auto-hébergement sur une instance à inscription fermée n'est pas super pratique pour un logiciel libre. Mais une fois que Forgejo aura implémenté la fédération de forges ce sera nettement mieux.