De Sozi 12 à Sozi 19

Posté par (page perso) . Édité par ZeroHeure, Davy Defaud et Julien Jorge. Modéré par Nils Ratusznik. Licence CC by-sa.
Tags :
56
29
avr.
2019
Bureautique

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 <a> 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 <iframe>. 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 <video> ou <audio> 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.

Aller plus loin

  • # Merci

    Posté par (page perso) . Évalué à 6.

    J'ai utilisé Sozi dans de nombreuses présentations. Non seulement le rendu est excellent, mais la conception des présentation sous forme d'un grand canvas sur lequel on peut "jeter" ses idées et les assembler ensuite est extrêmement productive.

    Bravo !

  • # Test

    Posté par (page perso) . Évalué à 6.

    Je découvre et je viens de tester rapidement. Je vais sans doutes l'utiliser pour une présentation.
    Merci pour ton travail !!

  • # exemples ?

    Posté par . Évalué à 0.

    C'est moi, ou il n'y pas vraiment d'exemples sur le site ?!

    • [^] # Dans la dépêche

      Posté par . Évalué à 4. Dernière modification le 29/04/19 à 12:02.

      l’exemple situé en bas de ce tutoriel.

      Des exemples supplémentaires aideraient à rendre plus attrayante la "vitrine" du logiciel mais ça semble être un choix assumé :

      je fais peu d’efforts pour le promouvoir.

      • [^] # Re: Dans la dépêche

        Posté par (page perso) . Évalué à 6.

        En effet, il y a des exemples sur le site, mais pas de rubrique "exemples" en tant que telle.
        Il existe également une rubrique "Créations" sur le forum, qui permet aux utilisateurs de partager leurs présentations.
        Elle manque encore de contenu pour le moment.

        Des exemples supplémentaires aideraient à rendre plus attrayante la "vitrine" du logiciel mais ça semble être un choix assumé

        Je suis d'accord, mais je ne dirais pas que c'est un "choix". La promotion de ce logiciel demanderait plus de temps et d'énergie que je ne peux en fournir. Et le marketing n'est peut-être pas mon point fort.

  • # bravo

    Posté par (page perso) . Évalué à 6.

    J'étais super dubitatif sur l'intérêt de ce genre de présentations, qui a tendance à me donner mal au crane et un mal de mer terrible. J'utilise d'habitude un simple markdown avec une idée par slide.

    Mais récemment, j'ai dû faire une présentation où montrer des détails importants d'une image, de manière fluide était primordial.
    Le rendu est vraiment vraiment très chouette. Ton appli (18.04 à l'époque) est vraiment sympa à manipuler, notamment le fait que le rafraîchissement du svg se fait à la volée.
    Bravo donc et merci.

  • # Sozi et Ubuntu

    Posté par (page perso) . Évalué à 3.

    Effectivement, dans Ubuntu 19.04 on a la version 12.05 ! J'ai donc téléchargé le paquet .deb de Sozi 19.04 : je l'ai installé sans problème. Le répertoire /opt/Sozi fait 154,4 Mio.

    C'est une belle application dont j'avais déjà entendu parler dans Linux Pratique. Il faudra que je réfléchisse à ce que je peux en faire. C'est une autre façon de concevoir et manipuler une présentation, donc il faut revoir sa façon de faire. Essayer de réfléchir aux avantages (et inconvénients) pour différentes applications. J'imagine par exemple qu'on peut faire un poster et le transformer facilement en une présentation… Dans le cadre d'un cours, peut-être que ça peut permettre de dérouler les choses de façon moins linéaire…

    Je me demande aussi s'il y a moyen d'intégrer ça dans une page Wiki sur GitHub, pour présenter rapidement un logiciel…

    Merci à toi.

    • [^] # Re: Sozi et Ubuntu

      Posté par (page perso) . Évalué à 4.

      Dans le cadre d'un cours, peut-être que ça peut permettre de dérouler les choses de façon moins linéaire

      On a eu quelques thèses qui ont utilisé ce principe et la plupart des personnes dans l'assistance ont dit qu'elles étaient complètement perdues dans le déroulé de la soutenance.

      Donc moi cela me semble sympa mais pas forcément pour tout le monde…

      • [^] # Re: Sozi et Ubuntu

        Posté par (page perso) . Évalué à 5.

        Je dirais plutôt que c'est lié, comme souvent, à la façon de présenter les choses plus qu'au domaine et, souvent aussi, à la maîtrise de l'application et à son utilisation. Je veux dire par là que ce type de logiciel c'est pour ajouter du "spectacle" à une intervention en public et aider à faire passer le message, pas le contenu du message lui-même.

        OS préféré Mageia 6 et Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

  • # PWA ?

    Posté par . Évalué à 4.

    Sympa comme soft!

    Quand tu parles de la possibilité de se séparer d'électron, y'a bien entendu la possibilité d'utiliser un petit serveur web local.
    Dans mon éditeur interactif, j'ai fait le choix d'aller au plus simple : j'utilise l'API HTML5 file.
    C'est pas parfait car ça nécessite de charger le fichier en mémoire puis de l'exporter une fois terminé.
    Après, y'a sans doute des solutions hybrides possibles : ton soft s'ouvre sur un firefox qui contient une extension assurant la partie sauvegarde par exemple.

    On parle aussi beaucoup des Progressives Web App mais j'ai pas encore suffisamment creusé la question.

    Pour les exemples, il faudrait sans doute proposer un petit concours ici sur un thème : par exemple, illustrations éducatives pour les enfants des 3 premiers cycles. (Oui, si ça peut servir des projets comme Primtux, c'est encore mieux)

    Enfin, j'ai parcourus quelques réalisations qui sont certes sympas mais qui ont manqués de réactivités les premières secondes (https://sozi.baierouge.fr/community/d/43-support-de-conf-rence-culture-libre).
    Je vois plusieurs raisons de frustration à mon sens :
    - fichier svg non minifié : un coup de svgo pourrait sans doute permettre de gagner quelques Mo précieux
    - un chargement progressif : première slides chargés avant et pourquoi pas une barre de chargement
    - les animations sont-elles effectués par le css ou le js ?

    Une piste de réflexion que je me donne également pour mes futures projets webs : canvas est beaucoup plus réactif que svg.
    J'ai effectué des tests de svg avec des animations css que j'ai comparé avec canvas (sur une grande matrice : 2048*2048) avec des animations js.
    Eh bin, canvas était à chaque fois au moins 4 à 5 fois moins gourmand.

    A creuser sans doute : une conversion du svg en canvas.

    Voilà, je sais que la critique est au combien facile. J'espère que celle-ci sera suffisamment constructive.

    • [^] # Re: PWA ?

      Posté par (page perso) . Évalué à 5.

      Merci pour ces suggestions.

      Quand tu parles de la possibilité de se séparer d'électron, y'a bien entendu la possibilité d'utiliser un petit serveur web local.

      Oui. Ça fait partie des solutions que j'envisage.
      Idéalement, il faudrait que ce soit transparent pour l'utilisateur, notamment en détectant automatiquement le navigateur web par défaut.

      Pour le moment, je regarde du côté d'outils comme NeutralinoJs.

      fichier svg non minifié : un coup de svgo pourrait sans doute permettre de gagner quelques Mo précieux

      Je vais regarder ça de plus près.

      un chargement progressif : première slides chargés avant et pourquoi pas une barre de chargement

      Avec Sozi 19, un écran noir avec un "spinner" est affiché au chargement de la présentation. On ne bascule sur la première vue que lorsque tous les calques sont correctement positionnés.

      Un chargement progressif semble difficilement envisageable. J'ai du mal à imaginer comment on peut garantir que les éléments SVG de la première vue seront chargés en premier.

      les animations sont-elles effectués par le css ou le js ?

      En JavaScript uniquement.

      canvas est beaucoup plus réactif que svg

      C'est peut-être la raison pour laquelle Prezi n'a pas retenu SVG pour remplacer Flash
      (source).

      Dans mon cas, le choix de SVG permet de déléguer la conception graphique à un logiciel de dessin, et de ne m'intéresser qu'à la gestion du déroulement de la présentation.

  • # Vidéos

    Posté par (page perso) . Évalué à 3.

    Précision: je n'ai jamais utilisé Sozi. Sauf cas particulier, l'intérêt est limité pour une présentation façon conférence: je pense que trop d'animations empêchent le passage de l'information. Je fais généralement des diapos toutes simples avec LibreOffice ou Reveal.js.

    Par contre j'y vois un intérêt pour illustrer un site web, ou pour faire une vidéo de présentation. Pour moi, l'export vidéo serait une fonctionnalité importante et à mettre en avant.

    Merci pour ce logiciel et cette dépêche.

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: Vidéos

      Posté par (page perso) . Évalué à 6.

      Sauf cas particulier, l'intérêt est limité pour une présentation façon conférence: je pense que trop d'animations empêchent le passage de l'information.

      Personne n'est obligé de mettre "trop d'animations". À l'extrême, Sozi permet même de faire des diaporamas classiques sans animation.

      Dans mon cas, mes présentations sont majoritairement composées de diagrammes. Sozi me permet, par exemple, de présenter des schémas complexes en partant d'une vue d'ensemble et en zoomant sur les éléments que je veux présenter plus en détail.

      • [^] # Re: Vidéos

        Posté par (page perso) . Évalué à 3.

        Dans mon cas, mes présentations sont majoritairement composées de diagrammes. Sozi me permet, par exemple, de présenter des schémas complexes en partant d'une vue d'ensemble et en zoomant sur les éléments que je veux présenter plus en détail.

        C'est d'ailleurs très exactement ce qui ne peut être fait sans contorsion avec un logiciel de présentation "classique".

        Effectivement, il ne faut pas incriminer l'outil parce que les utilisateurs ne savent pas s'en servir ou n'ont pas une idée claire de ce qu'ils doivent présenter. C'est d'ailleurs par là qu'il faut commencer.

        OS préféré Mageia 6 et Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.