De nos jours, lorsque les casques VR font partie de notre rĂ©alitĂ© et que les voitures Tesla volent dans l'espace, vous pouvez utiliser toute la puissance des moteurs de navigateur pour crĂ©er des prĂ©sentations vraiment interactives, multiplateformes et Ă©lĂ©gantes, plutĂŽt que de crĂ©er un ensemble de pages PPTX ou, mĂȘme pire, un document PDF dans le style "matĂ©riel d'illustration pour rapport explicatif et de calcul".
Depuis 2015, j'essaie de trouver le format de présentation optimal pour moi (en dehors des projets de fin d'études). Et maintenant, je pense que j'ai presque réussi. Tout a commencé avec PowerPoint et s'est terminé avec des cadres Web basés sur JavaScript.
Il existe plusieurs moteurs JavaScript qui peuvent ĂȘtre utilisĂ©s pour crĂ©er des prĂ©sentations sympas: Marp , Reveal , glissement de terrain , hacker-slides , slidify et autres. Dans certains moteurs, vous pouvez utiliser Markdown, certains sont intĂ©grĂ©s dans un IDE et certains ont leurs propres Ă©diteurs. J'ai essayĂ© les deux premiers moteurs.
à titre de démonstration, des exemples de diapositives et une vidéo sont disponibles.
Les deux moteurs mentionnĂ©s ci-dessus prennent en charge le format de texte brut Markdown. Le premier, Marp , vous permet de crĂ©er des prĂ©sentations dans son propre IDE, ce qui est trĂšs pratique, mais la sortie est toujours un PDF statique. Le second, Reveal , est plus intĂ©ressant: il peut ĂȘtre utilisĂ© pour crĂ©er des sites Web de prĂ©sentation entiers - vous pouvez utiliser toute la puissance de JavaScript, HTML et CSS en plus de Markdown. Je parlerai principalement de Reveal dans cet article.
Vous pouvez voir l'évolution de mes présentations dans le référentiel https://github.com/KvanTTT/Presentations .
Petite quantité de texte
Votre public ne lira pas le texte de la présentation à partir des diapositives, alors ne mettez pas de paragraphes entiers sur les diapositives. Parlez avec le public. Si vous ne savez pas s'il faut mettre un morceau de texte sur une diapositive ou non, jetez-le. Si nécessaire, écrivez un article dans lequel les détails seront expliqués. Il vaut mieux utiliser plus d'informations visuelles.
Utiliser des mĂ©taphores, c'est bien. Le public doit ĂȘtre engagĂ© dĂšs le dĂ©but de la prĂ©sentation et rester Ă©veillĂ©. Cela peut ĂȘtre fait Ă l'aide d'images drĂŽles. Mais sachez les limites: l'abondance de blagues peut ĂȘtre ennuyeuse et distrayante.
Minimalisme et design plat
Un des principes que j'ai emprunté. Il est à la mode maintenant et je l'aime aussi. Par conséquent, il est recommandé d'utiliser un petit nombre de couleurs de base (trois à cinq) lors de la création de présentations.
AccĂšs en ligne
La prĂ©sentation doit ĂȘtre disponible Ă partir du navigateur. Ainsi, vous n'aurez pas peur de perdre un lecteur flash, de planter votre ordinateur portable et d'autres adversitĂ©s lors de la prĂ©sentation.
Travail hors ligne
Diapositives en anglais
AccĂšs par lien
Lien lisible
Du lien vers la présentation https://kvanttt.imtqy.com/Presentations/2018-05-15-Source-code-analyzers-how-generalizable-are-they/English/index.html, ce qui suit est immédiatement clair:
- Auteur: kvanttt
- Date de publication: 2018-05-15
- Format: présentations (il peut également y avoir, par exemple, des articles , des échantillons )
- Langue: anglais
- Titre: Analyseurs de code source-comment-généralisables-sont-ils
- Vous pouvez également vous référer à n'importe quelle page de la présentation en utilisant le signe numérique
#/5
.
ThĂšmes sombres et clairs
Pour la meilleure adaptation à l'éclairage ou à l'ambiance. Vous pouvez également créer le vÎtre.
Vous pouvez également modifier le style des transitions entre les diapositives.
Intégration avec les systÚmes de contrÎle de version (Git)
GitHub peut ĂȘtre configurĂ© de sorte que lorsque vous poussez vers les gh-pages
ou la branche principale, le site est immédiatement publié sur un hébergement statique dans le domaine imtqy.com
ce qui est trĂšs pratique.
Voici le dossier source: https://github.com/KvanTTT/Presentations/tree/master/2018-05-15-Source-code-analyzers-how-generalizable-are-they
Utilisation du format texte brut (Markdown)
Markdown permet de décrire facilement:
- différents styles de texte ( italique , gras ,
barré , lien , devis, code snippet
), - rubriques
- listes, ordonnées et non ordonnées,
- tables
- spoilers,
- des Ă©lĂ©ments supplĂ©mentaires qui peuvent varier en fonction de la mise en Ćuvre. Si nĂ©cessaire, vous pouvez Ă©galement utiliser des balises HTML.
Exemple de sources de diapositives # ïž Text fingerprinting with zero-length characters Be câarefâul whâat yoâu copy <span class="fragment">ïž [https://diffchecker.com](https://www.diffchecker.com/M2PvqSXw)</span> <span class="fragment"> Be câąarefâąul whâąat yoâąu copyâą </span> <aside class="fragment" align="middle">Detail: [habr.com](https://habr.com/post/352950/) | [Medium](https://medium.com/@umpox/be-careful-what-you-copy-invisibly-inserting-usernames-into-text-with-zero-width-characters-18b4e6f17b66) </span> <br> <aside class="notes"> There is another similar funny story with zero-width characters. Fâor examâple, I have insâerted 5 such characters inâto thiâs string, câan you telââl? You can check it using the service <https://www.diffchecker.com>. These characters can be used as unique text fingerprints to identify users. Using this method, for example, you can play detective: encode the name of the user in a copied message to understand who leaks some confidential information :) You can find more information about such characters on Habr and Medium. </aside> ---
Diapositives
Pendant la prĂ©sentation, vous pouvez appuyer sur S et regarder les notes prĂ©parĂ©es et la diapositive suivante. Vous pouvez Ă©galement contrĂŽler la durĂ©e de votre conversation Ă l'aide de la minuterie. Les notes peuvent ĂȘtre affichĂ©es sur le deuxiĂšme moniteur.
Utiliser des emoji
Emoji peut ĂȘtre utilisĂ© pour associer des diapositives Ă des images visuelles. Malheureusement, ils ne sont toujours pas pris en charge sur Habr, vous ne verrez donc pas les emoji dans le titre au-dessus de ce paragraphe.
Jpg
Format de compression avec perte, adapté aux photos et aux images complexes avec des dégradés et une palette riche. Mauvais pour les dessins et les graphiques avec du texte et des signes. Bon pour le fond.
PNG
Format de compression sans perte, adapté aux images avec de grandes zones homogÚnes et une palette de couleurs limitée. Pas besoin de l'utiliser pour les photos, car la taille du fichier sera beaucoup plus grande. Bon pour les captures d'écran.
Svg
Pour une raison quelconque, beaucoup de gens oublient SVG, qui présente les avantages suivants:
- mise à l'échelle de l'image à n'importe quelle taille sans perte de qualité;
- intégration avec Git (format texte);
- vous pouvez changer les couleurs, les polices et d'autres éléments directement dans le fichier;
- petite taille de fichier.
Pris en charge par tous les navigateurs modernes - et mĂȘme Habr! Malheureusement, il ne peut ĂȘtre tĂ©lĂ©chargĂ© sur Habr qu'indirectement .
Notez que la plupart des images de cet article sont au format SVG.

Ceci est un fragment du code source de l'image SVG d'arriĂšre-plan de cette diapositive <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="478pt" height="601pt" viewBox="0.00 0.00 478.13 601.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 597)"> <title>cfg</title> <polygon fill="white" stroke="none" points="-4,4 -4,-597 474.131,-597 474.131,4 -4,4"/> <g id="node1" class="node"> <title>27</title> <ellipse fill="none" stroke="black" cx="310.039" cy="-575" rx="75.2868" ry="18"/> <text text-anchor="middle" x="310.039" y="-571.3" font-family="Times New Roman,serif" font-size="14.00">name == "admin"</text> </g> <g id="node2" class="node"> <title>33</title> <ellipse fill="none" stroke="black" cx="229.039" cy="-488" rx="81.4863" ry="18"/> <text text-anchor="middle" x="229.039" y="-484.3" font-family="Times New Roman,serif" font-size="14.00">key1 == "validkey"</text> </g>
Utiliser des IDE simples et pratiques
Par exemple, Visual Studio Code avec des plugins. L'aperçu à gauche, la version finale (rendu) à droite ou dans le navigateur. Il existe un plugin de vérification orthographique, des plugins de génération de contenu (TOC), des tables de formatage et autres.
Texte de présentation facile à imprimer
Utilisation gratuite
Fonctionnalités supplémentaires
- Diapositives verticales: vous pouvez faire défiler non seulement latéralement, mais aussi verticalement.
- Possibilité de créer une présentation sans écrire de code à l'aide de slides.com .
- Possibilité de visualiser plusieurs diapositives à la fois pour une navigation facile.
- Utilisation de différents types de mosaïque d'arriÚre-plan, utilisation de la vidéo comme arriÚre-plan.
- Diaporama automatique.
- Et quelques autres fonctionnalités .
Vous pouvez également expérimenter avec une version interactive.
La présentation a l'air simple et cool
Inconvénients
Bien sûr, tout a des inconvénients, et cette approche ne fait pas exception:
- Exportation maladroite au format PDF , vous devez modifier la sortie. Cependant, est Ă©galement disponibleâ .
- Aucune exportation vers PPTX .
- Pas trÚs facile à maßtriser, surtout pour les non-programmeurs et les développeurs non frontend (idéalement, vous devez connaßtre HTML et CSS ).
- Pas trĂšs facile de faire des modifications. Mais vous pouvez l'adapter et l'automatiser.
- Les emoji ne sont pas affichĂ©s de la mĂȘme maniĂšre partout (par exemple, vous ne verrez pas les emoji dans cette phrase).
- Le moteur est encore brut.
Conclusion
Il me semble que les futures présentations seront comme ceci: interactives, sous la forme de sites Web faciles à éditer pour les programmeurs et les concepteurs. Essayons de rapprocher cet avenir!
Soit dit en passant, les articles peuvent Ă©galement ĂȘtre Ă©crits Ă l'aide de Git et Markdown et hĂ©bergĂ©s sur GitHub ou GitLab. J'Ă©crirai Ă ce sujet plus tard.
Si vous avez des corrections ou des ajouts, veuillez écrire vos commentaires ci-dessous. Je vais les considérer et éventuellement inclure dans l'article.
Les sources de l'article sont disponibles sur GitHub - veuillez envoyer Pull Request si vous trouvez une erreur. Pour la conversion au format habr.com, j'utilise la bibliothĂšque MarkConv .