Lisez-moi S.V.P. 

Page de couverture | Retour à l'introduction | Vers le contenu intelligent

WebCGM 2.0 : Les concepts WebCGM


Sommaire

2. Les concepts WebCGM

Ce chapitre est informatif (non normatif).

2.1 La structure d'un fichier WebCGM

Un fichier WebCGM est un fichier CGM de version 1, 2, 3 ou 4 comme défini dans ISO/IEC 8632:1999, avec quelques restrictions. Ces restrictions améliorent l'interopérabilité de WebCGM et simplifient la production des interpréteurs (visualisateurs) WebCGM.

Une instance WebCGM 2.0, comme illustré dans la figure n° 1, consiste en une seule image.

Les propriétés qui s'appliquent à tout le métafichier sont définies dans le descripteur de métafichier (METAFILE DECRIPTOR). Celles-ci comprennent des informations descriptives à propos du métafichier, les précisions des nombres, ainsi que des identificateurs pour les fontes et les ressources de ce type. Les propriétés qui s'appliquent aux éléments dans le corps de l'image sont contenues dans le descripteur d'image (PICTURE DESCRIPTOR). Celles-ci comprennent des informations telles que la taille et l'échelle de l'image, les modes de spécification d'aspects telles l'épaisseur de la ligne et la couleur d'arrière-plan. Puisque WebCGM 2.0 n'admet qu'une seule image par métafichier, la distinction « métafichier global contre spécifique à l'image » peut sembler inutile. Par contre, puisqu'un métafichier WebCGM 2.0 doit être un métafichier ISO CGM:1999 valide, la structure de métafichier ISO CGM:1999 est observée.

L'image WebCGM contient des éléments graphiques CGM ainsi que des structures d'application (en option). Les structures d'application définissent des objets intelligents au sein de l'image, lesquels sont composés de groupes de primitives graphiques. Ces objets intelligents peuvent contenir des attributs ou des propriétés. WebCGM définit plusieurs types d'objets intelligents, les « objets graphiques » (N.d.T. graphical object), les « paragraphes » (N.d.T. paragraph), les « couches » (N.d.T. layer) et les « sous-paragraphes » (N.d.T. sub-paragraph), ainsi que quelques propriétés susceptibles d'apparaître sur chaque groupe.

WebCGM 2.0 définit également un mécanisme de regroupement purement graphique, le « nœud graphique » (N.d.T. graphical node), lequel regroupe des primitives graphiques en tant que structure d'application, mais désactive les attributs ou propriétés associant de l'intelligence aux objets.


Figure n° 1. Structure du fichier WebCGM
Figure n° 1. Structure du fichier WebCGM

2.2 Le contenu et l'utilisation des images

2.2.1 Le contenu matriciel et le contenu vectoriel

CGM gère à la fois le matriciel et le vectoriel dans la même image. WebCGM permet d'utiliser les méthodes de compression matricielle courantes, à savoir CCITT groupe 4, JPEG et la méthode deflate (un dérivé de LZ77) du format PNG), pour le contenu matriciel incorporé à l'image. Pour des renseignements à propos de la mise à l'échelle des images WebCGM dans les documents Web, cf. la section « WebCGM et l'élément object ».

2.2.2 Le modèle de dessin

Cette section contient une description informative du modèle de dessin normatif du standard ISO CGM, ainsi que des extensions enregistrées incorporées dans le profil WebCGM.

Les éléments rendus en premier peuvent être cachés en partie ou entièrement par les éléments rendus après. Dans le standard ISO CGM, le mode d'écriture des primitives est le « mode par remplacement », c'est-à-dire que le contenu est rendu de manière opaque par-dessus le contenu précédent. Pour satisfaire aux exigences de transparence par primitive (et par pixel), WebCGM inclut une extension enregistrée pour la transparence alpha ainsi que les modèles de couleurs enregistrés RGB-alpha et sRGB-alpha.

Les mises en œuvre de WebCGM sont censées se comporter selon un modèle de dessin correspondant à celui décrit ci-dessous. Une mise en œuvre réelle n'est pas obligée de reproduire le modèle de cette façon mais le résultat sur tout appareil reconnu par elle devra correspondre à celui décrit par ce modèle.

WebCGM utilise un modèle des peintres pour le rendu. Les couleurs sont appliquées en opérations successives vers l'appareil de sortie. Lorsqu'une zone en recouvre une autre déjà colorée, la nouvelle couleur masque partiellement ou entièrement l'ancienne. Si la couleur n'est pas complètement opaque, le résultat sur l'appareil de sortie est défini par les règles (mathématiques) de composition suivantes (toutes les valeurs de couleurs utilisent une valeur alpha prémultipliée) :

Pr, Pg, Pb    — Valeur de couleur primitive
Pa            — Valeur alpha primitive
Cr, Cg, Cb    — Valeur de couleur du canevas (avant mélange)
Ca            — Valeur alpha du canevas (avant mélange)
Cr', Cg', Cb' — Valeur de couleur du canevas (après mélange)
Ca'           — Valeur alpha du canevas (après mélange)

Ca' = 1 - (1 - Pa) * (1 - Ca)
Cr' = (1 - Pa) * Cr + Pr
Cg' = (1 - Pa) * Cg + Pg
Cb' = (1 - Pa) * Cb + Pb

La composition alpha est effectuée dans le modèle de couleur (COLOUR MODEL) courant (cf. T.16.19).

Dans un document WebCGM, les primitives ont un ordre de dessin implicite : les premières primitives du document sont dessinées d'abord. Les primitives suivantes sont dessinées par-dessus celles dessinées précédemment.

Les primitives pour lesquelles la valeur de l'élément enregistré Escape 45 n'est pas totalement opaque ont pour effet de produire un canevas séparé temporaire, initialisé au noir transparent, sur lequel la primitive est dessinée. Le canevas est alors composé avec l'arrière-plan, en tenant compte de la valeur Escape 45. La présence d'une structure d'application (APS) dans la liste des primitives n'a aucun effet sur le rendu. Aucun canevas temporaire n'est créé. Le cas est identique à l'un sans structure d'application.

2.2.3 La superposition d'image

Dans le standard ISO CGM:1999, une image a un fond opaque implicite ou explicite. Les éléments graphiques au sein de l'image sont rendus dans l'ordre d'apparition dans le métafichier. Dans les formats graphiques à deux dimensions des documents Web, il est obligatoire que l'on puisse superposer les images sur un contenu précédent. Pour cela, on doit pouvoir contrôler si le fond de l'image est opaque ou transparent (on a besoin des deux cas), ou bien « translucide » (partiellement opaque).

On y parvient de deux façons avec WebCGM. Premièrement, on peut utiliser un élément param avec le paramètre background dans l'élément object (cf. la section « WebCGM et l'élément object »). Deuxièmement, on peut inclure l'élément enregistré Escape 45 (transparence alpha) dans le descripteur d'image et l'appliquer à la couleur de fond de l'image.

2.3 Intelligence : objects, couches, hyperliens, métadonnées

2.3.1 Vue d'ensemble

Dans une image WebCGM, on peut définir des groupes de primitives graphiques dont les structures graphiques satisfont aux conditions d'intégration dans les docuemnts Web. En WebCGM, les groupes sont réalisés en tant que structures d'application (APS) version 4 normalisées ISO CGM.

Pour satisfaire aux conditions des graphiques intelligents, quatre types de groupes spécifiques sont définis et autorisés dans WebCGM : grobject, layer, para et subpara. WebCGM 2.0 admet un cinquième type de groupe, grnode, par commodité, pour que les outils de création puissent préserver leurs fonctions de regroupement graphiques. Les syntaxe et sémantique normatives détaillées des types de groupes, y compris le comportement des visualisateurs, sont définies dans le chapitre 3 et dans le proforma de profil (PPF). En voici un bref résumé conceptuel.

Chaque groupe a au moins une propriété explicite : son identificateur unique (un paramètre de l'élément APS BEGIN). Les groupes WebCGM, sauf grnode, peuvent avoir plusieurs attributs explicites qui leur sont associés. Ces attributs se présentent comme des éléments attributs des structures d'application (attributs APS) version 4 [v4] normalisés de ISO CGM.

Tout au long du chapitre 3, WebCGM définit normativement un modèle de contenu détaillé du contenu [v4] sous la forme d'un « fragment XML ». Cf. la section « Le modèle de contenu WebCGM » pour une présentation d'ensemble informative (non normative) du modèle de contenu.

2.3.2 Les types de groupes définis par WebCGM

WebCGM définit un ensemble de types de groupes (APS) admissibles, pour la prise en charge des fonctions d'hyperliaison, d'images en couches et de recherche de texte dans les graphiques des documents Web. Cf. le chapitre 3 pour les syntaxe et sémantique normatives détaillées des types de groupes admissibles. Quelques brèves descriptions conceptuelles suivent (chaque élément est relié à sa définition normative dans le chapitre 3) :

WebCGM 2.0 admet un autre type de groupe à convenance des outils de créations :

Remarque : Le type grnode qui n'existait pas dans WebCGM 1.0 a été ajouté à WebCGM 2.0 pour améliorer la structure hiérarchique dans les documents WebCGM. La structure APS grnode (nœud graphique) permet de préserver dans l'instance de métafichier WebCGM les facilités de regroupement graphique typiques des outils de création d'illustrations.

WebCGM n'admet pas les types de groupes privés dans les instance WebCGM. On peut associer des métadonnées privées externes, par identificateur ou par nom, à tous types de groupes (APS) sauf grnode au sein d'un métafichier WebCGM. On définit un mécanisme externe normalisé dans la section « Le fichier d'accompagnement XML ».

2.3.3 L'utilisation des objets WebCGM pour la navigation

Les groupes de types para, subpara et grobject peuvent être utilisés pour les fonctions de sélection et de navigation dans les documents Web à hyperliens. Ces trois types APS sont appelés des « objets » dans WebCGM.

Les objets peuvent contenir un attribut APS region explicite, qui définit la limite des opérations de sélection. Connu sous le nom de modèle de superposition de l'identification des objets (pour la sélection, l'affichage d'une infobulle au survol de la souris, etc.) C'est utile dans les cas où la région de sélection d'un objet ne peut pas être définie par la géométrie existante, par exemple, pour un dessin au trait ou un contenu matriciel.

Les objets avec un contenu graphique ont une propriété implicite : la limite ou étendue limite de l'objet graphique englobé. Cette étendue sert pour les opérations de sélection et de navigation dans les documents Web à hyperliens, en absence d'un attribut region. L'utilisation de cette propriété de limite implicite pour les fonctions de sélection et de navigation dans les instances CGM [v4] est désignée par le terme modèle incorporé.

Un objet peut également être la cible d'un lien. En général, les visualisateurs placeront la structure APS en vue et l'ajusteront à la dimension du rectangle de visualisation. Le comportement exact du visualisateur est contrôlé par un ensemble de mots-clés de comportement d'objet associés au lien, et par la présence ou l'absence sur l'objet de certains attributs APS (viewcontext, region, etc.)

2.3.4 Les propriétés de groupes définies par WebCGM

Les propriétés ou attributs explicites des groupes WebCGM sont codés comme des éléments attributs APS. Chaque attribut APS comporte un paramètre type, qui identifie l'attribut. Cf. le chapitre 3 pour les syntaxe et sémantique normatives détaillées des attributs APS admissibles. Voici quelques brèves descriptions conceptuelles (chaque élément est relié à sa définition normative dans le chapitre 3) :

WebCGM n'admet pas de types d'attributs privés dans les instances WebCGM. On peut associer par identificateur ou par nom des métadonnées privées externes, y compris des attributs et des éléments, à tous types de groupes APS, sauf grnode, au sein d'un métafichier WebCGM. On définit un mécanisme externe normalisé dans la section « Le fichier d'accompagnement XML ».

2.3.5 Le modèle de contenu

Les syntaxe et sémantique normatives détaillées sont présentées plus loin dans cette spécification (au chapitre 3). La structure et les relations du contenu intelligent sont illustrées dans les figures suivantes. Ici «  picbody » n'est pas un type d'objet WebCGM spécifique mais un artifice commode pour désigner la partie de l'image CGM qui se trouve entre les éléments BEGIN PICTURE BODY et END PICTURE exclus. Les encadrés en trait gras indiquent les éléments décomposés plus profondément, et les encadrés décalés indiquent les attributs associés à un élément. De même, « gdata » n'est pas un type d'objet mais une référence fourre-tout (N.d.T. catch-all) vers zéro ou plus éléments graphiques CGM, qui sont permis par WebCGM et valides à ces positions selon les règles de CGM. L'attribut « cgmprim » associé à « gdata » représente une entité reliant les primitives graphiques au modèle. Cf. la figure n° 1.


Figure n° 2a. La structure du fichier WebCGM - PICBODY
Figure n° 2a. La structure du fichier WebCGM - PICBODY

Figure n° 2b. La structure du fichier WebCGM - LAYER
Figure n° 2b. La structure du fichier WebCGM - LAYER

Figure n° 2c. La structure du fichier WebCGM - GROBJECT
Figure n° 2c. La structure du fichier WebCGM - GROBJECT

Figure n° 2d. La structure du fichier WebCGM - PARA
Figure n° 2d. La structure du fichier WebCGM - PARA

Figure n° 2e. La structure du fichier WebCGM - SUBPARA
Figure n° 2e. La structure du fichier WebCGM - SUBPARA

Figure n° 2f. La structure du fichier WebCGM - GRNODE
Figure n° 2f. La structure du fichier WebCGM - GRNODE

Figure n° 2g. La structure du fichier WebCGM - GDATA
Figure n° 2g. La structure du fichier WebCGM - GDATA

2.3.6 L'hyperliaison

WebCGM gère l'hyperliaison objet-à-objet au sein d'une même instance WebCGM, entre des instances WebCGM, d'une instance WebCGM vers d'autres types de médias Web, et depuis d'autres types de médias vers une instance WebCGM.

Les liaisons directes sont gérées, depuis les objets WebCGM (c'est-à-dire les structures APS de type grobject, para et subpara) vers les fichiers graphiques WebCGM, ainsi que vers du texte ou d'autres types de médias. WebCGM gère toutes les liaisons depuis les autres médias vers les fichiers et objets WebCGM.

Les liens depuis les objets WebCGM sont réalisés par les éléments attributs APS linkuri contenus dans les définitions des objets. L'adresse du lien (un paramètre linkuri) est un identificateur de ressource internationalisé (IRI) [RFC 3987], décrit normativement dans la section linkuri et dans les sous-sections de la syntaxe des fragments.

Les objects peuvent contenir plusieurs instances d'attributs APS linkuri, auquel cas le paramètre LINK TITLE associé est disponible pour aider l'utilisateur à sélectionner la destination. WebCGM prescrit une exigence de visualisateur uniforme pour offrir à l'utilisateur un choix pour ces cas à destinations multiples.

La cible d'un lien, que ce soit depuis un métafichier WebCGM ou depuis un autre type de média, peut être une instance WebCGM. WebCGM définit une « syntaxe de fragments » optionnelle pour l'adressage des objets au sein d'un métafichier WebCGM.

La forme générale de la syntaxe de fragments est la suivante :

<base-URL>#<pict-part>.<obj-part>

Le terme <pict-part> est identifié par un mot-clé et se compose de deux parties : le localisateur d'image (picture locator) (soit le paramètre chaîne PictureId du fichier CGM, soit le numéro de séquence de l'image) et le comportement du visualisateur à l'issue de la navigation vers l'image. Avec la restriction WebCGM 2.0 d'une seule image par métafichier, la partie <pict-part> est inutile dans les environnements purement 2.0, mais elle est conservée dans la syntaxe pour la rétrocompatibilité avec les métafichiers et les mises en œuvre WebCGM 1.0.

De la même façon, la partie <obj-part> est identifiée par un mot-clé et a deux morceaux : le paramètre id de l'objet (APS) et le comportement du visualisateur.

La syntaxe est bien définie et, dans beaucoup de cas courants, les mots-clés et les morceaux peuvent être éliminés et évalués par défaut. Ainsi, par exemple, l'adresse <base-URL>#<string> identifie sans ambiguïté l'objet (APS) dont le paramètre id correspond à « <string> » dans la première image (seulement) du métafichier désigné par « <base-URL> ».

Cf. les définitions normatives du chapitre 3 pour tous les détails et des exemples.

2.4 Les codages

Le standard ISO CGM définit deux codages de fonctionnement de CGM : binaire (Binary) et texte en clair Clear Text). WebCGM, comme d'autres profils CGM de l'industrie de pointe, se limite au codage binaire pour les besoins d'un échange conforme. C'est le codage binaire qui est enregistré comme type MIME. En utilisant les convertisseurs de codages disponibles, on peut utiliser le codage en clair du texte pour le débogage, la création manuelle, la démonstration, etc.

2.5 Le contenu graphique de WebCGM

Le contenu graphique de WebCGM est choisi pour l'équilibre entre les exigences du pouvoir d'expression élevé et la simplicité de mise en œuvre. C'est un sous-ensemble du profil modèle (Model Profile) du standard CGM.

Le profil proforma (PPF) de WebCGM, dans la suite de ce document, fournit le détail complet normatif du contenu graphique. Voici un résumé conceptuel.

2.5.1 Les primitives graphiques

L'aspect le plus flagrant d'un format graphique est l'ensemble des primitives graphiques, c'est-à-dire les éléments de dessin qui définissent le contenu géométrique et autre contenu de présentation du format. Le standard CGM:1999 contient une riche sélection de primitives vectorielles, plus du contenu tramé comprimé de pointe entièrement intégré.

WebCGM 2.0 inclut la plupart des primitives de dessin graphique significatives de CGM:1999.

Dans CGM:1999 mais exclus de WebCGM 2.0, on a :

2.5.2 Les attributs et les contrôles

Les éléments attributs et les éléments de contrôle determinent les circonstances de l'apparition des primitives graphiques.

Les attributs et caractéristiques de contrôle suivants de CGM:1999 sont exclus de WebCGM 2.0 :

2.5.3 La couleur et la transparence

Le comportement normal des visualisateurs CGM:1999 est de rendre, en toute opacité, les dernières primitives arrivées par-dessus les premières. WebCGM 2.0 utilise deux notions de transparence :

La gamme étendue des modèles de couleurs standards de CGM:1999 est limité dans WebCGM. Sont compris le modèle RGB par défaut ainsi que les modèles RGB-alpha, sRGB l'espace colorimétrique RGB du Web et sRGB-alpha. Ces trois derniers sont enregistrés dans le registre ISO des éléments graphiques.

2.5.4 Les codages de caractères et les fontes

WebCGM gère le texte international étendu :

Le codage de caractères par défaut (appelé « jeu de caractères » (N.d.T. character set) dans la terminologie archaïque du standard original CGM:1987) est ISOLatin1. Cette valeur est autorisée par le standard ISO CGM:1999.

Un jeu de base de 13 fontes, le même que celui du profil modèle (Model Profile)) ISO CGM, est obligatoire dans les mises en œuvfre WebCGM.

2.6 Le fichier d'accompagnement XML (XCF) de WebCGM

Le fichier d'accompagnement XML (XCF) de WebCGM est un nouveau composant important de WebCGM, envisagé dans la version 1.0 et ajouté dans la mise à jour 2.0. Le fichier XCF de WebCGM fournit une méthode normalisée pour externaliser les métadonnées d'une instance WebCGM, tout en gardant un lien étroit des métadonnées avec les objets (APS) dans l'instance WebCGM.

Le fichier XCF de WebCGM a été conçu en vue de trois scénarios d'utilisation :

  1. Il peut servir à associer les métadonnées spécifiques d'une application (tel un numéro de pièce) à une structure d'application particulière dans une illustration WebCGM ;
  2. Il peut également servir à mettre à jour des métadonnées dans une illustration WebCGM via le modèle DOM de WebCGM (cf. la section du DOM « Les relations avec le fichier d'accompagnement XML » pour plus de renseignements) ;
  3. Il peut servir d'inventaire partiel d'une illustration WebCGM en énumérant les identificateurs, les types et les attributs (la plupart) des structures d'application. (Remarquez qu'il n'est pas dans le propos de cette version du fichier XCF de WebCGM de refléter entièrement la structure hiérarchique d'un graphique CGM (cf. la section « Vue d'ensemble de la structure » dans le chapitre du fichier XCF).

On trouvera des exemples et plus d'explications dans le chapitre « Le fichier d'accompagnement XML (XCF) de WebCGM », la définition normative complète du fichier XCF de WebCGM.

La définition normative du fichier XCF inclut une définition DTD de base générique. Le fichier XCF de WebCGM est conçu pour être extensible, par d'autres profils dérivés de WebCGM 2.0 ainsi que par des applications de WebCGM 2.0. Cela permet notamment d'ajouter des métadonnées spécifiques d'une industrie au module objet de WebCGM. Cf. la définition normative du fichier XCF pour le détail.

Le fichier XCF est un mécanisme pour lier des métadonnées externes aux objets dans des instances WebCGM. Par conséquent, à la différence des instances WebCGM à structure d'arbre hiérarchique, la structure du fichier XCF est essentiellement plate. Cf. la section normative « Les relations avec le fichier d'accompagnement XML » pour plus de détails.

2.7 Le modèle objet de document (DOM) de WebCGM

2.7.1 Motivation

Les raisons les plus fortes pour la mise à jour de WebCGM 1.0 vers WebCGM 2.0 étaient peut-être le besoin d'une interface pour accéder par programmation aux contenus et structures WebCGM et de méthodes pour manipuler un fichier d'accompagnement XML normalisé de WebCGM. Pratiquement tous les visualisateurs et développements d'agents utilisateurs WebCGM définissaient et mettaient déjà en œuvre une interface de programmation d'application (API) propriétaire pour cette fonctionnalité. Cette interface fait partie du modèle objet de document (DOM) de WebCGM.

2.7.2 Le champ d'application du modèle DOM de WebCGM

Comparé aux spécifications de modèles DOM détaillées complètes comme celles du W3C, tels que le DOM de XML niveau 3 ou le DOM de la recommandation SVG 1.1, le DOM de WebCGM est de portée limitée. Un modèle DOM complet serait à même de gérer l'interrogation et la découverte de tous les objets et entités dans le contenu d'une instance (graphique), jusqu'aux nœuds terminaux de l'arbre de structures. Il aurait aussi des capacités de manipulation et modification détaillées symétriques pour changer l'objet.

Les fonctions disponibles dans le DOM de WebCGM sont plus limitées. Le DOM de WebCGM expose la structure graphique du document jusqu'au niveau des structures d'application (APS) ; les structures APS sont les objets graphiques adressables élémentaires dans WebCGM et sont les éléments d'assemblage de l'arbre de structure hiérarchique d'un métafichier WebCGM.

Le modèle DOM de WebCGM gère le traitement transitoire des attributs APS, qui représentent les métadonnées non graphiques associés aux objets, et les changements transitoires du style de présentation des objets graphiques. Le DOM de WebCGM permet ainsi d'interroger et de découvrir la structure d'un fichier WebCGM, d'énumérer ses objets graphiques, d'extraire les métadonnées associées (par exemple, par hyperliaison aux données) aux documents, enfin il fournit aux utilisateurs des méthodes normalisées pour ajouter plus d'interactivité, aux documents WebCGM qu'il n'était possible dans WebCGM 1.0.

Le modèle DOM de WebCGM offre également des méthodes pour le traitement et l'application de fichiers d'accompagnement XML de WebCGM normalisés, décrits dans la section précédente.

Le modèle DOM de WebCGM soutient plusieurs scénarios d'utilisation et ouvre l'accès vers plusieurs méthodes utiles, cf. le document « Les exigences de WebCGM 2.0 » pour des précisions à propos des capacités dans le champ et hors champ du modèle DOM de WebCGM.


Retour au début du chapitre