PAMPI
Présentations Avec Markdown, Pandoc, Impress.
Présentation
PAMPI est un logiciel libre (licence GNU GPL 3) permettant de réaliser facilement des présentations.
- les présentations sont écrites dans des fichiers textes
- et sont donc facilement modifiables
- la syntaxe des fichiers (Markdown) est assez simple à apprendre
- beaucoup d’exemples d’utilisation de Markdown sont disponibles à la page suivante : https://enacit1.epfl.ch/markdown-pandoc
- elles sont converties en pages web (fichiers html)
- on les affiche dans son navigateur
- on peut les mettre en ligne, les emporter sur une clé usb, etc
- dans l’interface de PAMPI, le fichier Markdown est affiché à gauche et on peut visualiser le résultat à droite (voir la vidéo ci-dessus)
- chaque étape d’une présentation est positionnée où l’on veut dans un espace en 3D
- on indique ses coordonnées
- on peut aussi lui donner un facteur de zoom
- et faire des rotations
- on peut écrire des maths en utilisant KaTeX.
Vous trouverez des exemples ici : https://en.wikibooks.org/wiki/LaTeX/Mathematics.
Exemples de présentations réalisées avec PAMPI :
- Fichier d’aide de PAMPI
- D’après la démo d’impress.js
- Exemples d’effets d’animation
- La console de présentation
Dépendances :
- Python 3 est le langage de programmation avec lequel est développé PAMPI.
PAMPI reste cependant compatible avec la version 2.7 de Python (pour des systèmes anciens) - PyQt5 permet d’utiliser Qt avec Python, une bibliothèque permettant de créer des interfaces graphiques, mais aussi tout un tas de choses.
PAMPI reste aussi compatible avec PyQt4 (pour des systèmes anciens) - Pandoc un convertisseur de documents universel.
Téléchargement et installation
Choisissez une plateforme ci-dessus.
- dépendances
- pour Ubuntu 20.04, les dépendances peuvent être installées avec la commande suivante :
sudo apt install pandoc python3-pyqt5 python3-pyqt5.qtwebengine python3-pyqt5.qtsvg
- pour Ubuntu 20.04, les dépendances peuvent être installées avec la commande suivante :
- PAMPI
- téléchargez et décompressez l’archive de PAMPI : pampi.tar.gz
- pour lancer PAMPI, il suffit de cliquer sur le fichier pampi.pyw à la racine du dossier
(ou en console :python3 pampi.pyw
) - d’autre part, le menu Fichier → Créer un lanceur vous permettra de créer un fichier PAMPI.desktop où vous voulez (bureau, menu, …).
- dépendances
- pour installer Python 3 et PyQt5, voir la page installer PyQt sur Windows
- PAMPI
- téléchargez et installez pampi_setup.exe (installation de PAMPI)
- pour lancer le programme, vous trouverez un raccourci dans le menu Démarrer et sur le bureau
- remarque
- l’executable de Pandoc est embarqué avec PAMPI.
- dépendances
- pour installer Python 3 et PyQt5, voir la page installer PyQt sur Mac
- pour installer Pandoc, utilisez Homebrew avec la commande suivante :
brew install pandoc
- PAMPI
- téléchargez et décompressez l’archive de PAMPI : pampi.tar.gz
- pour lancer PAMPI, il suffit
- de cliquer sur le fichier pampi.pyw à la racine du dossier pampi
- OU de lancer en console avec la commande :
python3 pampi.pyw
- OU de déplacer le fichier pampi.pyw sur l’icône du terminal qui se trouve dans le dock (en bas de l’écran)
- remarque
- si cela ne fonctionne pas il faut modifier manuellement l’application qui va ouvrir pampi.pyw.
Pour cela, sélectionnez le fichier pampi.pyw puis dans le menu fichier, cliquez sur obtenir des informations.
Dans la section ouvrir avec, sélectionnez le Terminal comme application par défaut (ou python launcher).
Voir cette page : How can I change what program opens a certain file on a Mac?
- si cela ne fonctionne pas il faut modifier manuellement l’application qui va ouvrir pampi.pyw.
- SOURCES
- développement chez GitLab.
- En cas de mise à jour de PAMPI
- recopiez manuellement le contenu du dossier INSTALLATION/pampi/presentations/assets dans le dossier DOCUMENTS/presentations/assets
(où INSTALLATION est le dossier où est installé PAMPI et DOCUMENTS/presentations celui contenant vos présentations) - explications :
- seulement au premier lancement de PAMPI, le dossier INSTALLATION/pampi/presentations est recopié dans votre dossier DOCUMENTS
- comme vous pouvez être amené à modifier certains fichiers (CSS, javascript, etc) pour les adapter à vos besoins, PAMPI ne doit pas écraser vos modifications personnelles
- si vous avez modifié certains fichiers du sous-dossier assets, vérifiez sur le dépôt GitLab ce qui a été changé dans PAMPI pour ne pas perdre vos modifications.
- recopiez manuellement le contenu du dossier INSTALLATION/pampi/presentations/assets dans le dossier DOCUMENTS/presentations/assets
Détails des fonctionnalités
Les menus
- Fichier
- Fichier → Nouveau
- Fichier → Ouvrir (cette action est aussi disponible dans la barre d’outils)
quelques modèles de fichiers sont fournis (liste plus loin) ainsi que les sources des 4 fichiers d’exemples - Fichier → Fichiers récents
- Fichier → Assistant
vous permet de sélectionner une forme de présentation ; voir plus loin - Fichier → Enregistrer (cette action est aussi disponible dans la barre d’outils)
- Fichier → Enregistrer sous…
- Fichier → Exporter la présentation
après avoir sélectionné un dossier pour exporter votre présentation, PAMPI y créera un sous-dossier contenant tout ce qui est nécessaire pour la faire fonctionner.
Le dossier sera automatiquement ouvert à la fin de la procédure.
Vous pourrez le copier sur une clé, le compresser et l’envoyer en pièce jointes, etc

- Fichier → Créer un lanceur (disponible seulement sous GNU/Linux)
- Fichier → Quitter (cette action est aussi disponible dans la barre d’outils)
- Outils
- Outils → Enregistrer, convertir et visualiser (cette action est aussi disponible dans la barre d’outils)
c’est l’action essentielle pour voir ce que donnent vos modifications - Outils → Ouvrir dans le navigateur (cette action est aussi disponible dans la barre d’outils)
affiche votre présentation dans votre navigateur web - Outils → Utiliser KaTeX (cette action est aussi disponible dans la barre d’outils)
pensez à cocher cette action si vous comptez utiliser des expressions mathématiques dans votre fichier - Outils → Créer un fichier PDF
crée un fichier contenant une page pour chaque étape de la présentation
- Outils → Enregistrer, convertir et visualiser (cette action est aussi disponible dans la barre d’outils)
- Outils → Ouvrir le dossier des présentations (cette action est aussi disponible dans la barre d’outils)
voir plus loin pour une description du contenu du dossier - Outils → Changer le dossier des présentations
permet de modifier son emplacement (tous les fichiers seront déplacés dans le nouveau dossier choisi)
- Aide
- Aide → Aide
- Aide → À propos
- Aide → Pense-bête (cette action est aussi disponible sous forme d’un bouton)
affiche le pense-bête au lieu de la pévisualisation.
Le pense-bête contient une liste de modèles de commandes prêts à être copiés-collés dans vos fichiers.
Vous pouvez même le rendre éditable afin d’y ajouter vos propres commandes.
Le dossier des présentations

- il contient les versions html de vos présentations et les sous-dossiers suivants
- assets : les outils nécessaires au fonctionnement des présentations (fichiers css, javascript, polices, etc)
- data : les données de vos présentations (images, etc).
Créez-y un sous-dossier pour chaque présentation pour vous y retrouver plus facilement (en utilisant le même nom pour le sous-dossier et pour le fichier de la présentation) - md : les fichiers sources (Markdown) de vos présentations.
- par défaut il est créé dans le dossier des documents de votre ordinateur (son emplacement dépend du système), mais vous pouvez modifier cet emplacement
(menu Outils → Changer le dossier des présentations).
Titre, fichier CSS, couleur de fond
- pour chaque présentation, vous pouvez indiquer un titre (il sera affiché dans la barre de titre ou l’onglet de votre navigateur)
- si vous savez ce qu’est un fichier CSS, vous pouvez aussi utiliser un fichier CSS personnalisé pour modifier le style de vos présentations ou ajouter des effets
- la couleur de fond de votre présentation peut être modifiée en cliquant sur le bouton dédié

- vos fichiers CSS doivent être placés dans le sous-dossier assets/css (inspirez-vous du fichier default.css)

Assistant
- l’assistant vous permet de sélectionner une forme de présentation parmi une liste puis de régler différents paramètres
- les étapes de votre présentation sont automatiquement positionnées et vous n’avez plus qu’à modifier leurs contenus
- vous pouvez demander à copier le résultat dans le presse-papier au lieu de remplacer votre fichier actuel
- liste des formes de présentations disponibles (cliquez sur une image pour l’afficher en grand)
Liste des modèles de fichiers
Les modèles permettent de partir d’une disposition toute prête.
Après avoir ouvert le modèle qui correspond à ce que vous souhaitez, il suffit de l’enregistrer sous un nouveau nom puis de remplacer le contenu des étapes.
- model-3d : un modèle en 3d
- model-5 : une modèle pour 5 questions
- model-circle : une disposition en cercle
- model-helice : une hélice circulaire
- model-pentagon : un pentagone régulier
- model-spiral : une spirale
- model-table : une disposition en tableau
Autres outils disponibles

Les outils utilisés
- pour développer PAMPI
- et pour les présentations
Historique et motivation
- je me suis mis à utiliser Markdown + impress.js pour faire des présentations vers fin 2015.
Je m’en sers pour quelques présentations faites devant des collègues de boulot (profs) mais surtout en classe pour des démonstrations, des rappels, des questions flash, etc - j’ai testé un peu Hovercraft! mais ai finalement préféré Pandoc en ligne de commande (voir par exemple cette page pour le fonctionnement)
- de Hovercraft! j’ai gardé 2 3 trucs (fenêtre d’aide, impress-console même si je ne l’utilise pas vraiment, …)
- j’ai fait quelques modifications dans impress.js pour gérer la souris
(je préfère être debout avec une souris sans fil à la main et pouvoir me déplacer dans la salle plutôt que de rester derrière un clavier) - par ailleurs plusieurs collègues m’ont demandé comment faire ce genre de présentations.
Mais les outils que j’utilise ne sont pas vraiment à leur portée (ligne de commande, et en plus la plupart sont sous Windows) - du coup j’ai voulu leur fournir une interface qui permette cela de manière suffisamment simple
- c’est ainsi qu’est né PAMPI au début de l’année 2017.
FAQ
Comment faire un lien entre 2 étapes non successives ?
c’est possible en donnant des noms aux étapes (ou en récupérant le nom automatiquement attribué depuis son navigateur, mais c’est moins pratique).
Exemple :- on donne un nom à l’étape cible :
# {#machin .step ...}
- dans une autre étape on met un lien :
[va voir machin](#machin)
- on donne un nom à l’étape cible :
Comment fonctionne la vue overview ?
un double-clic passe en “overview” et de là on peut aller à une étape en cliquant dessusComment changer la couleur de fond utilisée par défaut ?
elle est définie dans le fichier DOCUMENTS/presentations/assets/css/default.css, dans la partie body
body {
...
background: #ced8db;
}
- Comment mettre une image de fond ?
ça se passe aussi dans le fichier DOCUMENTS/presentations/assets/css/default.css, dans la partie body
body {
...
background: white url('../../data/pampi-help/splash.png') no-repeat center center;
}
- Comment insérer une vidéo ?
en utilisant un peu de code html ; il y a un exemple vers la fin du fichier pampi-help
<div class="figure">
<video controls class="embed-responsive-item">
<source src="data/pampi-help/tour.mp4" type="video/mp4">
</video>
</div>