diff --git a/README.md b/README.md index efbb9a9..b95ddbd 100644 Binary files a/README.md and b/README.md differ diff --git a/assets/css/style.css b/assets/css/style.css index f31f88a..ae242db 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -502,7 +502,7 @@ button.success:hover { background: #229954; } -/* Input file personnalis� */ +/* Input file personnalisé */ .file-input-label { padding: 0.6rem 1.2rem; border-radius: var(--border-radius); @@ -571,7 +571,7 @@ section h2 { font-weight: 600; } -/* Table des mati�res */ +/* Table des matières */ #table-of-contents { /* Comportement normal de scroll */ } @@ -613,7 +613,7 @@ section h2 { color: var(--text-light); } -/* Zone d'�criture */ +/* Zone d'écriture */ #design-journal { min-height: 600px; } @@ -890,7 +890,7 @@ footer a:hover { } } -/* Scrollbars personnalis�es */ +/* Scrollbars personnalisées */ ::-webkit-scrollbar { width: 8px; height: 8px; diff --git a/assets/js/app.js b/assets/js/app.js index 1996e68..9d4afef 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -221,7 +221,7 @@ class ConceptionAssistant { this.currentJournalId = result.data.id; } - statusEl.textContent = '✅ Sauvegardé'; + statusEl.textContent = 'Sauvegardé'; this.showNotification('Journal sauvegardé avec succès', 'success'); setTimeout(() => statusEl.textContent = '', 3000); } else { @@ -229,7 +229,7 @@ class ConceptionAssistant { } } catch (error) { console.error('Erreur:', error); - statusEl.textContent = '❌ Erreur'; + statusEl.textContent = 'Erreur'; this.showNotification('Erreur lors de la sauvegarde: ' + error.message, 'error'); setTimeout(() => statusEl.textContent = '', 3000); } finally { @@ -550,7 +550,7 @@ class ConceptionAssistant { // Vérifier les conditions selon l'action if (action === 'rephrase' && !selection) { - this.showAIFeedback('⚠️ Veuillez sélectionner du texte à reformuler'); + this.showAIFeedback('Veuillez sélectionner du texte à reformuler'); return; } @@ -591,7 +591,7 @@ class ConceptionAssistant { }; this.showAIFeedback(` - ✨ Reformulation

+ Reformulation

Texte original :
@@ -604,10 +604,10 @@ class ConceptionAssistant {
`); @@ -619,17 +619,17 @@ class ConceptionAssistant { case 'inconsistencies': result = await this.callAI('/api/ai/check-inconsistencies', { content: contentToUse }); - this.showAIFeedback(`🔍 Analyse des incohérences

${this.formatAIResponse(result.analysis)}`); + this.showAIFeedback(`Analyse des incohérences

${this.formatAIResponse(result.analysis)}`); break; case 'duplications': result = await this.callAI('/api/ai/check-duplications', { content: contentToUse }); - this.showAIFeedback(`📋 Vérification des doublons

${this.formatAIResponse(result.analysis)}`); + this.showAIFeedback(`Vérification des doublons

${this.formatAIResponse(result.analysis)}`); break; case 'advice': result = await this.callAI('/api/ai/give-advice', { content: contentToUse, domain: 'conception' }); - this.showAIFeedback(`💡 Conseils d'amélioration

${this.formatAIResponse(result.advice)}`); + this.showAIFeedback(`Conseils d'amélioration

${this.formatAIResponse(result.advice)}`); break; case 'liberty': @@ -644,19 +644,19 @@ class ConceptionAssistant { this.saveState(); } - let libertyHTML = `🚀 Mode Liberté Intelligent (${result.iterations} itérations)

`; + let libertyHTML = `Mode Liberté Intelligent (${result.iterations} itérations)

`; // Vérifier si l'IA s'est arrêtée prématurément const lastIteration = result.results[result.results.length - 1]; if (lastIteration && lastIteration.stopped) { - libertyHTML += `

🛑 Analyse terminée après ${result.iterations} itérations - Aucune amélioration évidente supplémentaire détectée.

`; + libertyHTML += `

Analyse terminée après ${result.iterations} itérations - Aucune amélioration évidente supplémentaire détectée.

`; } else { - libertyHTML += `

✅ Les ${result.iterations} itérations d'amélioration ont été automatiquement appliquées au document.

`; + libertyHTML += `

Les ${result.iterations} itérations d'amélioration ont été automatiquement appliquées au document.

`; } result.results.forEach(iteration => { const borderColor = iteration.stopped ? 'var(--warning-color)' : 'var(--success-color)'; - const icon = iteration.stopped ? '🛑' : '🎯'; + const icon = iteration.stopped ? 'STOP' : 'OK'; libertyHTML += `
@@ -670,7 +670,7 @@ class ConceptionAssistant { } } catch (error) { console.error('Erreur IA:', error); - this.showAIFeedback(`❌ Erreur

Une erreur s'est produite : ${error.message}

Vérifiez votre connexion et la configuration de l'API.`); + this.showAIFeedback(`Erreur

Une erreur s'est produite : ${error.message}

Vérifiez votre connexion et la configuration de l'API.`); } } @@ -800,7 +800,7 @@ class ConceptionAssistant { const feedback = document.getElementById('ai-assistant-feedback'); feedback.innerHTML = `
- 🎯 Assistant IA prêt
+ Assistant IA prêt
Sélectionnez du texte dans l'éditeur et cliquez sur une action pour commencer.
`; @@ -819,6 +819,50 @@ class ConceptionAssistant { setTimeout(() => document.body.removeChild(notification), 300); }, 3000); } + + togglePreview() { + const previewBtn = document.getElementById('preview-toggle'); + + if (!this.isPreviewMode) { + // Passer en mode prévisualisation + this.originalContent = this.editor.innerHTML; + const markdownContent = this.editor.innerText; + + // Convertir le Markdown en HTML joliment formaté + const previewHTML = this.parseMarkdown(markdownContent); + + // Désactiver l'édition et appliquer le style preview + this.editor.contentEditable = false; + this.editor.innerHTML = `
${previewHTML}
`; + this.editor.style.background = 'var(--background-color)'; + this.editor.style.border = '1px solid var(--border-color)'; + this.editor.style.borderRadius = '8px'; + + // Changer le bouton + previewBtn.innerHTML = 'Éditer'; + previewBtn.classList.remove('primary'); + previewBtn.classList.add('secondary'); + + this.isPreviewMode = true; + this.showNotification('Mode prévisualisation activé', 'success'); + + } else { + // Revenir en mode édition + this.editor.contentEditable = true; + this.editor.innerHTML = this.originalContent; + this.editor.style.background = ''; + this.editor.style.border = ''; + this.editor.style.borderRadius = ''; + + // Changer le bouton + previewBtn.innerHTML = 'Visualiser'; + previewBtn.classList.remove('secondary'); + previewBtn.classList.add('primary'); + + this.isPreviewMode = false; + this.showNotification('Mode édition activé', 'success'); + } + } } // Gestion des panneaux latéraux @@ -900,9 +944,9 @@ function initializeTemplateForm() { levelSelect.disabled = false; levelSelect.innerHTML = ` - - - + + + `; loadTemplateBtn.disabled = true; @@ -961,49 +1005,7 @@ function initializeTemplateForm() { } }); } +} - togglePreview() { - const previewBtn = document.getElementById('preview-toggle'); - - if (!this.isPreviewMode) { - // Passer en mode prévisualisation - this.originalContent = this.editor.innerHTML; - const markdownContent = this.editor.innerText; - - // Convertir le Markdown en HTML joliment formaté - const previewHTML = this.parseMarkdown(markdownContent); - - // Désactiver l'édition et appliquer le style preview - this.editor.contentEditable = false; - this.editor.innerHTML = `
${previewHTML}
`; - this.editor.style.background = 'var(--background-color)'; - this.editor.style.border = '1px solid var(--border-color)'; - this.editor.style.borderRadius = '8px'; - - // Changer le bouton - previewBtn.innerHTML = '✏️ Éditer'; - previewBtn.classList.remove('primary'); - previewBtn.classList.add('secondary'); - - this.isPreviewMode = true; - this.showNotification('Mode prévisualisation activé', 'success'); - - } else { - // Revenir en mode édition - this.editor.contentEditable = true; - this.editor.innerHTML = this.originalContent; - this.editor.style.background = ''; - this.editor.style.border = ''; - this.editor.style.borderRadius = ''; - - // Changer le bouton - previewBtn.innerHTML = '👁️ Visualiser'; - previewBtn.classList.remove('secondary'); - previewBtn.classList.add('primary'); - - this.isPreviewMode = false; - this.showNotification('Mode édition activé', 'success'); - } - } - -} \ No newline at end of file +// S'assurer que togglePanel est accessible globalement +window.togglePanel = togglePanel; \ No newline at end of file diff --git a/views/header.js b/views/header.js index cf8ee84..046a3a8 100644 --- a/views/header.js +++ b/views/header.js @@ -15,19 +15,19 @@ function getLeftPanel() {
-

⚙️ Templates de Projet

+

Templates de Projet

@@ -35,15 +35,15 @@ function getLeftPanel() {
@@ -59,13 +59,13 @@ function getRightPanel() {
-

🛠️ Outils

+

Outils