Ce livre constitue une documentation exhaustive de l'application MiniSheet, un tableur moderne développé en Rust. Il couvre tous les aspects techniques, de l'architecture aux détails d'implémentation.
livre/
├── README.md # Ce fichier
├── TABLE_DES_MATIERES.md # Table des matières complète
├── chapitre01/ # Introduction à MiniSheet
│ ├── 1.1_presentation_generale.md
│ ├── 1.2_historique_motivations.md
│ ├── 1.3_technologies_utilisees.md
│ ├── 1.4_fonctionnalites_principales.md
│ └── 1.5_installation_premiers_pas.md
├── chapitre02/ # Architecture et conception
│ ├── 2.1_vue_ensemble_architecture.md
│ ├── 2.2_structure_modules.md
│ ├── 2.3_gestion_donnees.md
│ ├── 2.4_systeme_selection.md
│ ├── 2.5_gestion_themes_interface.md
│ └── 2.6_patterns_conception.md
├── chapitre03/ # Fonctionnalités de base
│ ├── 3.1_gestion_grille_cellules.md
│ ├── 3.2_navigation_feuille.md
│ ├── 3.3_edition_cellules.md
│ ├── 3.4_sauvegarde_chargement.md
│ ├── 3.5_raccourcis_clavier.md
│ └── 3.6_systeme_annulation.md
├── chapitre04/ # Formules et fonctions
│ ├── 4.1_introduction_formules.md
│ ├── 4.2_parseur_syntaxique.md
│ ├── 4.3_references_cellules.md
│ ├── 4.4_evaluation_expressions.md
│ └── 4.5_dependances_recalcul.md
├── chapitre05/ # Interface utilisateur
│ ├── 5.1_framework_egui.md
│ └── 5.2_conception_interface.md
├── chapitre06/ # Algorithmes et optimisation
│ └── 6.1_algorithmes_calcul.md
├── chapitre07/ # Fonctionnalités avancées
│ └── 7.1_manipulation_donnees.md
├── chapitre08/ # Perspectives et développement
│ ├── 8.1_limites_actuelles.md
│ └── 8.2_ameliorations_possibles.md
└── annexes/ # Annexes (à développer)
- Présentation générale et fonctionnalités
- Historique et motivations du projet
- Technologies utilisées (Rust, egui/eframe)
- Installation et premiers pas
- Vue d'ensemble de l'architecture
- Structure des modules principaux
- Gestion des données et types
- Système de sélection
- Gestion des thèmes
- Patterns de conception utilisés
- Gestion de la grille de cellules
- Navigation dans la feuille
- Édition des cellules
- Système de sauvegarde/chargement
- Raccourcis clavier
- Système d'annulation/rétablissement
- Introduction aux formules
- Analyseur syntaxique (Parser)
- Références de cellules (relatives, absolues, mixtes)
- Évaluation des expressions
- Gestion des dépendances et recalcul automatique
- Framework egui/eframe
- Conception de l'interface principale
- Algorithmes de calcul des formules
- Optimisations de performance
- Manipulation de données
- Remplissage automatique
- Tri et recherche
- Limites actuelles
- Améliorations possibles
- Vision d'avenir
- Comprendre l'architecture : Commencer par le chapitre 2
- Explorer le code : Se référer aux sections spécifiques selon les besoins
- Contribuer : Utiliser comme guide pour les modifications
- Découvrir les fonctionnalités : Chapitres 1, 3 et 7
- Maîtriser les formules : Chapitre 4 complet
- Optimiser l'usage : Chapitre 6
- Enseigner Rust : Utiliser comme exemple concret
- Algorithmique : Chapitres 4 et 6 pour les concepts
- Interface utilisateur : Chapitre 5
Ce livre contient de nombreux exemples de code Rust directement extraits ou inspirés du code source de MiniSheet. Tous les exemples sont :
- Fonctionnels : Testés et compilables
- Commentés : Expliqués en détail
- Idiomatiques : Suivent les conventions Rust
Ce livre est un document vivant qui évolue avec MiniSheet. Les contributions sont les bienvenues :
- Corrections : Signaler les erreurs ou imprécisions
- Améliorations : Suggestions d'explications plus claires
- Extensions : Nouveaux chapitres ou sections
- Traductions : Versions dans d'autres langues
Ce livre est fourni sous la même licence que MiniSheet : utilisation libre pour l'éducation et la recherche personnelle.
MiniSheet - Un tableur moderne écrit en Rust, conçu pour la performance et la pédagogie 🦀📊