
Réponses de la FAQ comp.lang.vrml
2. Problèmes communs
Cette question a probablement été celle qui a été posée la plus souvent sur comp.lang.vrml.
Et voici pourquoi elle revient sans cesse.
Lorsque vous visionnez un fichier localement sur votre machine, la plupart des navigateurs (HTML et VRML) vont se fier soit à l'extension de fichier (dans un fichier "foo.wrl", ".wrl" est l'extension) ou encore le type MIME, valeur "magique", ou l'application à laquelle est associé le fichier par le système d'exploitation.
Lorsque des navigateurs retrouvent des fichiers sur
Internet, il appartient au serveur web de pourvoir le type MIME pour le fichier
comme faisant partie intégrante du flux de données HTML. Vous êtes probablement
la première personne à avoir un monde VRML sur le serveur, et le webmestre n'a
pas configuré le serveur pour indiquer ce type MIME. Puisque par défaut la
plupart des serveurs web utilisent "text/plain" pour les fichiers
n'ayant pas de valeur MIME établie, cela explique pourquoi vous obtenez du
texte.
Ce que vous devriez faire c'est de demander (gentiment) à l'administrateur de cette machine d'ajouter les définitions de type MIME suivantes au serveur HTTP:
model/vrml wrl
La méthode exacte pour le faire varie d'un serveur à l'autre. Pour le serveur NCSA httpd (toutes versions
connues) ajoutez soit la ligne ci-dessus à <DocumentRoot>/conf/mime.types ou ajoutez une ligne à <DocumentRoot>/conf/srm.conf
disant
AddType model/vrml .wrl
Dépendamment du serveur, le webmestre pourrait avoir besoin d'arrêter et de redémarrer le daemon HTTP ou la chaîne d'exécution du serveur, et vous aurez probablement besoin de vider la cache de votre navigateur de façon à ce qu'il ne puisse ouvrir la copie locale de votre monde, encore encodée comme du texte.
N'oubliez pas de remercier votre webmestre.
Il y a plusieurs années, j'ai dit à mon médecin, "Je ne me sens pas bien." Il répondit, "Si t'es pas plus précis que ça, va falloir que j'opère."
Si vous nous dites:
vous trouverez beaucoup de gens sur comp.lang.vrml qui
non seulement voudront vous aider, mais qui seront aussi en mesure de le faire.
foo.wrl.gz [sur mon disque local/sur un site web] mon application unzip l'ouvre au
lieu de mon navigateur VRML.
même si c'est un fichier "gzippé". Tous les navigateurs VRML
que je connais sont assez intelligents pour charger le fichier correctement.
Si le fichier est sur un site web, enregistrez-le sur votre disque local,
renommez-le et envoyez une lettre d'injures au fabriquant de votre navigateur
web leur disant que s'ils ne savent pas faire la différence entre
un type "Content-encoding"
et un type "Content-type" ,vous, vous le savez.
Y a-il quelqu'un qui connaît la réponse à cette question?
javascript:"/"vrmlscript:"] ne fonctionne pas.
Voici un artéfact historique. L'histoire se trouve dans la
réponse à une autre question.
En résumé, les premières versions de Cosmo Player
peuvent interpréter des scripts vrmlscript: et ne peuvent interpréter des scripts
javascript:. D'autres navigateurs peuvent interpréter des scripts javascript: mais pas des scripts vrmlscript:.
Si vous construisez des mondes VRML, souvenez-vous que vous pouvez spécifier des URLs multiples pour les scripts. Écrivez votre script comme ceci:
DEF Diode Script {
eventIn SFBool in
eventOut SFBool out
url [ "javascript:
function in(value) {
if (value) out = true;
}
",
"vrmlscript:
function in(value) {
if (value) out = true;
}
"]
}
S'il s'agit du monde de quelqu'un d'autre, et si vous aimez particulièrement ce monde, téléchargez-le
sur votre machine et changez le type du champ url pour un type que votre
navigateur aimera. Et envoyez une note à l'auteur lui rappelant
que des gens utilisant votre navigateur voudraient bien pouvoir voir ce
monde eux aussi.
Note: les premières versions du navigateur Community Place de Sony n'acceptent que des script Java et n'accepteront
pas des scripts javascript:
ou vrmlscript:.
EXAMINE?
Personne ne le sait. Et les spécifications n'en parlent pas.
Un jour, j'ai attrapé Gavin Bell au passage dans le hall entre une
des rencontres du Symposium VRML et je lui ai parlé des problèmes
que j’éprouvais lorsque je commutais la navigation à EXAMINE dans le monde "Tenochtitlan",
et que le monde se mettait à tourner autour du point d'origine, à plusieurs kilomètres de là.
L'avis de Gavin reste toujours valable: faites pas ça.
Certains fabricants de navigateur donnent une description de l'algorithme pour EXAMINE dans leurs notes de versions,
mais ça ne change rien. Si vous voulez
qu'un visiteur de votre monde VRML puisse examiner un objet, installez
des senseurs et outils lui permettant d'accomplir cette tâche facilement.
Ne spéculez pas sur un type de navigateur particulier que le visiteur
possèderait.
Non.
Une des choses qui peut faire la différence entre le succès ou l'échec de VRML c'est le succès ou l'échec des compagnies produisant des outils et supportant VRML. Et une des choses pouvant contribuer au succès ou à l'échec de ces compagnies c'est certainement le fait que des gens puissent les priver d'un revenu qu'elles ont pleinement et dûment mérité.
Les pionniers de VRML n'ont pas encore tout à fait renié leur vie, leur fortune, et leur honneur sacré, mais beaucoup d'entre eux ont fait de considérables sacrifices. Il est simplement normal de le respecter.
De toutes manières, certaines des meilleures productions VRML ont été faites à la main avec un simple éditeur de texte et rien de plus.
Vous n'avez probablement pas de nœud NavigationInfo dans votre fichier. Le type
par défaut lorsqu'il n'y en a pas est ["WALK", "ANY"]. "WALK" active la gravité.
"FLY" est à peu près équivalent à "WALK" mais sans la gravité
(ici les spécifications laissent quelque
peu place à l'interprétation au cas où des fabricants
de navigateur voudraient un jeu de contrôles différent pour
le vol). Donc si vous avez un nœud NavigationInfo dans votre fichier, changez le champ "type" de "WALK" à
"FLY", et si vous n'en avez pas, ajoutez-en un comme ceci:
NavigationInfo {
type ["FLY", "ANY"]
headlight FALSE
}
J'ai tenté d'introduire ici un petit préjugé personnel à votre dépend: Je déteste les mondes VRML qui ne se fient qu'au "headlight" pour l'éclairage de la scène. Désactivez-le et placez des lumières qui éclaireront votre monde de la façon dont vous voulez qu'il le soit.
![]()
Ai-je oublié quelque chose qui vous serait utile dans ces questions? Si c'est le cas, faite-le moi savoir.
-- Bob Crispen
-- Lundi, 22 juin, 1998
Notes du traducteur:
Si vous avez des suggestions, corrections ou commentaires à apporter,
n'hésitez pas à me contacter
-- Sylvain Carette
-- Dimanche, 17 juin 2001