Brevet FR3078180A1 — publié le 20190823

PROCEDE DE VISUALISATION D'UN DOCUMENT STRUCTURE PAR UN NAVIGATEUR WEB ET PROGRAMME ASSOCIE. DESCRIPTION Domaine technique [01] La présente invention se rapporte à un procédé de visualisation via un navigateur web d'un document structuré sous forme d'une succession de pages à la manière d'un document imprimé. État de la technique [02] II est de pratique commune de vouloir dématérialiser un document imprimé pour en permettre la lecture sur un écran d'ordinateur, une tablette ou un téléphone portable. [3] C'est ainsi que pour les livres, des normes telles que la norme epub, associées à des programmes d'ordinateur spécifiques de lecture ont été développées pour permettre une lecture adaptée à la taille de l'écran tout en conservant une mise en page proche de celle du livre imprimé original. [4] De façon plus générale, la norme PDF (ce terme regroupant différentes normes standardisées par l'Organisation Internationale de Normalisation telles que ISO 19005 PDF/A) associée à des modules de lecture spécifiques est utilisée pour intégrer dans des sites web des documents dématérialisés et en permettre la lecture à l'intérieur des navigateurs web. [5] Cependant, outre la lourdeur associée à la gestion d'un module de lecture particulier, il est vite apparu préférable d'intégrer les vidéos, diaporama d'images et tout ce qui est souvent regroupé sous le terme de « rich-media » dans du HTML plutôt que dans du PDF. D'autant qu'une lecture à l'écran d'un fichier PDF est souvent peu ergonomique car ne permettant pas de s'adapter aisément à la taille de l'écran, ni de profiter de la souplesse de navigation offerte par le langage html dans la visualisation d'un site web. [06] De plus, alors que la lecture d'un livre imprimé se fait sur un axe associé au sens de lecture, par exemple de type horizontal de gauche à 2 droite pour les langues alphabétiques européennes, la lecture à l'écran privilégie un déroulement vertical du texte. [7] Différentes solutions ont été proposées et en particulier de convertir le document imprimé en un fichier HTML respectant plus ou moins la mise en 5 page du document imprimé original, avec un sens de défilement horizontal de gauche à droite. [8] Un problème est alors apparu avec cette conversion pour de gros documents, c'est-à-dire des documents ayant plusieurs dizaines voire centaines de pages. Le fichier HTML conséquent généré demande de 10 grandes quantités de traitement de la part du navigateur web qui doit en permanence interprété toutes les balises pour générer la visualisation du document. Il doit en effet recalculer complètement l'arborescence HTML ainsi que chaque propriété nécessaire à l'habillage graphique de celui-ci. La moindre modification d'affichage se traduit alors par des ralentissements de 15 traitement qui nuisent à la convivialité et à l'ergonomie de la lecture. [9] II existe donc un réel besoin pour un procédé de visualisation par un navigateur web d'un document structuré comme un document imprimé palliant ces défauts, inconvénients et obstacles de l'art antérieur, en particulier d'un procédé permettant de garder le style général du document 20 imprimé tout en offrant un confort de lecture et de navigation similaire à ceux offert par des pages web. Description de l'invention [10] Pour résoudre un ou plusieurs des inconvénients cités précédemment, un procédé de visualisation via un navigateur web d'un document structuré 25 sous forme d'une succession de pages à la manière d'un document imprimé, comprend les étapes de : - chargement dans une mémoire du navigateur des pages du document, groupées par groupes de pages successives comprenant une ou plusieurs pages, chaque groupe de pages étant représentée 30 sous forme d'au moins une image des pages du groupe de pages, les groupes de pages étant disposés les uns à la suite des autres ; 3 - détermination du groupe de pages à visualiser pour la lecture ; - remplacement des images du groupe de pages ainsi déterminé par un contenu équivalent structuré sous forme d'une arborescence DOM HTML ; et 5 - visualisation du contenu équivalent. [11] Des caractéristiques ou des modes de réalisation particuliers, utilisables seuls ou en combinaison, sont : - l'étape de détermination comprend la réception d'une action de sélection d'un groupe de pages par un utilisateur ; 10 - il comprend en outre, lors d'un changement de visualisation d'un groupe de pages par un autre groupe de pages, du remplacement de l'arborescence DOM HTML du groupe de pages précédemment visualisé par la ou les images des pages du groupe de pages ; - il comprend en outre, après l'étape de visualisation du contenu 15 équivalent, une étape de visualisation du contenu sous un format article permettant une lecture par un utilisateur handicapé, ladite étape étant activée par la réception d'une action de l'utilisateur ; - il comprend en outre une étape de retour à la visualisation du contenu équivalent ; 20 - m groupes de pages précédents et suivants sont chargées en format article pendant la lecture du contenu au format article, m étant un entier strictement positif ; - il comprend en outre une étape de mise en mémoire tampon du chargement des contenus des arborescences DOM HTML, ladite 25 étape s'exécutant en parallèle de la visualisation du document, et telle que, dans l'ordre de priorité, sont chargées : - les n groupes de pages suivant le groupe de pages en cours de visualisation, n étant un entier strictement positif ; - les n groupes de pages précédant le groupe de pages en cours de 30 visualisation ; - les n premiers groupes de pages ; 4 - les n derniers groupes de pages ; - les autres groupes de pages par ordre de page croissant ; - le document structuré est basé sur un document original au format PDF ; et/ou 5 - il comprend des étapes préliminaires de : - transformation du document original en un document XML conforme aux règles d'accessibilité et au contenu du document original ; - association à chaque type de balise des caractéristiques 10 graphiques en adéquation avec le graphisme du document original afin de former le contenu équivalent ; et, en parallèle, - génération de vignettes images de chaque page, ou groupe de pages ; et - synthèse de l'ensemble pour former le document structuré. 15 [12] Un autre aspect de l'invention se rapporte à un programme d'ordinateur à installer dans un ordinateur comprenant des instructions pour mettre en oeuvre les étapes d'un procédé tel que défini ci-dessus lors d'une exécution du programme par une unité de calcul dudit appareil. Brève description des figures 20 [13] L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : - La figure 1 représente un système pour mettre en oeuvre un mode de réalisation de l'invention ; 25 - La figure 2 représente schématiquement des pages d'un document imprimé pour être traité par un mode de réalisation de l'invention ; - La figure 3 représente un procédé de création d'un document structuré selon un mode de réalisation de l'invention ; - La figure 4 représente un procédé de visualisation du document 30 créé par le procédé de la figure 3 ; et 5 - Les figures 5A et 5B représentent une évolution de la visualisation du document selon le procédé de la figure 4. Modes de réalisation [14] En référence à la figure 1, un navigateur web est installé sur un 5 ordinateur 1 comprenant une unité d'affichage 3 et une interface 5 permettant à un utilisateur d'interagir. Cet ordinateur 1 est connecté à un serveur 7 via une connexion de données 9. [15] Le procédé de visualisation d'un document va maintenant être décrit. [16] Le document est d'abord conçu comme un document imprimé 10 comprenant des textes et des illustrations dans une mise en page particulière. En support illustratif, la figure 2 représente quelques pages du document sous une forme schématique. La figure 2A représente la page de couverture, la figure 2B une page N et la figure 2C une page N+1. L'organisation des pages est faite sous forme de 2 colonnes et comprend 15 des textes 21, des titres 23, un tableau 25, des illustrations 27 et un graphique 29. [17] Le document imprimé est destiné, par exemple à être envoyé par courrier postal aux lecteurs, ou à être distribué lors d'une manifestation. Cependant, l'éditeur souhaite qu'il soit également accessible en ligne sur un 20 site web hébergé par le serveur 7. [18] Aussi, figure 3, à partir des fichiers d'édition du document préparés à l'étape 30, ou à partir d'un fichier PDF d'impression de celui-ci sont générées, étape 31, des images de chaque page, ou de groupe de pages consécutives. On définit ainsi un groupe de pages comme un ensemble de 25 pages à visualiser en même temps. Typiquement, le groupe de pages associé à la couverture ne comprend qu'une page alors qu'un groupe de pages associés à des pages internes comprend les deux pages se faisant face dans le document imprimé. Chaque image ayant un rôle de vignette est codée dans un format d'image relativement compressé tel que le format 30 jpeg. L'homme du métier sait faire un ajustement de compromis entre la taille du fichier des images d'une part, et la lisibilité de chaque image d'autre part. 6 Il est à noter qu'il n'est pas nécessaire que chaque image permette la lecture car son rôle est uniquement de permettre la navigation dans le document par l'utilisateur. Ainsi, par exemple, il est possible de choisir un taux de compression dans lequel seuls les titres sont lisibles. 5 [19] L'ensemble des images est alors organisé, étape 33, dans un fichier lisible par un navigateur web sous forme d'un ruban ordonné permettant un défilement horizontal ou, de préférence, vertical dans le navigateur web. Concrètement, le fichier est un fichier HTML avec des liens images de type vers les images des groupes de pages. 10 [20] En parallèle, chaque groupe de pages est transformé, étape 35, en un document DOM HTML respectant le contenu et la mise en page des pages du groupe. Par exemple, dans l'exemple de la figure 2, la structuration du texte en deux colonnes est maintenue. Et le texte lui-même est balisé comme texte avec une police vectorielle. Ainsi, on peut dire que, pour un 15 groupe de pages, le contenu du document HTML est équivalent à l'image de ce groupe de pages générée à l'étape 31 dans la mesure où la visualisation en est très proche. Cette transformation peut, par exemple, être réalisée par un module d'exportation du logiciel d'édition du document. [21] Chaque groupe de pages est donc transformée en un fichier respectant 20 la norme HTML. Par exemple, les illustrations 27 et graphiques 29 correspondent à des liens vers des fichiers images. [22] Une seconde transformation, étape 37, est réalisée directement à partir du fichier original. Elle consiste dans un premier temps à générer un fichier XML respectueux de la logique organisationnelle du contenu pour générer 25 un fichier HTML dont la mise en page est adaptée à une lecture sur écran et, en particulier, à une lecture accessible à des lecteurs handicapés. Par exemple, la présentation en deux colonnes illustrées à la figure 2 est remplacée par une présentation sur une seule colonne avec l'ensemble du texte se déroulant verticalement. Ce format est appelé « format article » par 30 référence à la terminologie utilisée dans les systèmes de gestion de contenu tels que WordPress. 7 [23] L'ensemble des résultats de ces transformations est synthétisé, étape 39, en un document structuré composé d'un ensemble de fichiers ayant des liens entre eux avec d'une part le fichier contenant l'ensemble des images des groupes de page et d'autre part, l'ensemble des fichiers décrivant les 5 pages sous forme HTML. [24] Les étapes de visualisation du document structuré vont maintenant être décrites en référence à la figure 4. [25] Lorsque l'utilisateur de l'ordinateur 1 clique sur le lien du document structuré pour le visualiser le fichier contenant l'ensemble des liens vers les 10 images créé à l'étape 33, est téléchargé sur l'ordinateur 1, étape 41. [26] A l'étape 43, on détermine quel groupe de pages est à afficher. Par défaut, dans la première demande, il est considéré que c'est la première page qui est à afficher. Mais cela peut être également une page particulière, par exemple associée au lien d'appel, ou bien la dernière page lue dans une 15 navigation précédente et conservée dans un « cookie », ou bien un groupe de pages sélectionné par un clic, ou un défilement, sur une des images. [27] Le groupe de pages ainsi déterminé, l'image est remplacée, étape 45, par le document DOM HTML correspondant qui a été généré à l'étape 35. Avec les moyens de calcul actuels, et si le document DOM HTML a été mis 20 en cache au préalable (point qui sera discuté plus loin), le remplacement de l'image par le document DOM HTML est quasi-instantané et invisible pour l'utilisateur. Par contre, contrairement éventuellement à l'image, le document DOM HTML est totalement lisible par l'utilisateur. [28] Ce processus est illustré spécifiquement en figure 5. 5 groupes de 25 pages consécutifs numérotés P1, P2, P3, P4 et P5 sont représentés dans un mode de défilement vertical. [29] En figure 5A, la visualisation est centrée sur P1. Cela est symbolisé par un écran de visualisation 51 autour de P1. P1 est alors affiché dans son arborescence DOM HTML, symbolisé par HTML. Les autres groupes 30 d'images P2, P3, P4 et P5 sont en mode affichage image, symbolisé par IMG. 8 [30] En figure 5B, la visualisation est centrée sur P4. Ce changement est par exemple dû à l'action de la molette de la souris par l'utilisateur. A ce moment, P4 est affiché dans son arborescence DOM HTML et P1 est de nouveau en mode affichage image. 5 [31] Si, à cause d'un handicap ou par simple confort de lecture, l'utilisateur clique, étape 47 de la figure 4, sur le groupe de pages affiché, alors le contenu s'affiche, étape 48, sous forme article avec la mise en page préparée à l'étape 37. [32] II est à noter que, dans ce mode, si le texte en lecture est initialement 10 réparti sur plusieurs pages de différents groupes de pages, l'ensemble du texte et de ses éléments associés, c'est-à-dire les m groupes de pages qui précèdent ou suivent, est téléchargé et inclut dans l'article afin de permettre une lecture continue de ce texte. [33] Dans cette mise en page, un symbole de fermeture, par exemple une 15 croix, est positionnée dans un coin de l'écran afin qu'un clic dessus referme, étape 49, le mode article et retourne sur le groupe de pages dans sa forme initiale. [34] Ainsi, au fil de la navigation et de la lecture, il y a une transition régulière entre les images et les fichiers DOM HTML. 20 [35] Pour fluidifier encore plus cette navigation, l'ensemble du document structuré n'est pas chargé sur l'ordinateur 1 dès l'appel d'accès au document stocké sur le serveur 7. Le principe général consiste à ne commencer à charger que les éléments indispensables puis, en arrière-plan, de télécharger dans le cache du navigateur les éléments dont la lecture à venir 25 est la plus probable au vu du contexte de lecture présent. [36] Ainsi, dans l'ordre de priorité, sont chargées : - les n groupes de pages suivant le groupe de pages en cours de visualisation, n étant un entier strictement positif typiquement égal à 10; 30 - les n groupes de pages précédant le groupe de pages en cours de visualisation ; 9 - les n premiers groupes de pages ; - les n derniers groupes de pages ; - les autres groupes de pages par ordre de page croissant. [37] Une fois cet ordre de priorité déterminé, une instruction est donnée au 5 navigateur pour démarrer les requêtes de téléchargement des n groupes de pages. Afin de garder une parfaite maîtrise du téléchargement de chacune des ressources, une file d'attente est mise en place afin que le navigateur ne traite qu'un ensemble de n groupes de pages à la fois selon l'ordre prédéterminé. 10 [38] Le traitement d'un groupe de pages nécessite plusieurs étapes : - Télécharger les données liées à chacune des pages telles que : - Son numéro de page ; - Ses médias associés ; - Son HTML ; 15 - Son article ; - Ses dimensions ; - Le lien de ses images ; - Etc. [39] Une fois la réponse obtenue, de façon toujours asynchrone, le 20 navigateur charge en tâche de fond chacune des images associées aux différents liens. [40] Ainsi, ce processus permet de s'abstraire de la contrainte de temps de chargement croissant si rapporté au nombre de pages du document. En effet, on peut estimer que le temps de chargement global est le produit du 25 nombre de pages par le temps moyen nécessaire au chargement d'une page. [41] Chaque page téléchargée est gardée dans le cache pendant tout le cycle de vie de la lecture du document. Cela permet, une fois téléchargées, de pouvoir disposer des informations instantanément, même si ces 30 informations ne sont affichées à l'écran que lors d'une action utilisateur directe comme explicité précédemment. 10 [42] Cela permet avantageusement d'offrir à l'utilisateur une expérience de navigation lui permettant de consulter rapidement la page initialement demandée, de lui garantir une rapide disponibilité des prochaines pages qu'il est susceptible de consulter ainsi qu'un chargement progressif, différé et 5 non bloquant de l'ensemble des informations nécessaires au bon fonctionnement du système. [43] L'invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donnée à titre d'exemple et non comme limitant l'invention à cette seule 10 description. De nombreuses variantes de réalisation sont possibles. [44] Par exemple, la description décrit l'utilisation d'un ordinateur pour visualiser le document. Il est évident pour l'homme du métier que l'ordinateur peut être de tout type comportant un affichage adapté tel que, par exemple, un ordinateur portable, une tablette ou un téléphone portable de type 15 « smartphone ». De même l'interface 5 permettant à l'utilisateur d'interagir peut être de tout type comme un écran tactile ou une commande vocale. [45] De même, l'exemple ci-dessus privilégie la création d'une image par groupes de pages, ce qui simplifie l'organisation du fichier html des images servant à la prévisualisation. Il est cependant possible, quoique moins 20 pratique pour l'organisation de ce fichier html, de générer une image par page et donc un groupe de pages comportant plusieurs pages aura autant d'images REVENDICATIONS1. Procédé de visualisation via un navigateur web d'un document structuré sous forme d'une succession de pages à la manière d'un document imprimé, comprenant les étapes de : - chargement (41) dans une mémoire du navigateur des pages du document, groupées par groupes de pages successives comprenant une ou plusieurs pages, chaque groupe de pages étant représentée sous forme d'au moins une image des pages du groupe de pages, les groupes de pages étant disposés les uns à la suite des autres ; - détermination (43) du groupe de pages à visualiser pour la lecture ; - remplacement (45) des images du groupe de pages ainsi déterminé par un contenu équivalent structuré sous forme d'une arborescence DOM HTML ; et - visualisation du contenu équivalent. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination (43) comprend la réception d'une action de sélection d'un groupe de pages par un utilisateur. 3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comprend en outre, lors d'un changement de visualisation d'un groupe de pages par un autre groupe de pages, du remplacement de l'arborescence DOM HTML du groupe de pages précédemment visualisé par la ou les images des pages du groupe de pages. 4. Procédé selon l'une quelconque des revendications 1,2 ou 3, caractérisé en ce qu'il comprend en outre, après l'étape de visualisation du contenu équivalent, une étape de visualisation du contenu sous un format article permettant une lecture par un utilisateur handicapé, ladite étape étant activée par la réception d'une action de l'utilisateur. 2 5. Procédé selon la revendication 4, caractérisé en ce qu'il comprend en outre une étape de retour à la visualisation du contenu équivalent. 5 6. Procédé selon la revendication 4 ou 5, caractérisé en ce que m groupes de pages précédents et suivants sont chargées en format article pendant la lecture du contenu au format article, m étant un entier strictement positif. 10 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape de mise en mémoire tampon du chargement des contenus des arborescences DOM HTML, ladite étape s'exécutant en parallèle de la visualisation du document, et telle que, dans l'ordre de priorité, sont chargées : 15 - les n groupes de pages suivant le groupe de pages en cours de visualisation, n étant un entier strictement positif ; - les n groupes de pages précédant le groupe de pages en cours de visualisation ; 4, les n premiers groupes de pages ; 20 - les n derniers groupes de pages ; - les autres groupes de pages par ordre de page croissant. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le document structuré est basé sur un document 25 original au format PDF. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend des étapes préliminaires de : - transformation du document original en un document XML conforme 30 -aux règles d'accessibilité et au contenu du document original ; 3 - association à chaque type de balise des caractéristiques graphiques en adéquation avec le graphisme du document original afin de former le contenu équivalent ; et, en parallèle, * génération de vignettes images de chaque page, ou groupe de pages ; 5 et * synthèse de l'ensemble pour former le document structuré. 10. Produit programme d'ordinateur téléchargeable depuis un réseau de communication ou enregistré sur un support lisible par ordinateur et o exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon l'une au moins des revendications 1 à 9.