
## ✨ Mode Liberté Total Révolutionnaire - Contrôle de précision : 30% (créatif) à 90% (précis) - Streaming temps réel avec Server-Sent Events - Interface progressive avec barre de progression - Temperature dynamique selon la précision - Enrichissement complet du document à chaque itération ## 📖 Documentation technique professionnelle - Architecture détaillée avec diagrammes Mermaid - Structure de projet complète et annotée - Flux de données documentés (streaming, journaux) - Stack technique avec versions et utilités - Guide d'utilisation mis à jour - 18 templates organisés par domaines ## 🎨 Interface améliorée - Sélecteurs d'itérations (1-10) et précision (30-90%) - Affichage temps réel des explications IA - Feedback visuel avec progression et statut - Mode streaming non-bloquant 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
394 lines
14 KiB
Markdown
394 lines
14 KiB
Markdown
# 🚀 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 ! 🚀
|