Bienvenue dans ce projet éducatif de générateur de mots de passe en Rust ! Ce projet a pour but de démontrer les étapes de création d'un code propre, bien structuré et testé, en utilisant Rust comme langage de programmation.
Le projet consiste en une bibliothèque de génération de mots de passe et une interface en ligne de commande (CLI) pour l'utiliser. À travers ce projet, nous explorerons les meilleures pratiques de développement, de la conception initiale aux tests approfondis.
Ce projet est organisé en plusieurs branches Git, chacune représentant une étape spécifique du processus de développement :
main(Étape 0) : Conception du projetetape1-code-fonctionnel: Implémentation de baseetape2-gestion-logs: Ajout de la gestion des logsetape3-gestion-erreurs: Implémentation de la gestion des erreurs avecanyhowetape4-documentation: Ajout de la documentation complèteetape5-tests: Implémentation des tests unitaires et d'intégration
Chaque branche construit sur la précédente, ajoutant de nouvelles fonctionnalités ou améliorations.
Vous êtes actuellement sur la branche main, qui représente l'étape 0 de notre projet : la phase de conception.
- Définir la structure globale du projet
- Identifier les principales fonctionnalités
- Planifier l'architecture de la bibliothèque et de la CLI
- Établir les lignes directrices pour le développement
- CONCEPTION.md : Ce document détaille l'architecture, les fonctionnalités, et les considérations techniques du projet.
Pour commencer le développement et voir l'implémentation de base, passez à la branche etape1-code-fonctionnel :
git checkout etape1-code-fonctionnel
- Explorez chaque branche dans l'ordre pour voir l'évolution du projet.
- Lisez les README spécifiques à chaque étape pour comprendre les changements et les nouveaux concepts introduits.
- Examinez le code et les tests pour voir comment les meilleures pratiques sont appliquées.
Ce projet est principalement éducatif, mais les suggestions d'amélioration sont les bienvenues. N'hésitez pas à ouvrir une issue pour discuter de potentielles améliorations ou corrections.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.