Augustin 45d6344b18 Améliorations majeures UX et templates professionnels
🎯 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>
2025-09-25 20:19:01 +02:00

87 lines
3.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 };