Greboca  

DLFP - Dépêches  -  De Sozi 12 à Sozi 19

 -  29 avril - 

Sozi est une alternative à Prezi, un logiciel de création de présentations animées.

En lisant un journal récent à propos d’un éditeur de SVG interactif, j’ai réalisé que Sozi n’avait fait l’objet d’aucune publication sur ce site depuis l’annonce de la version 12, sortie en… 2012.

Ce journal résume les principaux changements ayant eu lieu depuis cette version, en évitant une fastidieuse concaténation de release notes.

Sommaire

Qu’est‐ce que Sozi ?

Sozi est un logiciel de création de présentations animées. Il se positionne comme une alternative à Prezi, en se différenciant de ce dernier sur les aspects suivants :

  • Sozi est un logiciel libre, diffusé sous les termes de la Mozilla Public License 2 ;
  • Sozi repose sur des standards ouverts ;
  • avec Sozi, l’utilisateur reste maître de ses données.

La création d’une présentation s’effectue en deux temps :

  1. créer un document SVG contenant les éléments visuels de la présentation ; en théorie, n’importe quel logiciel de dessin vectoriel capable d’enregistrer au format SVG peut être utilisé ; en pratique, Inkscape est recommandé et il existe peu de retours d’expérience concernant la compatibilité de Sozi avec d’autres outils ;
  2. importer le document SVG dans l’éditeur de présentation Sozi et définir une séquence de vues ainsi que les transitions entre ces vues.

Sozi n’altère pas le document SVG d’origine. Il enregistre la présentation sous la forme d’un document HTML qui contient : une copie du document SVG, les données définissant le déroulement de la présentation, le code JavaScript de visionnage.

Ce document HTML peut être affiché à l’aide de tout navigateur Web prenant en charge HTML 5, SVG et JavaScript.

Qui développe Sozi et pourquoi ?

Sozi est un projet personnel que je développe seul sur mon temps libre. La majorité des contributions externes concernent la traduction de l’interface utilisateur et du site Web.

Certains utilisateurs croient avoir affaire à une équipe de développeurs qui auraient l’ambition de gagner des parts de marché. Le site Web multilingue et le forum de discussion peuvent donner cette impression.

En réalité, je développe Sozi d’abord pour mon propre usage et parce que ça me fait plaisir. Je le distribue à la communauté en espérant que d’autres le trouveront utile, je donne un coup de main aux utilisateurs en détresse, mais je fais peu d’efforts pour le promouvoir.

Pour ces raisons également, je suis toujours réticent à développer de nouvelles fonctionnalités dont je n’aurais pas besoin, et qui seraient probablement mal testées et mal maintenues… Mais je peux faire une exception si je trouve l’idée amusante et si ça me donne l’occasion d’apprendre quelque chose de nouveau.

Sozi hier et aujourd’hui

Les numéros de version de Sozi sont chronologiques : par exemple, la version 19.04 a été publiée en avril 2019.

Jusqu’à la version 13.11, l’éditeur de présentation était une extension pour Inkscape. Le système d’extensions d’Inkscape n’ayant pas été pensé pour ce type d’usage, cela posait tout un tas de problèmes difficiles à contourner (comme par exemple le gel de l’interface d’Inkscape tant que la fenêtre Sozi était ouverte), et il y avait finalement peu d’avantages comparé à un logiciel séparé.

Sozi paie aujourd’hui pour cette erreur de jeunesse : alors que ce n’est plus vrai depuis 2015, on peut encore lire sur le Web en 2019 que Sozi est « lié à Inkscape » et est « écrit en Python ». :-(

Or, en 2014, l’éditeur de présentation a été entièrement réécrit en JavaScript comme une application indépendante. Cela a permis notamment de passer d’une interface utilisateur de type formulaire, peu ergonomique, à une interface permettant une manipulation directe des calques du document SVG et offrant une prévisualisation des vues et des transitions.

Aujourd’hui, l’éditeur de présentation est une application Electron qui fonctionne aussi bien sous GNU/Linux (des paquets Debian sont disponibles) que sous Windows et macOS.

Sozi 19.04 est disponible pour les utilisateurs d’Arch Linux via AUR. Pour les autres distributions, il n’est pas recommandé d’installer Sozi via les dépôts officiels : Fedora fournit toujours Sozi 13.11, et Debian est resté bloqué sur la version 12.

Que permet de faire Sozi 19.04 ?

Voici un aperçu des fonctionnalités offertes par Sozi aujourd’hui :

Créer une présentation sous la forme d’une séquence de vues sur un document SVG

L’éditeur de présentation permet de construire un parcours dans le plan du document SVG, en définissant à chaque étape la région visible par le spectateur. Les transitions entre ces étapes sont animées et il est possible de configurer leur durée ainsi que la fonction de progression du temps à utiliser.

Si le document est organisé en plusieurs calques, il est possible de créer un parcours et des transitions différentes pour chaque calque. Cela permet de réaliser des effets intéressants, comme par exemple :

  • animer des objets par rapport à un décor en les plaçant dans des calques séparés ; cet usage n’est pas facile à maîtriser car, dans Sozi, les animations sont définies comme des déplacements de la caméra ;
  • faire apparaître ou disparaître des objets en contrôlant l’opacité des calques ; s’il y a de nombreux objets à gérer, il faudra créer de nombreux calques ou réutiliser intelligemment le même calque pour plusieurs objets ;
  • réaliser un effet de parallaxe.

Jouer une présentation en mode présentateur

Il s’agit d’une nouvelle fonctionnalité dans Sozi 19.04. Plusieurs contributeurs ont proposé des implémentations par le passé, mais j’ai mis beaucoup de temps à me décider sur ce qu’il convenait de faire.

Désormais, l’éditeur enregistre deux fichiers HTML pour une même présentation :

  • un fichier contenant la présentation proprement dite, comme dans les versions précédentes de Sozi ;
  • un fichier contenant une console présentateur qui affiche les vues précédentes, courante et suivante, ainsi que les notes du présentateur.

Le premier fichier s’utilise comme précédemment, lorsque vous souhaitez jouer une présentation sans le mode présentateur. Le second ouvre automatiquement la présentation dans une nouvelle fenêtre et se synchronise avec elle au cours de son déroulement.

Créer des liens entre les vues d’une présentation

Au cours de la lecture d’une présentation Sozi dans un navigateur Web, chaque vue peut être adressée par son identifiant ou son numéro : on ajoute pour cela #id ou #numéro à l’URL du document courant.

Comme HTML, SVG prend en charge la balise qui permet de transformer un élément en lien. On peut faire pointer ce lien soit vers une URL externe, soit vers l’identifiant d’une vue de la présentation. Il est ainsi possible de créer de véritables présentations non linéaires, ou même de réaliser un site Web animé dont chaque page serait une vue d’une présentation Sozi.

Insérer une présentation Sozi dans une page Web

Comme Sozi produit des documents HTML, ces derniers peuvent être insérés dans d’autres pages Web au moyen de la balise . Si nécessaire, l’API de Sozi permet de gérer le déroulement de la présentation depuis un script sur la page principale. Par exemple, on peut ajouter des boutons de navigation comme dans l’exemple situé en bas de ce tutoriel.

Depuis Sozi 17.11, il est possible de désactiver les actions au clavier et à la souris dans une présentation. Certains utilisateurs réalisent ainsi des animations destinées à être insérées dans des pages Web, et à être jouées automatiquement sans intervention du spectateur.

Insertion de documents vidéo et audio dans une présentation

Par principe, l’éditeur de présentation Sozi ne gère que le déroulement d’une présentation et ne permet pas d’ajouter des éléments visuels (ou auditifs). L’insertion de documents vidéo ou audio a donc été réalisée sous la forme d’une extension pour Inkscape.

Cette extension ajoute au document SVG un rectangle gris à l’emplacement où le media devra s’afficher. Ce rectangle est remplacé par un éléments HTML ou lorsque la présentation est jouée.

À ce jour, seul Firefox affiche correctement les vidéos en respectant les transformations géométriques appliquées par Sozi.

Convertir une présentation Sozi en une vidéo ou un document imprimable

Le projet Sozi-export propose un ensemble d’outils en ligne de commande pour convertir une présentation dans différents formats :

  • séquence d’images ;
  • vidéo, avec FFmpeg ;
  • PDF, avec PDFjam ;
  • PowerPoint.

Sozi-export est distribué comme un paquet Node.js. La version la plus récente a été publiée en octobre 2018.

Malheureusement, ces outils ne fonctionnent plus aujourd’hui sur certaines plates‐formes du fait de l’obsolescence de PhantomJS, sur lequel ils reposent. En attendant que ce problème soit résolu, il existe une image Docker qui fournit un environnement stable où Sozi-export fonctionne encore.

Perspectives et évolutions

Les principales fonctionnalités de l’éditeur de présentation sont stabilisées et la plupart des modifications envisagées portent sur l’amélioration de l’ergonomie et des performances.

À moyen terme, les améliorations suivantes sont prévues :

Je réfléchis également à la possibilité de distribuer Sozi sous une forme plus légère qui n’embarque pas une copie de Chromium. Pour une application qui tient en 650 Kio de code JavaScript, on se retrouve avec un paquet Debian de 40 Mio, tandis que le fichier tar.gz pour macOS pèse 133 Mio.

Après tout, Sozi s’exécute très bien dans un navigateur Web. La seule raison d’utiliser Electron dans mon cas est la possibilité d’accéder au système de fichiers et de détecter automatiquement les modifications du document SVG. Je suis preneur de toutes idées qui pourraient m’aider à obtenir le même résultat tout en utilisant le navigateur déjà installé sur l’ordinateur de l’utilisateur.

Commentaires : voir le flux atom ouvrir dans le navigateur

par Guillaume Savaton, ZeroHeure, Davy Defaud, Julien Jorge

DLFP - Dépêches

LinuxFr.org

Installer LineageOS sur son appareil Android

 -  25 juin - 

Lorsque j’ai installé LineageOS sur mon smartphone, j’ai suivi des tutoriels sans réellement comprendre ce que je faisais. Je voulais donc écrire (...)


Firefox 67.0.1 : version mineure ou majeure ?

 -  23 juin - 

La version 67.0.1 de Firefox a été publiée le 4 juin 2019. De manière un peu étrange et inhabituelle, Mozilla a lancé une nouvelle fonctionnalité à (...)


L’enjeu de la bataille du Libre : la réappropriation des savoir‐faire

 -  22 juin - 

« Leur terre est morte et ils ne la possèdent même plus, ils sont endettés auprès de banques. Il faut des engrais sinon rien ne pousse. Les graines (...)


Un ASIC conçu intégralement avec des logiciels libres

 -  17 juin - 

Un ASIC (application‐specific integrated circuit, en anglais) est un circuit intégré d’électronique numérique conçu pour une application spécifique et (...)


Interview de Bastien Guerry, référent logiciels libres à la DINSIC

 -  9 juin - 

Bastien Guerry est, depuis décembre 2018, le référent logiciels libres de la DINSIC (Direction interministérielle du Numérique et du Système (...)