
🎯 Améliorations UX critiques : - Fix curseur qui revenait au début lors de la saisie - Suppression autosauvegarde automatique - Centrage flèche bouton scroll-to-top - Mode liberté applique automatiquement les itérations 🤖 IA optimisée : - Migration vers mistral-medium classique - Suppression raisonnement IA pour réponses directes - Prompt reformulation strict (texte seul) - Routes IA complètes fonctionnelles 📚 Templates professionnels complets : - Structure 12 sections selon standards académiques/industrie - 6 domaines : informatique, math, business, design, recherche, ingénierie - 3 niveaux : simple (9 sections), détaillé, complet (12 sections) - Méthodologies spécialisées par domaine ✨ Nouvelles fonctionnalités : - Debounce TOC pour performance saisie - Navigation sections améliorée - Sauvegarde/restauration position curseur 🧠 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
87 lines
3.9 KiB
JavaScript
87 lines
3.9 KiB
JavaScript
function getMain() {
|
||
return `
|
||
<main>
|
||
<section id="table-of-contents">
|
||
<h2>📑 Table des matières</h2>
|
||
<nav id="toc-nav">
|
||
<div class="toc-placeholder">
|
||
<p>La table des matières sera générée automatiquement à partir des titres de votre journal.</p>
|
||
<button id="refresh-toc" class="btn secondary">🔄 Actualiser</button>
|
||
</div>
|
||
</nav>
|
||
</section>
|
||
|
||
<section id="design-journal">
|
||
<h2>📝 Journal de conception</h2>
|
||
<div id="journal-controls" style="padding: 1rem; border-bottom: 1px solid var(--border-color); display: flex; gap: 1rem; align-items: center; justify-content: center;">
|
||
<button id="save-journal" class="btn success">💾 Sauvegarder</button>
|
||
<button id="load-journal" class="btn">📂 Charger</button>
|
||
<span id="save-status" class="text-light"></span>
|
||
</div>
|
||
|
||
<!-- Modal de chargement des journaux -->
|
||
<div id="journal-modal" class="modal-overlay" style="display: none;">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<h3>📂 Sélectionner un journal</h3>
|
||
<button class="modal-close" id="close-journal-modal">×</button>
|
||
</div>
|
||
<div class="modal-body" id="journal-modal-body">
|
||
<!-- Contenu dynamique -->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="journal-editor" contenteditable="true">
|
||
<!-- Zone d'écriture principale -->
|
||
</div>
|
||
</section>
|
||
|
||
<section id="ai-assistant">
|
||
<h2>🤖 Assistant IA</h2>
|
||
<div class="ai-controls" style="padding: 1rem; border-bottom: 1px solid var(--border-color);">
|
||
<div class="ai-actions" style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 1rem;">
|
||
<button id="activate-rephrase" class="btn" title="Reformuler le texte sélectionné">
|
||
✨ Reformuler
|
||
</button>
|
||
<button id="check-inconsistencies" class="btn" title="Vérifier les incohérences">
|
||
🔍 Incohérences
|
||
</button>
|
||
<button id="check-duplications" class="btn" title="Vérifier les doublons">
|
||
📋 Doublons
|
||
</button>
|
||
<button id="give-advice" class="btn" title="Conseils d'amélioration">
|
||
💡 Conseils
|
||
</button>
|
||
</div>
|
||
<div class="liberty-mode" style="border-top: 1px solid var(--border-color); padding-top: 1rem;">
|
||
<div style="display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||
<label for="liberty-repeat-count" style="font-size: 0.9rem; color: var(--text-light);">Itérations:</label>
|
||
<select id="liberty-repeat-count" style="padding: 0.25rem; border: 1px solid var(--border-color); border-radius: 4px; background: var(--surface-color); color: var(--text-color);">
|
||
<option value="1">1</option>
|
||
<option value="2">2</option>
|
||
<option value="3" selected>3</option>
|
||
<option value="4">4</option>
|
||
<option value="5">5</option>
|
||
</select>
|
||
<button id="liberty-mode" class="btn" style="flex: 1;" title="Génération créative">
|
||
🚀 Mode Liberté
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="ai-assistant-feedback" style="flex: 1; padding: 1rem; overflow-y: auto; min-height: 200px;">
|
||
<div class="feedback-message" style="text-align: center; color: var(--text-light);">
|
||
<strong>🎯 Assistant IA prêt</strong><br>
|
||
Sélectionnez du texte dans l'éditeur et cliquez sur une action pour commencer.
|
||
<div style="margin-top: 1rem; font-size: 0.85rem;">
|
||
<div style="margin-bottom: 0.5rem;"><strong>Powered by Mistral AI</strong></div>
|
||
<div>Modèle: Mistral Large (multilingue)</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
`;
|
||
}
|
||
|
||
module.exports = { getMain }; |