Forum Programmation.autre Est-ce faisable en .epub ? ou dans un autre format ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
2
4
nov.
2022

Bonjour à tous,

je cherche à mettre dans un fichier unique cette visualisation des annotations d'un enregistrement que j'ai mise au point:

http://jocelynaznar.eu/lexique_nisvai/form_visualisation.php?histoire=T50

L'intérêt pour moi est de pouvoir plus facilement archiver ces informations (données + visualisations interactives associées). Je pensais faire ça avec Epub, notamment via les médiaoverlays (https://www.w3.org/publishing/epub3/epub-mediaoverlays.html). Je me demandais si quelqu'un avec un peu d'expérience avec Epub pouvait me dire si c'était une bonne piste à explorer. Je suis sinon ouvert à toute autre suggestion.

(et évidemment, si vous voulez davantage d'information sur ce que c'est que cette histoire, n'hésitez pas à poser des questions ;)

  • # Zim

    Posté par  (site web personnel) . Évalué à 5. Dernière modification le 05 novembre 2022 à 08:52.

    Je suis pas sûr d'avoir bien compris le besoin, mais si tu veux juste empackager une page web (ou plusieurs) et ses ressources en un fichier unique, tu peux aller voir du côté de zim qui est le format utilisé par kiwix.

    Si t'as accès aux sources du contenu, tu devrais y arriver facilement avec 'zimwriterfs' (https://github.com/openzim/zim-tools). Si t'as pas accès aux sources tu peux utiliser https://youzim.it/ qui va te scrapper ton url (mais j'aime pas le "sous format" qu'il crée, donc privilégie zimwriterfs si possible)


    Ou alors tu attends de jubako soit un peu stabilisé et tu crées un format basé dessus 😜

    Matthieu Gautier|irc:starmad

    • [^] # Re: Zim

      Posté par  (site web personnel) . Évalué à 2.

      Oui, j'ai accès à tout, vu que j'ai développé les données et le site web.

      Ce que je veux, c'est pouvoir reproduire dans un fichier, Quel que soit le format, le résultat qui s'affiche sur le lien que j'ai donné (http://jocelynaznar.eu/lexique_nisvai/form_visualisation.php?histoire=T50). En fait, le plus compliqué j'imagine, c'est l'interaction en JavaScript.

      • [^] # Re: Zim

        Posté par  (site web personnel) . Évalué à 3.

        Ce que je veux, c'est pouvoir reproduire dans un fichier, Quel que soit le format, le résultat qui s'affiche sur le lien que j'ai donné (http://jocelynaznar.eu/lexique_nisvai/form_visualisation.php?histoire=T50).

        De mon point de vue, c'est une page web avec un audio en plus. Mais je clique peut-être pas au bon endroit.

        Oui, j'ai accès à tout, vu que j'ai développé les données et le site web.

        Dans ce cas, c'est assez simple. Tu mets tous tes fichiers dans un dossier (et tu t'assure que tout les liens son relatifs) et tu lances zimwriterfs avec les bonnes options.

        Pour lire l'archive, il te faut n'importe quel lecteur kiwix (desktop, android, ios,…) ou kiwix-serve qui te fait un mini site web local (ou non) que tu ouvres avec ton navigateur.

        Pour javascript ça devrait être relativement transparent, c'est l'équivalent d'un site statique. Ton navigateur va télécharger le js et l'exécuter comme d'habitude.

        Matthieu Gautier|irc:starmad

        • [^] # Re: Zim

          Posté par  (site web personnel) . Évalué à 2.

          Ce qui est important, c'est le surlignage de segments dans les deux textes mis en parallèles en fonction du moment joué par le lecteur audio.

          Ok, je vais compiler Zim (youzim.it ne semble pas fonctionner pour le moment) et voir ce que ça donne.

          • [^] # Re: Zim

            Posté par  (site web personnel) . Évalué à 3.

            Tu peux directement télécharger les binaires précompilés de zim-tools (http://download.openzim.org/release/zim-tools/) et kiwix-tools (https://download.kiwix.org/release/kiwix-tools/) si tu veux pas t'embêter à compiler.

            Matthieu Gautier|irc:starmad

            • [^] # Re: Zim

              Posté par  (site web personnel) . Évalué à 2.

              Bon, je me rends compte que je n'étais pas très clair et n'ai pas du tout fourni assez de détails. J'imagine que sans trop de contexte et d'explications, c'est difficile de comprendre en quoi ces deux simples textes sont en fait des visualisations créées dynamiquement.

              Bref, je pense que Zim ne peut pas fonctionner dans ce contexte : le contenu de la page, c'est le résultat d'un appel XHR Javascript à du code PHP qui va chercher des données dans une base MySQL. Je sais que ça parait "overkill", mais les deux textes sont en fait bien plus compliqués qu'il n'y parait, et sont en fait issus de l'annotation et de la transcription de l'enregistrement audio.

              Bref, si ZIM se base sur des fichiers HTML, ça ne fonctionnera pas.

              C'est pour ça que je pensais plutôt recréer le résultat final via un format de fichier qui permettrait les interactions qui sont proposées dans la page web: surlignage de segments de texte en fonction d'un temps de lecture, lire le fichier audio et naviguer dedans, et enfin cliquer sur le texte pour faire avancer la lecture.

              • [^] # Re: Zim

                Posté par  (site web personnel) . Évalué à 2.

                Tu peux essayé de transformer ton site php en site statique
                (en gros en mettant les réponses aux appel XHR dans des fichiers et en changeant les requêtes pour faire des appels sur les fichiers plutôt que du XHR sur le serveur).

                youzim.it fait globalement ça pour toi, mais ça nécessite un service worker dans le navigateur pour changer les urls au "runtime". (service worker inclus dans le zim, mais tu es potentiellement limité à un navigateur/environnement qui support les services worker)

                Matthieu Gautier|irc:starmad

                • [^] # Re: Zim

                  Posté par  (site web personnel) . Évalué à 3.

                  J'ai fait un zim de ta page avec youzim.it. Tu peux le télécharger ici : https://youzim.it/53cb3ba90e63be3a92367636
                  Il pèse 45Mo (ce qui est bien trop à mon sens mais c'est un autre problème)

                  Il est basé sur une solution qui nécessite un service worker, donc il ne fonctionne pas dans kiwix-desktop. Mais tu peux lancer un serveur local (soit directement avec kiwix-serve soit à partir de kiwix-desktop) et le lire avec ton browser. Ça a l'air de bien fonctionner.

                  (Les service workers nécessitent soit d'être sur un localhost soit sur du https, c'est pas nous, c'est les specs. À voir comment tu déploies)

                  Matthieu Gautier|irc:starmad

                  • [^] # Re: Zim

                    Posté par  (site web personnel) . Évalué à 2.

                    Bon, ton wav fait 44,89 Mo à lui tout seul. Donc non, c'est pas trop gros 45Mo finalement.

                    Matthieu Gautier|irc:starmad

                    • [^] # Re: Zim

                      Posté par  (site web personnel) . Évalué à 2.

                      Merci beaucoup pour ces retours. Je suis en train d'essayer de lire le fichier, mais je n'y arrive à consulter le fichier zim comme une page web.

                      Voici la commande que je lance:

                      ./kiwix-serve --port=8080 ../../jocelynaznar.eu_6a12d0e1.zim
                      Ça démarre correctement, mais par contre, quand je consulte la page (http://192.168.122.1:8080/jocelynaznar.eu_6a12d0e1/A/index.html), je n'ai pas le contenu de la page, mais:

                      This page must be loaded via an HTTPS URL to support service workers.
                      Try Loading HTTPS URL?

                      Il semble qu'il manque les service workers. MAis je dois admettre que je ne comprends pas bien ce qu'ils sont ni comment les mettre en place.

                      • [^] # Re: Zim

                        Posté par  (site web personnel) . Évalué à 4.

                        Les service workers (SW) c'est une spec du web pour que les sites puissent mettre en place un pseudo proxy dans le browser.

                        Pour que le SW fonctionne il faut que le site soit en https, sauf si tu accèdes au serveur en local (c'est considéré comme du debug).

                        Ton adresse 192.168.122.1 c'est ton adresse "publique" (dans ton réseau privé) donc il te dis qu'il faut https.
                        Si tu passes par 'localhost' (ou 127.0.0.1) ça devrait être bon.
                        (Pas besoin de changer la commande kiwix-serve, juste l'adresse dans le navigateur)

                        Matthieu Gautier|irc:starmad

                        • [^] # Re: Zim

                          Posté par  (site web personnel) . Évalué à 2.

                          Ok, je comprends mieux. Merci beaucoup, c'est vachement bien.

                          Bon, je vais regarder les différentes solutions pour consulter ces fichiers zim, parce démarrer un serveur en ligne de commande, ça va pas le faire pour beaucoup de mes collègues. Mais c'est ça peut être une solution très pratique pour archiver des pages web que l'on cite par exemple. Archive.web, c'est génial, mais ça ne fonctionne pas avec ce qui est dynamique.

                          • [^] # Re: Zim

                            Posté par  (site web personnel) . Évalué à 2.

                            Bon, à priori, il n'y a pas vraiment de logiciel pour "simplement" lire un fichier zim (je viens d'essayer webarchive, là ça marche pas, et kiwix-desktop, trop compliqué pour juste lire un fichier). C'est un peu dommage cette nécessité pour l'utilisateur de démarrer un serveur http. Ça n'est pas possible d'avoir simplement un lecteur type evince ou okular? le serveur http pourrait être démarré en arrière-plan, automatiquement sans que l'utilisateur s'en préoccupe. Pour l'instant, si on veut partager une page web comme on partagerait un pdf, ce n'est pas pratique.

                            • [^] # Re: Zim

                              Posté par  (site web personnel) . Évalué à 2.

                            • [^] # Re: Zim

                              Posté par  (site web personnel) . Évalué à 4. Dernière modification le 12 novembre 2022 à 16:26.

                              Il est vrai qu'on a pas vraiment de logiciel simple pour lire un zim, on est plutôt sur des logiciels qui permettent de gérer une collection de zims.

                              Ça n'est pas possible d'avoir simplement un lecteur type evince ou okular? le serveur http pourrait être démarré en arrière-plan, automatiquement sans que l'utilisateur s'en préoccupe.

                              Ça devrait pas être compliqué à faire. Un logiciel avec une webview et un serveur interne ultra simpliste. Yapluska :)

                              Matthieu Gautier|irc:starmad

  • # EPUB

    Posté par  . Évalué à 2.

    je connais plus l'EPUB2 que l'EPUB3, mais si tu veux diffuser tes documents, l'EPUB(3) me semble plus pertinent qu'un format comme ZIM, en effet certaines liseuses comme les dernières kobo peuvent lire ce format. Par contre je ne sais pas si toutes les spécifications sont réellement prises en compte, comme cette histoire de media overlay…

    « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

  • # préciser le besoin ? zip et IPFS ?

    Posté par  . Évalué à 2.

    un EPUB est un zip de fichiers HTML, CSS et JPG/PNG, en gros. Et qui permet de lire un livre sur liseuse (ou logiciel de lecture d'epub). C'est un format de lecture.

    Tu parles d'archiver, c'est à dire de conserver des données pour longtemps. Une archive ne veut pas dire que les données sont exploitables immédiatement. Simplement qu'elles ne sont pas perdue et que, moyennant une mise à disposition, elles peuvent être consultées.

    En regardant le site, j'ai l'impression que chaque histoire est composés d'un fichier son wav et d'un fichier json.

    Pour moi, c'est cela qu'il faut archiver. Un zip de tout ça, déposé sur le IPFS et/ou chez archive.org pourra assurer la pérennité de ce bout de patrimoine.

Suivre le flux des commentaires

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