Home Page en VRML
Rapport d'exercice
Pierre Crevoisier, 19 avril 1998
Staf 14, D.Schneider
pour visualiser un fichier VRML, il faut un player ad hoc. Par exemple, Cosmo de SGI
Introduction | Concept | Type d'approche | Réalisation | Techniques utilisées | Références
Introduction

La consigne de départ était de fabriquer une page d'accueil personnelle en VRML. Au-delà de l'exercice technique, il était important d'en cerner l'usage et les spécificités. En effet, choisir une technologie pour l'accomplissement d'une t'che implique, en amont, une réflexion sur l'adéquation du choix, son avantage fonctionnel et ses originalités conceptuelles. Hors de cette réflexion, l'exercice risquait de n'être qu'un jeu gratuit.

Question: dans quelle mesure une approche 3D d'un site Web contient une "valeur ajoutée"? Loin de privilégier l'aspect "réalité virtuelle" (assimilé pour moi aux paillettes et cotillons du VRML...), cette interrogation m'a amené à ébaucher un "univers" basé sur l'usage de la spatialité. Autrement dit, un espace à l'intérieur duquel la disposition des objets - leur proximité ou l'éloignement relatifs, leurs coordonnées - répondaient à des règles (logique de contenu, logique d'origine, etc).

Le résultat actuel n'est que l'ébauche de cette réflexion (est-il nécessaire de le souligner?). Il est en effet fort probable que la définition des ensembles prête à débat et remise en question! Lorsqu'il s'agit, dans ce type d'exercice, de mener de front la découverte de l'outil et son application, certains compromis sont parfois nécessaires... et le temps est un impératif incompressible!

Concept

Une structure cubique (une sorte d'échafaudage de 7.5 mètres de côté) constitués de plans-grilles sur l'axe Z. Chaque plan-grille définit un ensemble. Pour l'heure, seuls trois ensembles ont été implémentés, à titre d'exemple: L'institution TECFA, les ressources (je n'ai pour l'heure pris en compte que les ressources "techniques") et les "données personnelles". En plus de leur disposition sur des plans distincts, ces trois ensembles sont identifiés par des éléments-contenus (des cubes) de couleurs: rouge pour Tecfa, vert pour Ressources, bleu pour Personnel.

Le choix du cube comme forme géométrique de base est essentiellement dû au caractère multiface de l'objet. Si je n'en utilise pour l'heure qu'une seule face, une réflexion plus poussée nous conduirait sans doute à les considérer et à les développer comme des sous-ensembles. Je n'entrerai pas ici dans les détails, mais on pourrait imaginer, par exemple, que le "cube VRML" permette d'accéder aux différents modules qui le composent: guides, softs, exemples, etc. Le cube-ensemble est aussi, à une autre échelle, la reproduction de la structure globale. En développant le concept, un cube-ensemble permettrait d'accéder à une structure spatiale du même type. De même, la structure de base pourrait "appartenir" à un "univers" plus vaste... (de l'infiniment grand à l'infiniment petit).

Des axes z relient les plans les uns aux autres comme autant de "lieux de passage" d'un ensemble à un autre. Une approche plus systématique - et plus complète - des contenus permettrait sans doute de dégager des règles de création de ces "passerelles". Pour l'heure, elles ont été disposées de manière un peu arbitraire.

Enfin, des éléments "sauvages" peuvent entrer dans la structure et occuper une partie de l'espace. C'est ici le cas d'un panneau d'affichage, conçu - par une dimension et une disposition qui le distinguent du reste - pour attirer l'attention sur des informations "éphémères".

Type d'approche

Je crois avoir ici découvert et exploité réellement la puissance du réseau pour réaliser ce travail. En effet, absent lors du cours d'introduction au VRML, j'avais l'impression de partir en une "navigation sans étoile". Cela m'a sans doute incité à explorer énormément, à partir du guide Tecfa, les sites référencés. J'ai d'ailleurs toujours de la difficulté à entamer une démarche "pas-à-pas" dans un apprentissage, privilégiant, dans un premier temps du moins, une approche de tâtonnement assez anarchique... ;o)

Les technologies liées à l'Internet incitent à le faire: le foisonnement des sources et la possibilité d'explorer les entrailles (le code), d'en importer les données, de manipuler celles-ci, de visualiser les effets des "bidouillages". A mon sens, s'il y a risque de s'égarer à procéder de la sorte, cette forme de découverte permet une démystification radicale de la technologie et, dans le même temps, d'une appréhension de sa finalité (schématiquement et en langage simple: je pourrais réaliser ceci ou cela avec cette technologie... pour l'instant, pas mal de choses me dépassent... commençons donc maintenant par créer un simple cube blanc... ce sera une première étape...).

Réalisation

L'origine du travail réalisé est donc un fichier existant: l'exemple donné au chapitre Rotation du guide VRML. Pour deux raisons simples: j'avais remarqué que lors qu'on ouvrait ce fichier, l'outil de navigation par défaut permettait de "faire tourner" l'objet (je n'en étais pas encore arrivé au chapitre NavigationInfo pour en comprendre la subtilité). Et je souhaitais "construire" mon projet autour de la métaphore axiale... J'ai donc commencé par manipuler les données du fichier-source, copier-coller des éléments contenus ailleurs, placer des textures, des objets, des backgrounds, etc. (Soit dit en passant, cette exploratin a été assez ludique).

La deuxième étape a consisté à définir le projet sur papier, en esquisser le schéma, définir les ensembles logiques, rassembler les informations utiles (essentiellement les URL des fichiers de destination) et à arrêter des choix graphiques (formes, couleurs, etc).

Troisième à étape: la construction proprement dite. A ce stade, la première question à résoudre a été de savoir si une procédure itérative permettait de créer la structure de base (l'échafaudage). Dans la mesure où celle-ci était composée de "shapes" standard, une telle programmation aurait permis d'économiser de l'espace dans mon fichier-source. Renseignement pris (merci Daniel!), les compétences techniques qui m'auraient permis de le faire étaient encore hors de portée. Je me suis donc rabattu sur une architecture "simple et classique" qui, à défaut d'élégance, était un compromis efficace (par l'usage des fonctions REF et USE). J'aurais pu, il est vrai, me pencher sur la fonction PROTO (pour la création des plans-grilles p.ex.)...

Le deuxième problème important a été l'usage de la fonction ANCHOR. En effet, même en tâtonnant, l'exploitation des exemples donnés au chapitre 1.2.6 aboutissait systématiquement à une message d'erreur lors de l'ouverture du fichier... Je ne parvenais simplement pas à placer une ancre sur un objet lié à un autre endroit qu'en 0 0 0!!! Problème de syntaxe résolu avec une aide extérieure (re-merci Daniel! Je te propose d'ailleurs de compléter le guide avec cet exemple...).

Enfin, le dernier casse-tête: la position et l'orientation des caméras. Si le premier terme est relativement simple (la position), les choix d'orientation sont beaucoup plus complexes. A l'heure actuelle encore, mes capacités d'abstraction ne me permettent que difficilement d'imaginer les effets d'une définition des paramètres d'orientation (avant la répétition d'essais infructueux et parfois... assez cocasse!).

La simplicité relative des premiers pas cache sans doute de nombreux casse-tête. L'exploitation des richesses fonctionnelles du VRML, l'intégration VRML-Java ou JavaScript, laisse néanmoins envisager un champ de découverte particulièrement puissant. A condition toutefois de privilégier la finalité de l'usage plus que la prouesse technique.

Techniques utilisées

Dans ma quête première d'informations et de ressources, j'ai d'abord cherché à cerner les instruments de développement qui auraient facilité une découverte du monde VRML. L'un des problèmes rencontrés est que rares sont les développements réalisés pour Mac... Les outils existants sont (déjà) relativement limités dans leur fonctionnalité (p.ex. Virtus).

J'ai donc migré sur PC et un première sélection m'a conduit à choisir Home Space Builder de Cosmo (en version démo). Le soft est relativement simple d'approche. Il permet donc, sans trop d'expertise, la construction rapide de scènes 3D statiques (voir une première tentative sous Chantier.wrl ici).

En fin de compte, de retour sur Mac, j'ai opté pour le plus simple des outils: un éditeur de texte. Le résultat esr moins spectaculaire, mais cela à l'avantage énorme de permettre une véritable appréhension du langage.

Références

Je me suis essentiellement basé sur les documents et ressources suivantes:

Introduction | Concept | Type d'approche | Réalisation | Techniques utilisées | Références