Le système reveals-presentation
Skill Agent reveals-creator Claude Haiku 4.5
Une méta-présentation : Reveal.js qui explique comment créer des Reveal.js !
Framework HTML/CSS/JavaScript pour créer des présentations web interactives
Expertise complète en création de présentations reveal.js éducatives
Appuyez sur ↓ pour voir la localisation du skill
Agent autonome spécialisé dans la génération de présentations reveal.js
Appuyez sur ↓ pour voir le workflow
Chaque style est adapté à son public cible avec des règles précises
Appuyez sur ↓ pour voir chaque style en détail
| Critère | Collège | Lycée | Académique |
|---|---|---|---|
| Police | 22px (Comic Neue) | 20px (Roboto) | 18px (Lato) |
| Densité max | 60% | 70% | 70% |
| Items max | 5 | 6-7 | 7 |
| Animations | Nombreuses | Équilibrées | Sobres |
| Couleurs | Vives | Professionnelles | Discrètes |
Structurer la présentation en 2 dimensions : horizontal ET vertical
Cette présentation utilise la navigation 2D ! Essayez ↓
navigationMode: 'grid'<section>
<!-- Slide horizontale principale -->
<section>
<h2>Concept principal</h2>
<p>Vue d'ensemble autonome</p>
<p class="smaller"><i class="fas fa-arrow-down"></i>
Appuyez sur ↓ pour détails</p>
</section>
<!-- Détails verticaux optionnels -->
<section>
<h3>Détail 1</h3>
<p>Premier approfondissement</p>
</section>
<section>
<h3>Détail 2</h3>
<p>Deuxième approfondissement</p>
</section>
</section>
Reveal.initialize({
navigationMode: 'grid', // IMPORTANT !
controls: true,
controlsLayout: 'edges', // 4 flèches
slideNumber: 'h.v', // Format 2.3
// ... autres options
});
// Forcer retour au top lors navigation horizontale
let lastHorizontalIndex = 0;
Reveal.on('slidechanged', event => {
const currentH = event.indexh;
const currentV = event.indexv;
if (currentH !== lastHorizontalIndex && currentV !== 0) {
Reveal.slide(currentH, 0);
}
lastHorizontalIndex = currentH;
});
Révélation progressive pour une pédagogie dynamique
class="fragment" : Apparition au clicfade-up : Vient du bashighlight-red : Surlignagegrow : AgrandissementAppuyez sur ↓ pour voir plus d'exemples
Problème : Par défaut, ordre du DOM
<!-- Ordre explicite -->
<div class="fragment" data-fragment-index="3">Troisième</div>
<div class="fragment" data-fragment-index="1">Premier</div>
<div class="fragment" data-fragment-index="2">Deuxième</div>
<!-- Simultané -->
<div class="fragment" data-fragment-index="1">A</div>
<div class="fragment" data-fragment-index="1">B (en même temps)</div>
<div class="fragment" data-fragment-index="2">C</div>
<section>
<h2>Exercice : Dérivée</h2>
<!-- Question présente dès le début -->
<div class="question">
<p><strong>Question :</strong>
Que vaut la dérivée de \(x^{2}\) ?</p>
</div>
<!-- Réponse apparaît au clic -->
<div class="fragment">
<p><em>On utilise la règle :
\((x^n)' = n \cdot x^{n-1}\)</em></p>
<p class="answer"><strong>Réponse :</strong>
<span class="highlight">\(2x\)</span>
</p>
</div>
</section>
| Classe | Effet | Usage |
|---|---|---|
fragment |
Apparition instantanée | Par défaut |
fragment fade-in |
Fondu entrant | Douceur |
fragment fade-up |
Depuis le bas | Dynamisme |
fragment highlight-red |
Surlignage rouge | Attention |
fragment grow |
Agrandissement | Emphase |
fragment strike |
Barré | Correction |
Maximum 2 éléments côte à côte par slide
Exemple : Escape game avec 4 images
Fichier HTML autonome avec tout intégré (CSS, JavaScript, CDN)
Appuyez sur ↓ pour voir la structure complète
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Titre de la présentation</title>
<!-- Reveal.js CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/theme/white.css">
<!-- Font Awesome (icônes) -->
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<!-- CSS personnalisé selon style -->
<style>
/* Styles adaptés au public cible */
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- Slides ici -->
</div>
</div>
<!-- Scripts Reveal.js -->
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.js"></script>
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/plugin/math/math.js"></script>
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/plugin/notes/notes.js"></script>
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/plugin/highlight/highlight.js"></script>
<script>
Reveal.initialize({
// Configuration
});
</script>
</body>
</html>
/* Mise en page */
.grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2em;
}
/* Boxes colorées */
.box {
background: #ecf0f1;
padding: 1em 1.5em;
border-left: 4px solid #3498db;
}
.warning-box {
background: #fff3cd;
border-left: 4px solid #f39c12;
}
.example-box {
background: #e8f5e9;
border-left: 4px solid #27ae60;
}
.workflow-step {
display: flex;
align-items: center;
padding: 0.8em;
background: #ecf0f1;
border-radius: 8px;
}
.workflow-step .step-number {
background: #3498db;
color: white;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
margin-right: 1em;
}
Options JavaScript pour contrôler le comportement de la présentation
Appuyez sur ↓ pour voir les options
Reveal.initialize({
// Navigation 2D
navigationMode: 'grid',
controls: true,
controlsLayout: 'edges',
controlsBackArrows: 'visible',
controlsTutorial: true,
// Progression
progress: true,
slideNumber: 'h.v',
hash: true,
// Dimensions
width: 1280,
height: 720,
margin: 0.1,
// Transitions
transition: 'slide',
transitionSpeed: 'default',
// Math
math: {
mathjax: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js',
config: 'TeX-AMS_HTML-full'
},
// Plugins
plugins: [
RevealMath,
RevealNotes,
RevealHighlight,
RevealZoom
]
});
| Valeur | Effet | Usage |
|---|---|---|
none |
Pas de transition | Instantané |
fade |
Fondu enchaîné | Douceur |
slide |
Glissement horizontal | Recommandé |
convex |
Perspective convexe | Dynamique |
zoom |
Zoom avant/arrière | Impact |
Formules mathématiques professionnelles dans reveal.js
Appuyez sur ↓ pour voir des exemples
Inline : La formule \(E = mc^2\) est célèbre.
Block :
\[ \int_{a}^{b} f(x) \, dx = F(b) - F(a) \]Environnement align :
\begin{align} (x+2)^2 &= x^2 + 2 \cdot x \cdot 2 + 2^2 \\ &= x^2 + 4x + 4 \end{align}<!-- Inline -->
<p>La formule \(E = mc^2\) est célèbre.</p>
<!-- Block -->
<p>\[
\int_{a}^{b} f(x) \, dx = F(b) - F(a)
\]</p>
<!-- Environnement align -->
<p>\begin{align}
(x+2)^2 &= x^2 + 2 \cdot x \cdot 2 + 2^2 \\
&= x^2 + 4x + 4
\end{align}</p>
Reveal.initialize({
// ... autres options ...
math: {
mathjax: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js',
config: 'TeX-AMS_HTML-full'
},
plugins: [
RevealMath, // IMPORTANT : Plugin requis
RevealNotes,
RevealHighlight,
RevealZoom
]
});
Règles pour créer des présentations révélées efficaces
Appuyez sur ↓ pour voir les règles détaillées
Maximum 3-4 fragments par slide
Trop de fragments = audience perdue
<ul>
<li class="fragment">1</li>
<li class="fragment">2</li>
<!-- ... 8 autres -->
</ul>
<ul>
<li class="fragment">Groupe 1</li>
<li class="fragment">Groupe 2</li>
<li class="fragment">Groupe 3</li>
</ul>
Astuce : Appuyez sur ? pour afficher l'aide complète !
Démonstration complète d'une slide interactive
Appuyez sur ↓ pour voir le code
<section class="exercise">
<h2>Exercice : Produit scalaire</h2>
<div class="exercise-header">
<span class="difficulty">★★☆</span>
<span class="estimated-time">5 minutes</span>
</div>
<!-- Énoncé -->
<div class="statement">
<p><strong>Énoncé :</strong> Calculer \(\vec{u} \cdot \vec{v}\) avec :</p>
<ul>
<li>\(\|\vec{u}\| = 2\)</li>
<li>\(\|\vec{v}\| = 3\)</li>
<li>\(\widehat{(\vec{u},\vec{v})} = 60°\)</li>
</ul>
</div>
<!-- Formule -->
<div class="fragment">
<p><em>On utilise la formule :</em></p>
<p>\(\vec{u} \cdot \vec{v} = \|\vec{u}\| \times \|\vec{v}\| \times \cos(\alpha)\)</p>
</div>
<!-- Application -->
<div class="fragment">
<p><em>Application numérique :</em></p>
<p>\(\vec{u} \cdot \vec{v} = 2 \times 3 \times \cos(60°) = 6 \times \frac{1}{2} = 3\)</p>
</div>
<!-- Résultat -->
<div class="fragment">
<div class="result-box">
\(\vec{u} \cdot \vec{v} = 3\)
</div>
</div>
</section>
Énoncé : Calculer \(\vec{u} \cdot \vec{v}\) avec \(\|\vec{u}\| = 2\), \(\|\vec{v}\| = 3\), angle = 60°
Formule : \(\vec{u} \cdot \vec{v} = \|\vec{u}\| \times \|\vec{v}\| \times \cos(\alpha)\)
Solution : L'agent reveals-creator gère la complexité technique pour vous !
L'agent fait tout le travail technique complexe automatiquement
Appuyez sur ↓ pour voir les avantages
"Crée une présentation sur les dérivées pour mes 1ère"
| Tâche | Manuel | Avec agent | Gain |
|---|---|---|---|
| Apprendre HTML/CSS | 10-20h | 0h | 100% |
| Créer structure | 1-2h | 2 min | ~95% |
| Ajouter fragments | 30 min | Auto | 100% |
| Configurer navigation | 15 min | Auto | 100% |
| Tester et corriger | 30 min | 5 min | ~85% |
Vous vous concentrez sur le CONTENU, pas la technique !
SKILL.md : Instructions agentsreferences/ : 7 guides détailléstemplates/ : 3 templates HTML.claude/agents/reveals-creator.mdLe système parfait pour créer des présentations pédagogiques interactives sans effort technique !
...a été créée avec le système qu'elle documente !
Temps de création : < 2 minutes de génération automatique
Prêt à créer vos présentations reveal.js ?
Demandez simplement à Claude avec l'agent reveals-creator !
Merci de votre attention !