Je me permets un ajout qui peut en intéresser certains. Mes slides sont codés sur une base DZslides. J'ai un peu hacké le truc (on s'échange beaucoup de patchs). Les slides sont ici :
http://hg.hoa-project.net/Keynote. Je vous laisse explorer, c'est très simple.
Petit tour d'horizon quand même :
• utilisez Template/Template.html comme base de départ ;
• ça peut donner un truc comme ça :
http://keynote.hoa-project.net/PHPTour11.html (on bouge avec les flèches) ;
• vous avez tous les slides qui tournent, c'est chouette (le système CSS de DZslides et le thème sont bien découpés) ;
• appuyez sur Esc pour avoir une vue de tous les slides (regarder le code pour ça, c'est juste mortel, on ne modifie jamais le DOM, juste class et aria-*

).
On continue avec les shells pour embarquer les slides :
• Onstage, très pratique pour une présentation :
http://keynote.hoa-project.net/Shells/O ... our11.html ;
• horloge/timer ;
• slide courante, slide suivante ;
• popup à mettre en plein écran sur le beamer ;
• affichage des notes ;
• numéro des slides (avec possibilité de changer directement, le numéro de la slide courante est un input).
Autres shells :
• Embedder, pour embarquer ses slides dans une page, e.g. :
http://hoa-project.net/Literature/Keyno ... our11.html ;
• Mirror, pour synchroniser les slides chez toutes les personnes qui utilisent le mirroir (les slides sont contrôlées depuis Onstage), il faut démarrer Shells/Script/Mirror.php avant tout ; en plus, offre des prises de notes en localStorage (fonctionne sans être connecté) et d'autres trucs.
Comment ça fonctionne ?
Écrire ses slides c'est juste une balise <section> par slide, c'est tout. Les notes sont écrites dans des balises <details>. Le reste c'est vous qui fait. Si vous placez la class="incremental" sur un élément, tous ses enfants vont s'afficher 1 par 1 (c'est vous qui gérez avec le CSS en fait).
Pour contrôler les slides entre fenêtres, iframe etc., ça fonctionne avec
window.postMessage (client-client).
Pour synchroniser les slides, en plus d'utiliser window.postMessage, on utilise les Websockets. Je vous invite à essayer : démarrer Mirror.php en ligne de commande, ouvrez Onstage.html et indiquez des slides, ouvrez Mirror.html et indiquez des slides, bougez sur Onstage.html et ça bougera sur Mirror.html. La seule différence avec des shells comme embedder, c'est qu'on passe par le réseau (client-serveur).
Je vous laisse explorer tout ça. Ça pourra sûrement vous être utile un jour

. N'hésitez pas à me poser des questions.