# 🚀 Conception Assistant Un assistant intelligent de conception technique avec fonctionnalités IA avancées pour l'analyse, l'amélioration et la gestion de documents de conception. ## 📋 Fonctionnalités ### 📝 Gestion des Journaux - **Création et édition** de journaux de conception avec éditeur riche - **Sauvegarde automatique** avec horodatage - **Chargement de journaux** précédents via interface modale - **Table des matières** dynamique avec navigation intelligente - **Prévisualisation Markdown** avec rendu professionnel ### 🤖 Assistant IA Intégré (Mistral AI) #### ✨ **Reformulation Intelligente** - Reformulation de texte sélectionné avec prévisualisation - Validation avant application - Conservation de l'intention originale #### 🔍 **Analyse Automatisée** - **Détection d'incohérences** dans le document - **Vérification de doublons** et redondances - **Conseils d'amélioration** personnalisés #### 🚀 **Mode Liberté Total** (Révolutionnaire !) - **Jusqu'à 10 itérations** d'enrichissement progressif - **Contrôle de précision** : 30% (très créatif) à 90% (très précis) - **Streaming temps réel** : voir chaque amélioration en direct - **Feedback instantané** : explications détaillées pour chaque itération - **Document complet** : enrichit TOUT le document à chaque passage ### 🎨 Interface & Expérience #### 🌙 **Thèmes** - **Mode sombre/clair** avec persistance des préférences - **Variables CSS** cohérentes pour tous les composants - **Basculement instantané** sans rechargement #### 👁️ **Mode Prévisualisation** - **Toggle édition/visualisation** en un clic - **Rendu GitHub Markdown** : titres, listes, code, liens, citations, tables - **Support Mermaid** : diagrammes intégrés - **Styling professionnel** pour présentation finale #### 🧭 **Navigation Avancée** - **Table des matières** générée automatiquement - **Scroll intelligent** vers les sections avec surbrillance - **Historique complet** : Ctrl+Z/Y pour toutes les actions IA - **Raccourcis clavier** : Ctrl+S sauvegarde, Tab indentation ### 📤 Export & Import - **Export Markdown** (.md) natif avec préservation formatage - **Export PDF/HTML** professionnel via Puppeteer - **Import de fichiers** Markdown avec détection automatique - **Templates prédéfinis** (6 domaines × 3 niveaux = 18 templates) - 💻 Informatique • 💼 Business • 🎨 Design - ⚙️ Ingénierie • 📊 Mathématiques • 🔬 Recherche ## ⚙️ Installation ### Prérequis - **Node.js** 16+ - **npm** ou **yarn** - **Clé API Mistral** (pour les fonctions IA) ### Installation ```bash # Cloner le repository git clone https://github.com/votre-repo/conception-assistant.git cd conception-assistant # Installer les dépendances npm install # Créer le fichier de configuration (optionnel) echo "PORT=3000 MISTRAL_API_KEY=your_key_here AI_ENABLED=true" > .env ``` ### Configuration (Optionnelle) L'application fonctionne sans configuration. Pour activer l'IA, éditez `.env` : ```env # 🌐 Serveur (optionnel) PORT=3000 # 🤖 Mistral AI (requis pour l'IA) MISTRAL_API_KEY=your_mistral_api_key_here MISTRAL_MODEL=mistral-large-latest MISTRAL_BASE_URL=https://api.mistral.ai/v1 # ⚙️ Configuration IA avancée (optionnel) AI_ENABLED=true AI_MAX_TOKENS=35000 AI_TEMPERATURE=0.3 AI_TOP_P=0.85 ``` > **💡 Sans clé API** : L'application fonctionne parfaitement pour la gestion des journaux, seules les fonctions IA sont désactivées. ### Lancement ```bash # Démarrer l'application npm start # Accéder à l'application http://localhost:3000 ``` ## 🔧 Configuration IA Avancée ### Paramètres Optimisés pour la Précision - **AI_TEMPERATURE=0.3** : Réponses précises et cohérentes - **AI_MAX_TOKENS=35000** : Support des longs documents - **AI_TOP_P=0.85** : Vocabulaire focalisé ### Températures Spécialisées par Fonction - **Reformulation** : 0.2 (très précise) - **Analyses** : 0.1 (factuelle) - **Conseils** : 0.4 (équilibrée) - **Mode Liberté Total** : 0.1-0.9 (dynamique selon précision) ## 🚀 Mode Liberté Total - Fonctionnement Révolutionnaire Le **Mode Liberté Total** transforme votre document avec un contrôle précis de la créativité : ### 🎯 **Contrôle de Précision** | Niveau | Précision | Comportement | Usage | |--------|-----------|--------------|--------| | **30%** | Très Créatif | Peut créer 70% de contenu nouveau logique | Brainstorming initial | | **50%** | Équilibré | Balance déduction/création 50/50 | Développement standard | | **70%** | Conservateur | Principalement basé sur l'existant | Raffinement document | | **90%** | Très Précis | Seulement déductions évidentes | Finalisation technique | ### 🔄 **Processus Itératif en Temps Réel** 1. **📊 Analyse** : L'IA évalue le document selon la précision choisie 2. **🎯 Enrichissement** : Ajoute sections, détails, diagrammes conceptuels 3. **📡 Streaming** : Vous voyez l'explication en temps réel 4. **✏️ Application** : Le document est automatiquement mis à jour 5. **🔄 Itération** : Répétition sur le document enrichi 6. **✅ Finalisation** : Sauvegarde automatique avec historique ### 📈 **Exemple de Session (Précision 70%)** ``` 🔄 Itération 1/3 : Analyse du document... ✅ Ajout section "Architecture technique détaillée" ✅ Développement des "Contraintes de performance" 🔄 Itération 2/3 : Enrichissement du contenu... ✅ Diagrammes de séquence pour les flux principaux ✅ Matrice de risques avec plans d'atténuation 🔄 Itération 3/3 : Finalisation... ✅ Plan de tests complet avec critères d'acceptation ✅ Métriques de performance et indicateurs clés ✅ Mode Liberté Total terminé ! Document enrichi de 85% avec 3 itérations ``` ## 📖 Utilisation ### Créer un Nouveau Journal 1. Utilisez l'éditeur principal pour rédiger 2. La table des matières se met à jour automatiquement 3. Sauvegardez avec **Ctrl+S** ou le bouton 💾 ### Utiliser l'IA 1. **Reformulation** : Sélectionnez du texte → bouton "🔄 Reformuler" 2. **Analyse** : Boutons "🔍 Incohérences", "📋 Doublons", "💡 Conseils" 3. **Mode Liberté Total** : - Choisir **itérations** (1-10) et **précision** (30-90%) - Clic sur "🚀 Mode Liberté Total" - Suivre le **streaming en temps réel** ### Mode Prévisualisation 1. Cliquez sur **👁️ Visualiser** 2. Consultez le rendu final professionnel 3. Cliquez sur **✏️ Éditer** pour revenir à l'édition ## 🏗️ Architecture Technique ### 📁 Structure du Projet ``` conception-assistant/ ├── app.js # ⚡ Serveur principal Express ├── package.json # 📦 Dépendances et scripts ├── package-lock.json # 🔒 Verrouillage des versions ├── README.md # 📖 Documentation du projet │ ├── 📂 routes/ # 🛣️ Routes API et logique métier │ ├── index.js # 🏠 Page d'accueil et routes de base │ ├── api.js # 📝 CRUD journaux (create, read, update, delete) │ ├── ai.js # 🤖 Intelligence Artificielle (Mistral AI) │ ├── templates.js # 📄 Gestion des templates prédéfinis │ └── export.js # 📤 Export PDF/HTML (Puppeteer) │ ├── 📂 views/ # 🎨 Composants d'interface modulaires │ ├── page.js # 📄 Structure HTML principale │ ├── header.js # 🔝 En-tête avec navigation │ ├── main.js # 🎯 Zone principale (éditeur + assistant IA) │ └── footer.js # 🔽 Pied de page minimal │ ├── 📂 assets/ # 🎨 Ressources statiques │ ├── css/ │ │ ├── style.css # 🎨 Styles principaux et thèmes │ │ └── github-preview.css # 👁️ Style GitHub pour prévisualisation │ └── js/ │ └── app.js # ⚙️ Application frontend (4000+ lignes) │ ├── 📂 templates/ # 📝 Templates de conception prédéfinis │ ├── informatique/ # 💻 Templates IT (simple, détaillé, complet) │ ├── business/ # 💼 Templates business │ ├── design/ # 🎨 Templates design │ ├── ingenierie/ # ⚙️ Templates ingénierie │ ├── math/ # 📊 Templates mathématiques │ └── recherche/ # 🔬 Templates recherche │ └── 📂 data/ # 💾 Stockage des journaux utilisateur └── journals_*.json # 📔 Fichiers JSON des journaux ``` ### 🔧 Architecture Technique Détaillée #### 🖥️ **Backend (Node.js + Express.js)** | Composant | Fichier | Responsabilité | Technologies | |-----------|---------|----------------|--------------| | **Serveur Principal** | `app.js` | Configuration Express, middleware, routes | Express.js 4.18+ | | **API Journaux** | `routes/api.js` | CRUD journaux, stockage JSON | File System, UUID | | **Intelligence Artificielle** | `routes/ai.js` | Intégration Mistral AI, streaming | Mistral AI API, Server-Sent Events | | **Templates** | `routes/templates.js` | Gestion templates par domaine | File System | | **Export** | `routes/export.js` | Génération PDF/HTML | Puppeteer | #### 🎨 **Frontend (Vanilla JavaScript)** | Composant | Fichier | Responsabilité | Fonctionnalités | |-----------|---------|----------------|-----------------| | **Application Principale** | `assets/js/app.js` | Logique métier frontend | Éditeur, IA, historique, navigation | | **Interface Modulaire** | `views/*.js` | Composants HTML | Header, main, footer | | **Styles** | `assets/css/*.css` | Thèmes et présentation | CSS Variables, GitHub Preview | #### 🤖 **Système IA Avancé** | Fonctionnalité | Endpoint | Méthode | Streaming | Précision | |---------------|----------|---------|-----------|-----------| | **Reformulation** | `/api/ai/rephrase` | POST | ❌ | 90%+ | | **Incohérences** | `/api/ai/check-inconsistencies` | POST | ❌ | Factuelle | | **Doublons** | `/api/ai/check-duplications` | POST | ❌ | Factuelle | | **Conseils** | `/api/ai/give-advice` | POST | ❌ | Équilibrée | | **Mode Liberté Total** | `/api/ai/liberty-mode` | POST | ✅ SSE | Configurable 30-90% | ### ⚡ **Technologies & Stack** #### **Core Dependencies** ```json { "express": "^4.18.2", // 🌐 Serveur web "dotenv": "^17.2.2", // ⚙️ Variables d'environnement "puppeteer": "^24.22.3", // 📄 Génération PDF "uuid": "^13.0.0" // 🆔 Identifiants uniques } ``` #### **API Externes** - **Mistral AI** : Modèles de langage avancés - `mistral-large-latest` : Analyse et génération - Temperature dynamique : 0.1-0.9 selon la tâche - Max tokens : 35000 pour longs documents #### **Stockage & Persistance** - **Journaux** : Fichiers JSON avec UUID - **Préférences** : LocalStorage navigateur - **Templates** : Fichiers Markdown statiques - **Exports** : Génération temporaire PDF/HTML ### 🔄 **Flux de Données** #### **Mode Liberté Total (Streaming)** ```mermaid sequenceDiagram participant User as 👤 Utilisateur participant Frontend as 🌐 Frontend participant Backend as ⚙️ Backend participant AI as 🤖 Mistral AI User->>Frontend: Clic "Mode Liberté Total" Frontend->>Backend: POST /api/ai/liberty-mode (SSE) loop Pour chaque itération Backend->>AI: Envoi document + précision AI->>Backend: Explication + Markdown amélioré Backend->>Frontend: Stream données (SSE) Frontend->>User: Affichage temps réel + MAJ éditeur end Backend->>Frontend: Signal fin (completed: true) Frontend->>User: Notification terminée ``` #### **Gestion des Journaux** ```mermaid flowchart TD A[👤 Utilisateur] --> B[✏️ Éditeur] B --> C[💾 Sauvegarde Auto] C --> D[📁 data/journals_UUID.json] A --> E[📂 Charger Journal] E --> F[📋 Liste Journaux] F --> G[🔄 Chargement Contenu] G --> B B --> H[👁️ Mode Prévisualisation] H --> I[🎨 Rendu GitHub Markdown] I --> B ``` ### 🛡️ **Sécurité & Configuration** #### **Variables d'Environnement** ```env # Serveur PORT=3000 # Mistral AI MISTRAL_API_KEY=your_key_here MISTRAL_MODEL=mistral-large-latest MISTRAL_BASE_URL=https://api.mistral.ai/v1 # IA AI_ENABLED=true AI_MAX_TOKENS=35000 AI_TEMPERATURE=0.3 AI_TOP_P=0.85 ``` #### **Gestion d'Erreur Robuste** - **Backend** : Try-catch sur toutes les routes - **Frontend** : Gestion d'erreur asynchrone - **IA** : Fallback et retry automatique - **Streaming** : Gestion déconnexion SSE ### 🚀 **Performance & Optimisations** | Aspect | Implémentation | Bénéfice | |--------|----------------|----------| | **Debouncing** | Table des matières, sauvegarde | Réduit calculs inutiles | | **Streaming SSE** | Mode Liberté Total | Feedback temps réel | | **Cache LocalStorage** | Préférences thème | Persistance locale | | **Lazy Loading** | Templates à la demande | Chargement optimisé | | **CSS Variables** | Thèmes dynamiques | Basculement instantané | ## 🤝 Contribution 1. **Fork** le projet 2. **Créer** une branche feature (`git checkout -b feature/nouvelle-fonctionnalite`) 3. **Commit** vos changements (`git commit -am 'Ajout nouvelle fonctionnalité'`) 4. **Push** vers la branche (`git push origin feature/nouvelle-fonctionnalite`) 5. **Créer** une Pull Request -- **Conception Assistant** - Votre partenaire intelligent pour la conception technique ! 🚀