Update documentation for v0.4.7 changes
Sync CHANGELOG, architecture docs, user guide, and i18n docs keys with recent features: log viewer, sticky budget headers, sortable report detail columns, amount toggle, migration repair, and startup retry logic. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
3e0f826256
commit
2a61ffcdb4
5 changed files with 63 additions and 17 deletions
11
CHANGELOG.md
11
CHANGELOG.md
|
|
@ -6,6 +6,17 @@
|
||||||
- Error boundary catches React crashes and displays an error page instead of a white screen
|
- Error boundary catches React crashes and displays an error page instead of a white screen
|
||||||
- Startup timeout (10s) on database connection — shows error page instead of infinite spinner
|
- Startup timeout (10s) on database connection — shows error page instead of infinite spinner
|
||||||
- Error page with "Refresh", "Check for updates", and contact/issue links
|
- Error page with "Refresh", "Check for updates", and contact/issue links
|
||||||
|
- Log viewer in settings page — captures console output, filterable by level, copyable, persists across refresh
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Report detail modal: sortable columns — click headers to sort by date, description, or amount (#1)
|
||||||
|
- Report detail modal: toggle to show/hide amounts column (#3)
|
||||||
|
- Budget table: column headers stay fixed when scrolling vertically (#2)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Auto-updater on Linux: `latest.json` version field no longer has `v` prefix, package registry upload is more robust
|
||||||
|
- Startup retry: DB connection retries up to 3 times before showing error page (fixes first-launch failure on Windows)
|
||||||
|
- Migration checksum mismatch: automatically repairs stale migration 1 checksum on startup
|
||||||
|
|
||||||
## [0.4.4]
|
## [0.4.4]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Architecture technique — Simpl'Résultat
|
# Architecture technique — Simpl'Résultat
|
||||||
|
|
||||||
> Document généré le 2026-02-19 — Version 0.3.7
|
> Document mis à jour le 2026-03-01 — Version 0.4.7
|
||||||
|
|
||||||
## Stack technique
|
## Stack technique
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
```
|
```
|
||||||
simpl-resultat/
|
simpl-resultat/
|
||||||
├── src/ # Frontend React/TypeScript
|
├── src/ # Frontend React/TypeScript
|
||||||
│ ├── components/ # 49 composants organisés par domaine
|
│ ├── components/ # 55 composants organisés par domaine
|
||||||
│ │ ├── adjustments/ # 3 composants
|
│ │ ├── adjustments/ # 3 composants
|
||||||
│ │ ├── budget/ # 5 composants
|
│ │ ├── budget/ # 5 composants
|
||||||
│ │ ├── categories/ # 5 composants
|
│ │ ├── categories/ # 5 composants
|
||||||
|
|
@ -35,7 +35,7 @@ simpl-resultat/
|
||||||
│ │ ├── layout/ # AppShell, Sidebar
|
│ │ ├── layout/ # AppShell, Sidebar
|
||||||
│ │ ├── profile/ # 3 composants (PIN, formulaire, switcher)
|
│ │ ├── profile/ # 3 composants (PIN, formulaire, switcher)
|
||||||
│ │ ├── reports/ # 8 composants (graphiques + rapport dynamique)
|
│ │ ├── reports/ # 8 composants (graphiques + rapport dynamique)
|
||||||
│ │ ├── settings/ # 2 composants
|
│ │ ├── settings/ # 3 composants (+ LogViewerCard)
|
||||||
│ │ ├── shared/ # 6 composants réutilisables
|
│ │ ├── shared/ # 6 composants réutilisables
|
||||||
│ │ └── transactions/ # 5 composants
|
│ │ └── transactions/ # 5 composants
|
||||||
│ ├── contexts/ # ProfileContext (état global profil)
|
│ ├── contexts/ # ProfileContext (état global profil)
|
||||||
|
|
@ -103,10 +103,11 @@ Les migrations sont définies inline dans `src-tauri/src/lib.rs` via `tauri_plug
|
||||||
| 4 | v4 | Ajout `is_inputable` sur `categories` |
|
| 4 | v4 | Ajout `is_inputable` sur `categories` |
|
||||||
| 5 | v5 | Création de `import_config_templates` |
|
| 5 | v5 | Création de `import_config_templates` |
|
||||||
| 6 | v6 | Changement contrainte unique `imported_files` (hash → filename) |
|
| 6 | v6 | Changement contrainte unique `imported_files` (hash → filename) |
|
||||||
|
| 7 | v7 | Ajout sous-catégories d'assurance (niveau 3) |
|
||||||
|
|
||||||
Pour les **nouveaux profils**, le fichier `consolidated_schema.sql` contient le schéma complet avec toutes les migrations pré-appliquées (pas besoin de rejouer les migrations).
|
Pour les **nouveaux profils**, le fichier `consolidated_schema.sql` contient le schéma complet avec toutes les migrations pré-appliquées (pas besoin de rejouer les migrations).
|
||||||
|
|
||||||
## Services TypeScript (14)
|
## Services TypeScript (15)
|
||||||
|
|
||||||
| Service | Responsabilité |
|
| Service | Responsabilité |
|
||||||
|---------|---------------|
|
|---------|---------------|
|
||||||
|
|
@ -124,6 +125,7 @@ Pour les **nouveaux profils**, le fichier `consolidated_schema.sql` contient le
|
||||||
| `reportService.ts` | Génération de rapports et analytique |
|
| `reportService.ts` | Génération de rapports et analytique |
|
||||||
| `dataExportService.ts` | Export de données (chiffré) |
|
| `dataExportService.ts` | Export de données (chiffré) |
|
||||||
| `userPreferenceService.ts` | Stockage préférences utilisateur |
|
| `userPreferenceService.ts` | Stockage préférences utilisateur |
|
||||||
|
| `logService.ts` | Capture des logs console (buffer circulaire, sessionStorage) |
|
||||||
|
|
||||||
## Hooks (12)
|
## Hooks (12)
|
||||||
|
|
||||||
|
|
@ -144,7 +146,7 @@ Chaque hook encapsule la logique d'état via `useReducer` :
|
||||||
| `useTheme` | Thème clair/sombre |
|
| `useTheme` | Thème clair/sombre |
|
||||||
| `useUpdater` | Mise à jour de l'application |
|
| `useUpdater` | Mise à jour de l'application |
|
||||||
|
|
||||||
## Commandes Tauri (17)
|
## Commandes Tauri (18)
|
||||||
|
|
||||||
### `fs_commands.rs` — Système de fichiers (6)
|
### `fs_commands.rs` — Système de fichiers (6)
|
||||||
|
|
||||||
|
|
@ -163,7 +165,7 @@ Chaque hook encapsule la logique d'état via `useReducer` :
|
||||||
- `read_import_file` — Lecture fichier chiffré
|
- `read_import_file` — Lecture fichier chiffré
|
||||||
- `is_file_encrypted` — Vérification magic SREF
|
- `is_file_encrypted` — Vérification magic SREF
|
||||||
|
|
||||||
### `profile_commands.rs` — Gestion des profils (6)
|
### `profile_commands.rs` — Gestion des profils (7)
|
||||||
|
|
||||||
- `load_profiles` — Chargement depuis `profiles.json`
|
- `load_profiles` — Chargement depuis `profiles.json`
|
||||||
- `save_profiles` — Sauvegarde de la configuration
|
- `save_profiles` — Sauvegarde de la configuration
|
||||||
|
|
@ -171,6 +173,7 @@ Chaque hook encapsule la logique d'état via `useReducer` :
|
||||||
- `get_new_profile_init_sql` — Récupération du schéma consolidé
|
- `get_new_profile_init_sql` — Récupération du schéma consolidé
|
||||||
- `hash_pin` — Hachage Argon2 du PIN
|
- `hash_pin` — Hachage Argon2 du PIN
|
||||||
- `verify_pin` — Vérification du PIN
|
- `verify_pin` — Vérification du PIN
|
||||||
|
- `repair_migrations` — Réparation des checksums de migration (rusqlite)
|
||||||
|
|
||||||
## Pages et routing
|
## Pages et routing
|
||||||
|
|
||||||
|
|
@ -181,6 +184,9 @@ Le routing est défini dans `App.tsx`. Toutes les pages sont englobées par `App
|
||||||
- **`ErrorBoundary`** (class component) : wrape `<App />` dans `main.tsx`, attrape les crashs React et affiche `ErrorPage` en fallback
|
- **`ErrorBoundary`** (class component) : wrape `<App />` dans `main.tsx`, attrape les crashs React et affiche `ErrorPage` en fallback
|
||||||
- **`ErrorPage`** : page d'erreur réutilisable avec détails techniques (collapsible), bouton "Actualiser", vérification de mises à jour, et liens de contact/issues
|
- **`ErrorPage`** : page d'erreur réutilisable avec détails techniques (collapsible), bouton "Actualiser", vérification de mises à jour, et liens de contact/issues
|
||||||
- **Timeout au démarrage** : `App.tsx` applique un timeout de 10 secondes sur `connectActiveProfile()` — affiche `ErrorPage` au lieu d'un spinner infini si la connexion DB échoue
|
- **Timeout au démarrage** : `App.tsx` applique un timeout de 10 secondes sur `connectActiveProfile()` — affiche `ErrorPage` au lieu d'un spinner infini si la connexion DB échoue
|
||||||
|
- **Retry au démarrage** : `connectActiveProfile()` réessaie jusqu'à 3 fois avec 1s de délai avant d'afficher l'erreur
|
||||||
|
- **Réparation de migrations** : `repair_migrations` (Rust/rusqlite) supprime les checksums invalides de `_sqlx_migrations` avant le chargement de la DB
|
||||||
|
- **Log viewer** : `logService.ts` capture les `console.log/warn/error` dans un buffer circulaire (500 entrées, persisté en `sessionStorage`), affiché dans la page Paramètres via `LogViewerCard`
|
||||||
|
|
||||||
| Route | Page | Description |
|
| Route | Page | Description |
|
||||||
|-------|------|-------------|
|
|-------|------|-------------|
|
||||||
|
|
|
||||||
|
|
@ -223,6 +223,7 @@ Planifiez votre budget mensuel pour chaque catégorie et suivez le prévu par ra
|
||||||
- Répartition égale du montant annuel sur 12 mois
|
- Répartition égale du montant annuel sur 12 mois
|
||||||
- Modèles de budget pour sauvegarder et appliquer des configurations
|
- Modèles de budget pour sauvegarder et appliquer des configurations
|
||||||
- Sous-totaux par catégorie parente
|
- Sous-totaux par catégorie parente
|
||||||
|
- En-têtes de colonnes fixes au défilement vertical
|
||||||
|
|
||||||
### Comment faire
|
### Comment faire
|
||||||
|
|
||||||
|
|
@ -253,6 +254,8 @@ Visualisez vos données financières avec des graphiques interactifs et comparez
|
||||||
- Rapport dynamique : tableau croisé dynamique (pivot table) personnalisable
|
- Rapport dynamique : tableau croisé dynamique (pivot table) personnalisable
|
||||||
- Motifs SVG (lignes, points, hachures) pour distinguer les catégories
|
- Motifs SVG (lignes, points, hachures) pour distinguer les catégories
|
||||||
- Menu contextuel (clic droit) pour masquer une catégorie ou voir ses transactions
|
- Menu contextuel (clic droit) pour masquer une catégorie ou voir ses transactions
|
||||||
|
- Détail des transactions par catégorie avec tri par colonne (date, description, montant)
|
||||||
|
- Toggle pour afficher ou masquer les montants dans le détail des transactions
|
||||||
|
|
||||||
### Comment faire
|
### Comment faire
|
||||||
|
|
||||||
|
|
@ -261,6 +264,8 @@ Visualisez vos données financières avec des graphiques interactifs et comparez
|
||||||
3. Cliquez droit sur une catégorie dans un graphique pour la masquer ou voir le détail de ses transactions
|
3. Cliquez droit sur une catégorie dans un graphique pour la masquer ou voir le détail de ses transactions
|
||||||
4. Les catégories masquées apparaissent comme pastilles au-dessus du graphique — cliquez dessus pour les réafficher
|
4. Les catégories masquées apparaissent comme pastilles au-dessus du graphique — cliquez dessus pour les réafficher
|
||||||
5. Dans Budget vs Réel, basculez entre les vues Mensuel et Cumul annuel
|
5. Dans Budget vs Réel, basculez entre les vues Mensuel et Cumul annuel
|
||||||
|
6. Dans le détail d'une catégorie, cliquez sur un en-tête de colonne pour trier les transactions
|
||||||
|
7. Utilisez l'icône œil dans le détail pour masquer ou afficher la colonne des montants
|
||||||
|
|
||||||
### Astuces
|
### Astuces
|
||||||
|
|
||||||
|
|
@ -295,6 +300,7 @@ Configurez les préférences de l'application, vérifiez les mises à jour, acc
|
||||||
- Affichage de la version de l'application
|
- Affichage de la version de l'application
|
||||||
- Guide d'utilisation complet accessible directement depuis les paramètres
|
- Guide d'utilisation complet accessible directement depuis les paramètres
|
||||||
- Vérification automatique des mises à jour avec installation en un clic
|
- Vérification automatique des mises à jour avec installation en un clic
|
||||||
|
- Journaux de l'application (logs) consultables avec filtres par niveau, copie et effacement
|
||||||
- Export des données (transactions, catégories, ou les deux) en format JSON ou CSV
|
- Export des données (transactions, catégories, ou les deux) en format JSON ou CSV
|
||||||
- Import des données depuis un fichier exporté précédemment
|
- Import des données depuis un fichier exporté précédemment
|
||||||
- Chiffrement AES-256-GCM optionnel pour les fichiers exportés
|
- Chiffrement AES-256-GCM optionnel pour les fichiers exportés
|
||||||
|
|
@ -303,9 +309,10 @@ Configurez les préférences de l'application, vérifiez les mises à jour, acc
|
||||||
|
|
||||||
1. Cliquez sur Guide d'utilisation pour accéder à la documentation complète
|
1. Cliquez sur Guide d'utilisation pour accéder à la documentation complète
|
||||||
2. Cliquez sur Vérifier les mises à jour pour voir si une nouvelle version est disponible
|
2. Cliquez sur Vérifier les mises à jour pour voir si une nouvelle version est disponible
|
||||||
3. Utilisez la section Gestion des données pour exporter ou importer vos données
|
3. Consultez la section Journaux pour voir les logs de l'application — filtrez par niveau (Tout, Error, Warn, Info), copiez ou effacez
|
||||||
4. Lors de l'export, choisissez ce qu'il faut inclure et définissez optionnellement un mot de passe pour le chiffrement
|
4. Utilisez la section Gestion des données pour exporter ou importer vos données
|
||||||
5. Lors de l'import, sélectionnez un fichier exporté précédemment — les fichiers chiffrés demanderont le mot de passe
|
5. Lors de l'export, choisissez ce qu'il faut inclure et définissez optionnellement un mot de passe pour le chiffrement
|
||||||
|
6. Lors de l'import, sélectionnez un fichier exporté précédemment — les fichiers chiffrés demanderont le mot de passe
|
||||||
|
|
||||||
### Astuces
|
### Astuces
|
||||||
|
|
||||||
|
|
@ -313,3 +320,5 @@ Configurez les préférences de l'application, vérifiez les mises à jour, acc
|
||||||
- Changez la langue de l'application via le sélecteur de langue dans la barre latérale
|
- Changez la langue de l'application via le sélecteur de langue dans la barre latérale
|
||||||
- Exportez régulièrement pour garder une sauvegarde de vos données
|
- Exportez régulièrement pour garder une sauvegarde de vos données
|
||||||
- Le guide d'utilisation peut être imprimé ou exporté en PDF via le bouton Imprimer
|
- Le guide d'utilisation peut être imprimé ou exporté en PDF via le bouton Imprimer
|
||||||
|
- Les journaux persistent pendant la session — ils survivent à un rafraîchissement de la page
|
||||||
|
- En cas de problème, copiez les journaux et joignez-les à votre signalement
|
||||||
|
|
|
||||||
|
|
@ -703,7 +703,8 @@
|
||||||
"Annual column with automatic totals",
|
"Annual column with automatic totals",
|
||||||
"Split annual amount evenly across 12 months",
|
"Split annual amount evenly across 12 months",
|
||||||
"Budget templates to save and apply configurations",
|
"Budget templates to save and apply configurations",
|
||||||
"Parent category subtotals"
|
"Parent category subtotals",
|
||||||
|
"Column headers stay fixed when scrolling vertically"
|
||||||
],
|
],
|
||||||
"steps": [
|
"steps": [
|
||||||
"Use the year navigator to select the budget year",
|
"Use the year navigator to select the budget year",
|
||||||
|
|
@ -726,15 +727,20 @@
|
||||||
"Expenses by Category: spending breakdown (pie chart)",
|
"Expenses by Category: spending breakdown (pie chart)",
|
||||||
"Category Over Time: track how each category evolves (line chart)",
|
"Category Over Time: track how each category evolves (line chart)",
|
||||||
"Budget vs Actual: monthly and year-to-date comparison table",
|
"Budget vs Actual: monthly and year-to-date comparison table",
|
||||||
|
"Dynamic Report: customizable pivot table",
|
||||||
"SVG patterns (lines, dots, crosshatch) to distinguish categories",
|
"SVG patterns (lines, dots, crosshatch) to distinguish categories",
|
||||||
"Context menu (right-click) to hide a category or view its transactions"
|
"Context menu (right-click) to hide a category or view its transactions",
|
||||||
|
"Transaction detail by category with sortable columns (date, description, amount)",
|
||||||
|
"Toggle to show or hide amounts in transaction detail"
|
||||||
],
|
],
|
||||||
"steps": [
|
"steps": [
|
||||||
"Use the tabs to switch between Trends, By Category, Over Time, and Budget vs Actual views",
|
"Use the tabs to switch between Trends, By Category, Over Time, and Budget vs Actual views",
|
||||||
"Adjust the time period using the period selector",
|
"Adjust the time period using the period selector",
|
||||||
"Right-click a category in any chart to hide it or view its transaction details",
|
"Right-click a category in any chart to hide it or view its transaction details",
|
||||||
"Hidden categories appear as dismissible chips above the chart — click them to show again",
|
"Hidden categories appear as dismissible chips above the chart — click them to show again",
|
||||||
"In Budget vs Actual, toggle between Monthly and Year-to-Date views"
|
"In Budget vs Actual, toggle between Monthly and Year-to-Date views",
|
||||||
|
"In the category detail, click a column header to sort transactions",
|
||||||
|
"Use the eye icon in the detail view to show or hide the amounts column"
|
||||||
],
|
],
|
||||||
"tips": [
|
"tips": [
|
||||||
"Hidden categories are remembered while you stay on the page — click Show All to reset",
|
"Hidden categories are remembered while you stay on the page — click Show All to reset",
|
||||||
|
|
@ -750,6 +756,7 @@
|
||||||
"App version display",
|
"App version display",
|
||||||
"Complete user guide accessible directly from settings",
|
"Complete user guide accessible directly from settings",
|
||||||
"Automatic update checker with one-click install",
|
"Automatic update checker with one-click install",
|
||||||
|
"Application logs viewable with level filters, copy, and clear",
|
||||||
"Data export (transactions, categories, or both) in JSON or CSV format",
|
"Data export (transactions, categories, or both) in JSON or CSV format",
|
||||||
"Data import from a previously exported file",
|
"Data import from a previously exported file",
|
||||||
"Optional AES-256-GCM encryption for exported files"
|
"Optional AES-256-GCM encryption for exported files"
|
||||||
|
|
@ -757,6 +764,7 @@
|
||||||
"steps": [
|
"steps": [
|
||||||
"Click User Guide to access the full documentation",
|
"Click User Guide to access the full documentation",
|
||||||
"Click Check for Updates to see if a new version is available",
|
"Click Check for Updates to see if a new version is available",
|
||||||
|
"View the Logs section to see application logs — filter by level (All, Error, Warn, Info), copy or clear",
|
||||||
"Use the Data Management section to export or import your data",
|
"Use the Data Management section to export or import your data",
|
||||||
"When exporting, choose what to include and optionally set a password for encryption",
|
"When exporting, choose what to include and optionally set a password for encryption",
|
||||||
"When importing, select a previously exported file — encrypted files will prompt for the password"
|
"When importing, select a previously exported file — encrypted files will prompt for the password"
|
||||||
|
|
@ -765,7 +773,9 @@
|
||||||
"Updates only replace the app binary — your database is never modified",
|
"Updates only replace the app binary — your database is never modified",
|
||||||
"Change the app language using the language selector in the sidebar",
|
"Change the app language using the language selector in the sidebar",
|
||||||
"Export regularly to keep a backup of your data",
|
"Export regularly to keep a backup of your data",
|
||||||
"The user guide can be printed or exported to PDF via the Print button"
|
"The user guide can be printed or exported to PDF via the Print button",
|
||||||
|
"Logs persist for the session — they survive a page refresh",
|
||||||
|
"If you encounter an issue, copy the logs and attach them to your report"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -703,7 +703,8 @@
|
||||||
"Colonne annuelle avec totaux automatiques",
|
"Colonne annuelle avec totaux automatiques",
|
||||||
"Répartition égale du montant annuel sur 12 mois",
|
"Répartition égale du montant annuel sur 12 mois",
|
||||||
"Modèles de budget pour sauvegarder et appliquer des configurations",
|
"Modèles de budget pour sauvegarder et appliquer des configurations",
|
||||||
"Sous-totaux par catégorie parente"
|
"Sous-totaux par catégorie parente",
|
||||||
|
"En-têtes de colonnes fixes au défilement vertical"
|
||||||
],
|
],
|
||||||
"steps": [
|
"steps": [
|
||||||
"Utilisez le navigateur d'année pour sélectionner l'année du budget",
|
"Utilisez le navigateur d'année pour sélectionner l'année du budget",
|
||||||
|
|
@ -726,15 +727,20 @@
|
||||||
"Dépenses par catégorie : répartition des dépenses (graphique circulaire)",
|
"Dépenses par catégorie : répartition des dépenses (graphique circulaire)",
|
||||||
"Catégories dans le temps : suivez l'évolution de chaque catégorie (graphique en ligne)",
|
"Catégories dans le temps : suivez l'évolution de chaque catégorie (graphique en ligne)",
|
||||||
"Budget vs Réel : tableau comparatif mensuel et cumul annuel",
|
"Budget vs Réel : tableau comparatif mensuel et cumul annuel",
|
||||||
|
"Rapport dynamique : tableau croisé dynamique (pivot table) personnalisable",
|
||||||
"Motifs SVG (lignes, points, hachures) pour distinguer les catégories",
|
"Motifs SVG (lignes, points, hachures) pour distinguer les catégories",
|
||||||
"Menu contextuel (clic droit) pour masquer une catégorie ou voir ses transactions"
|
"Menu contextuel (clic droit) pour masquer une catégorie ou voir ses transactions",
|
||||||
|
"Détail des transactions par catégorie avec tri par colonne (date, description, montant)",
|
||||||
|
"Toggle pour afficher ou masquer les montants dans le détail des transactions"
|
||||||
],
|
],
|
||||||
"steps": [
|
"steps": [
|
||||||
"Utilisez les onglets pour basculer entre Tendances, Par catégorie, Dans le temps et Budget vs Réel",
|
"Utilisez les onglets pour basculer entre Tendances, Par catégorie, Dans le temps et Budget vs Réel",
|
||||||
"Ajustez la période avec le sélecteur de période",
|
"Ajustez la période avec le sélecteur de période",
|
||||||
"Cliquez droit sur une catégorie dans un graphique pour la masquer ou voir le détail de ses transactions",
|
"Cliquez droit sur une catégorie dans un graphique pour la masquer ou voir le détail de ses transactions",
|
||||||
"Les catégories masquées apparaissent comme pastilles au-dessus du graphique — cliquez dessus pour les réafficher",
|
"Les catégories masquées apparaissent comme pastilles au-dessus du graphique — cliquez dessus pour les réafficher",
|
||||||
"Dans Budget vs Réel, basculez entre les vues Mensuel et Cumul annuel"
|
"Dans Budget vs Réel, basculez entre les vues Mensuel et Cumul annuel",
|
||||||
|
"Dans le détail d'une catégorie, cliquez sur un en-tête de colonne pour trier les transactions",
|
||||||
|
"Utilisez l'icône œil dans le détail pour masquer ou afficher la colonne des montants"
|
||||||
],
|
],
|
||||||
"tips": [
|
"tips": [
|
||||||
"Les catégories masquées sont mémorisées tant que vous restez sur la page — cliquez sur Tout afficher pour réinitialiser",
|
"Les catégories masquées sont mémorisées tant que vous restez sur la page — cliquez sur Tout afficher pour réinitialiser",
|
||||||
|
|
@ -750,6 +756,7 @@
|
||||||
"Affichage de la version de l'application",
|
"Affichage de la version de l'application",
|
||||||
"Guide d'utilisation complet accessible directement depuis les paramètres",
|
"Guide d'utilisation complet accessible directement depuis les paramètres",
|
||||||
"Vérification automatique des mises à jour avec installation en un clic",
|
"Vérification automatique des mises à jour avec installation en un clic",
|
||||||
|
"Journaux de l'application (logs) consultables avec filtres par niveau, copie et effacement",
|
||||||
"Export des données (transactions, catégories, ou les deux) en format JSON ou CSV",
|
"Export des données (transactions, catégories, ou les deux) en format JSON ou CSV",
|
||||||
"Import des données depuis un fichier exporté précédemment",
|
"Import des données depuis un fichier exporté précédemment",
|
||||||
"Chiffrement AES-256-GCM optionnel pour les fichiers exportés"
|
"Chiffrement AES-256-GCM optionnel pour les fichiers exportés"
|
||||||
|
|
@ -757,6 +764,7 @@
|
||||||
"steps": [
|
"steps": [
|
||||||
"Cliquez sur Guide d'utilisation pour accéder à la documentation complète",
|
"Cliquez sur Guide d'utilisation pour accéder à la documentation complète",
|
||||||
"Cliquez sur Vérifier les mises à jour pour voir si une nouvelle version est disponible",
|
"Cliquez sur Vérifier les mises à jour pour voir si une nouvelle version est disponible",
|
||||||
|
"Consultez la section Journaux pour voir les logs de l'application — filtrez par niveau (Tout, Error, Warn, Info), copiez ou effacez",
|
||||||
"Utilisez la section Gestion des données pour exporter ou importer vos données",
|
"Utilisez la section Gestion des données pour exporter ou importer vos données",
|
||||||
"Lors de l'export, choisissez ce qu'il faut inclure et définissez optionnellement un mot de passe pour le chiffrement",
|
"Lors de l'export, choisissez ce qu'il faut inclure et définissez optionnellement un mot de passe pour le chiffrement",
|
||||||
"Lors de l'import, sélectionnez un fichier exporté précédemment — les fichiers chiffrés demanderont le mot de passe"
|
"Lors de l'import, sélectionnez un fichier exporté précédemment — les fichiers chiffrés demanderont le mot de passe"
|
||||||
|
|
@ -765,7 +773,9 @@
|
||||||
"Les mises à jour ne remplacent que le programme — votre base de données n'est jamais modifiée",
|
"Les mises à jour ne remplacent que le programme — votre base de données n'est jamais modifiée",
|
||||||
"Changez la langue de l'application via le sélecteur de langue dans la barre latérale",
|
"Changez la langue de l'application via le sélecteur de langue dans la barre latérale",
|
||||||
"Exportez régulièrement pour garder une sauvegarde de vos données",
|
"Exportez régulièrement pour garder une sauvegarde de vos données",
|
||||||
"Le guide d'utilisation peut être imprimé ou exporté en PDF via le bouton Imprimer"
|
"Le guide d'utilisation peut être imprimé ou exporté en PDF via le bouton Imprimer",
|
||||||
|
"Les journaux persistent pendant la session — ils survivent à un rafraîchissement de la page",
|
||||||
|
"En cas de problème, copiez les journaux et joignez-les à votre signalement"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue