Skip to content

Latest commit

 

History

History
93 lines (60 loc) · 3.14 KB

File metadata and controls

93 lines (60 loc) · 3.14 KB
  1. Concept : "Pilotage de Survie & Récupération" L'application doit séparer ce qui est vital (récupération et base technique) de ce qui est perturbateur (demandes extérieures, business secondaire).

  2. Spécifications Fonctionnelles A. Gestion des Tâches par Catégories CORE (Fixes) : Tâches non négociables générées chaque jour.

Récupération : Sport, Anime/Manga, Sommeil.

Valeur : Apprentissage Rust, Prospection Cyber.

DYNAMIC (Ajoutées) : Tâches que tu saisis durant la journée.

DENIALS (Les "Non") : Enregistrement des sollicitations que tu as refusées pour te protéger.

B. Le "Filtre de Pertinence" (Input Logic) Lors de l'ajout d'une tâche dynamique, l'application impose un formulaire :

Description : Quoi faire ?

Justification : Pourquoi est-ce prioritaire ? (Oblige à une analyse logique).

Impact : Est-ce pour moi, pour la famille ou pour l'image sociale ?

C. Analyse Hebdomadaire (Evolution) Historique : Archivage automatique en fin de semaine dans un fichier week_XX.json.

Stats de progression : Comparaison des taux de complétion entre la semaine N et N-1.

Détection de patterns : "Pourquoi ai-je échoué le mercredi ?" (Champ note de fin de journée).

  1. Architecture Technique A. Stack Logicielle Langage : Rust.

UI : ratatui + crossterm.

Data : serde + serde_json.

Temps : chrono (pour la gestion des semaines ISO).

Registre Windows : winreg (pour l'auto-démarrage).

B. Déploiement Compilation : cargo build --release génère un .exe autonome.

Auto-démarrage : L'application s'enregistre dans le registre Windows au premier lancement.

  • Clé : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • L'utilisateur peut activer/désactiver cette option dans les paramètres de l'app.

Persistance des données : Fichiers JSON stockés dans %APPDATA%\PilotageSurvie\

  • current_day.json : Tâches du jour
  • week_XX_YYYY.json : Archives hebdomadaires
  • config.json : Paramètres utilisateur (dont auto-démarrage)

C. Structure des Données (Modèle) Rust struct Task { id: u32, category: Category, // Recovery, Core, Dynamic, Denial title: String, justification: String, status: bool, created_at: DateTime, } 4. Interface Utilisateur (Layout TUI) L'écran doit être divisé en zones distinctes :

Zone Supérieure (Header) : Semaine actuelle, Score de complétion (%), et état du "Système" (ex: "Stable" ou "Surcharge").

Zone Centrale Gauche : Liste des tâches CORE (Ta base de survie).

Zone Centrale Droite : Liste des tâches DYNAMIQUES et NON.

Zone Inférieure : Terminal de commande et logs d'audit (Justifications des tâches sélectionnées).

  1. Workflow Quotidien Boot : L'app affiche tes tâches CORE.

Audit : Pour chaque nouvelle tâche, tu entres ta justification.

Log : À chaque "Non" dit à un ami ou à une pression sociale, tu l'enregistres comme une victoire technique.

Review : Chaque soir, un résumé de l'énergie consommée.

  1. Objectif Portfolio Ce projet doit être codé avec une rigueur de "Senior" :

Gestion propre des erreurs (Result, Option).

Séparation nette entre la logique métier et le rendu TUI.

Code documenté en francais et anglais (pour les recruteurs Cyber).