Skip to content

📝 Application de Prise de Notes en Rust. Une application moderne et Ă©lĂ©gante de prise de notes dĂ©veloppĂ©e en Rust avec une interface utilisateur en mode sombre, offrant une expĂ©rience fluide et intuitive pour gĂ©rer vos notes quotidiennes.

Notifications You must be signed in to change notification settings

michaelgermini/Application-de-Prise-de-Notes-en-Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Application de Prise de Notes en Rust

Une application moderne et élégante de prise de notes développée en Rust avec une interface utilisateur en mode sombre, offrant une expérience fluide et intuitive pour gérer vos notes quotidiennes.

Interface Preview

✹ FonctionnalitĂ©s

Fonctionnalités principales

  • 🌙 Interface en mode sombre - Plusieurs thĂšmes personnalisables (Sombre, Bleu, Vert, Clair) pour un confort visuel optimal
  • 📝 CrĂ©ation et Ă©dition de notes - Éditeur de texte riche avec support de 35+ lignes en mode normal
  • đŸ’Ÿ Sauvegarde automatique - Sauvegarde automatique aprĂšs 3 secondes d'inactivitĂ©
  • 🔍 Recherche avancĂ©e - Recherche par texte, par tags ou par date
  • đŸ·ïž SystĂšme de tags - Organisez vos notes avec des tags personnalisĂ©s
  • 📊 Statistiques - Suivez le nombre de notes, mots et caractĂšres
  • 📄 Support Markdown - Aperçu et formatage Markdown pour vos notes
  • 📜 Historique des versions - Jusqu'Ă  10 versions prĂ©cĂ©dentes de chaque note avec restauration
  • đŸ“€ Export/Import - Exportez et importez vos notes au format JSON
  • ⌚ Raccourcis clavier - Navigation rapide avec Ctrl+S, Ctrl+N, F11, Delete
  • ⛶ Mode plein Ă©cran - Focus total sur l'Ă©dition avec F11
  • đŸ—‘ïž Confirmation avant suppression - Protection contre les suppressions accidentelles

Fonctionnalités avancées

  • Tri intelligent - Triez vos notes par date (rĂ©centes/premiĂšres) ou par titre (A-Z/Z-A)
  • Aperçu amĂ©liorĂ© - Visualisez un aperçu de chaque note dans la liste
  • Compteur en temps rĂ©el - Affichez le nombre de mots et caractĂšres pendant la saisie
  • Recherche multi-critĂšres - Combinez recherche par texte, tags et dates
  • Interface responsive - Panneau latĂ©ral redimensionnable pour s'adapter Ă  vos besoins

🚀 Installation et ExĂ©cution

Prérequis

  • Rust et Cargo installĂ©s sur votre systĂšme
  • Pour installer Rust : https://www.rust-lang.org/tools/install
  • Windows : MSYS2 ou Visual Studio Build Tools (pour la compilation)
  • Linux : Compilateur C++ et dĂ©pendances systĂšme
  • macOS : Xcode Command Line Tools

Compilation

Compiler et exécuter l'application

cargo run --release

Compiler uniquement

cargo build --release

Emplacement des exécutables

L'exécutable sera dans :

  • Windows : target/release/prisedenote.exe
  • Linux : target/release/prisedenote (compiler sur Linux avec cargo build --release)
  • macOS : target/release/prisedenote (compiler sur macOS avec cargo build --release)

🐧 Compilation pour Linux depuis Windows

Pour compiler pour Linux depuis Windows, vous avez plusieurs options :

Option 1 : Utiliser WSL (Windows Subsystem for Linux) - Recommandé

wsl
cd /mnt/c/Users/mika/Desktop/prisedenote
cargo build --release

Option 2 : Utiliser Docker

docker run --rm -v "%cd%":/app -w /app rust:latest cargo build --release

Option 3 : Compiler directement sur un systĂšme Linux

cargo build --release

📖 Guide d'utilisation

Créer une nouvelle note

  1. Cliquez sur le bouton "➕ Nouvelle Note" dans le panneau de gauche
  2. Ou utilisez le raccourci clavier Ctrl+N
  3. Saisissez un titre et le contenu de votre note

Sauvegarder une note

  • Manuel : Cliquez sur "đŸ’Ÿ Sauvegarder" ou appuyez sur Ctrl+S
  • Automatique : La note est sauvegardĂ©e automatiquement aprĂšs 3 secondes d'inactivitĂ©

Rechercher des notes

  1. Utilisez la barre de recherche en haut du panneau gauche
  2. Recherchez par texte dans le titre ou le contenu
  3. Recherchez par tag en utilisant le champ "đŸ·ïž"
  4. Recherchez par date en utilisant le champ "📅"

Organiser avec des tags

  1. Dans l'éditeur, utilisez le champ "Tags"
  2. Séparez les tags par des virgules : travail, important, projet
  3. Les tags apparaissent dans la liste des notes

Utiliser les raccourcis clavier

Raccourci Action
Ctrl+S Sauvegarder la note actuelle
Ctrl+N Créer une nouvelle note
F11 Basculer en mode plein écran
Delete Supprimer la note actuelle (avec confirmation)

Exporter/Importer des notes

  1. Ouvrez le menu "⚙ Options" dans le panneau gauche
  2. Cliquez sur "đŸ“€ Exporter" pour sauvegarder toutes vos notes en JSON
  3. Cliquez sur "đŸ“„ Importer" pour charger des notes depuis un fichier JSON

Changer de thĂšme

  1. Ouvrez le menu "⚙ Options"
  2. Sélectionnez un thÚme : Sombre, Bleu, Vert ou Clair
  3. Le thÚme est appliqué immédiatement

Mode plein écran

  • Appuyez sur F11 ou cliquez sur "⛶ Plein Ă©cran"
  • Le panneau latĂ©ral disparaĂźt pour un focus total sur l'Ă©dition
  • Appuyez Ă  nouveau sur F11 pour revenir Ă  la vue normale

Historique des versions

  1. Ouvrez une note qui a été modifiée
  2. En bas de l'Ă©diteur, cliquez sur "📜 Historique"
  3. Consultez jusqu'à 10 versions précédentes
  4. Cliquez sur "Restaurer" pour revenir à une version antérieure

đŸ’Ÿ Stockage des donnĂ©es

Les notes sont automatiquement sauvegardées dans le fichier notes.json dans le répertoire de l'application. Ce fichier contient toutes vos notes au format JSON, ce qui permet :

  • Sauvegarde facile - Copiez simplement le fichier notes.json
  • PortabilitĂ© - TransfĂ©rez vos notes entre diffĂ©rentes installations
  • Backup - Faites des sauvegardes rĂ©guliĂšres de ce fichier

đŸ—ïž Structure du Projet

prisedenote/
├── Cargo.toml          # Configuration du projet et dĂ©pendances
├── README.md           # Documentation principale
├── .gitignore          # Fichiers ignorĂ©s par Git
├── assets/             # Ressources visuelles
│   ├── interface-preview.svg
│   ├── logo.svg
│   └── README.md
└── src/
    └── main.rs         # Code source principal de l'application

📚 Documentation

Documentation du code source

La documentation complĂšte du code source Rust est disponible et peut ĂȘtre gĂ©nĂ©rĂ©e avec :

# Générer la documentation
cargo doc --no-deps

# Ouvrir la documentation dans le navigateur
cargo doc --open --no-deps

La documentation générée se trouve dans target/doc/prisedenote/index.html et contient :

  • Documentation de toutes les structures (Note, NoteVersion, PriseDeNoteApp, etc.)
  • Documentation de toutes les fonctions et mĂ©thodes
  • Documentation des types et enums
  • Navigation interactive entre les modules

Documentation supplémentaire

  • DIMENSIONS.md - Dimensions dĂ©taillĂ©es de l'interface utilisateur
  • JSON-STORAGE.md - Documentation complĂšte du systĂšme d'enregistrement JSON

đŸ› ïž Technologies UtilisĂ©es

  • eframe - Framework pour crĂ©er des applications natives avec egui
  • egui - BibliothĂšque d'interface utilisateur immĂ©diate (immediate mode GUI)
  • serde / serde_json - SĂ©rialisation et dĂ©sĂ©rialisation JSON
  • chrono - Gestion des dates et heures
  • pulldown-cmark - Parser Markdown
  • rfd - Dialogues de fichiers natifs

🎹 CaractĂ©ristiques de l'interface

  • Panneau latĂ©ral : 400 pixels de largeur par dĂ©faut, redimensionnable
  • Zone d'Ă©dition : 35 lignes en mode normal, 40 lignes en mode plein Ă©cran
  • FenĂȘtre : 1400x900 pixels par dĂ©faut
  • ThĂšmes : 4 thĂšmes prĂ©dĂ©finis avec personnalisation des couleurs

📝 Format des notes

Chaque note contient :

  • Titre : Texte libre
  • Contenu : Texte multiligne avec support Markdown
  • Tags : Liste de tags sĂ©parĂ©s par des virgules
  • Date de crĂ©ation : Timestamp automatique
  • Date de modification : Mise Ă  jour automatique
  • Historique : Jusqu'Ă  10 versions prĂ©cĂ©dentes

🔒 SĂ©curitĂ© et confidentialitĂ©

  • DonnĂ©es locales : Toutes vos notes sont stockĂ©es localement sur votre machine
  • Pas de connexion rĂ©seau : L'application ne nĂ©cessite aucune connexion Internet
  • Format ouvert : Les notes sont au format JSON, facilement lisible et portable

đŸ€ Contribution

Les contributions sont les bienvenues ! N'hésitez pas à :

  • Ouvrir une issue pour signaler un bug ou proposer une fonctionnalitĂ©
  • CrĂ©er une pull request pour amĂ©liorer le code
  • Partager vos idĂ©es et suggestions

📄 Licence

Ce projet est disponible sous licence libre. Consultez le fichier de licence pour plus de détails.

đŸ‘€ Auteur

DĂ©veloppĂ© avec ❀ en Rust


Profitez de votre application de prise de notes ! 📝✹

About

📝 Application de Prise de Notes en Rust. Une application moderne et Ă©lĂ©gante de prise de notes dĂ©veloppĂ©e en Rust avec une interface utilisateur en mode sombre, offrant une expĂ©rience fluide et intuitive pour gĂ©rer vos notes quotidiennes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages