Atelier : du VRML dynamique avec PHP (1)

Grâce aux langages du script, vous pouvez créer des sites web dynamiques. Les pages HTML que vous générez en PHP, ASP ou JSP peuvent présenter les informations tirées d'une base de données, être différentes en fonction de certaines variables de sessions (votre login, la date du jour, etc.).

Savez-vous que vous pouvez utiliser le même principe en VRML ? En fait, plutot que de générer du HTML, nous allons vous apprendre comment générer directement du VRML en PHP.

Sur le web, le type de document est régulé par le content-type (le type MIME). C'est grâce au type MIME que votre navigateur sait quel plug-in utiliser pour afficher le document reçu. Le type MIME par défaut (HTML) utilisera directement votre navigateur, un document Word sera ouvert par Ms Word etc.

Pour générer du VRML, il suffit de règler votre content-type sur "model/vrml". en tête de votre fichier php, placez les lignes suivantes :

<?php
header ("Content-type: model/vrml");
?>

Ensuite vous générez du VRML exactement comme si vous faisiez du HTML.

Cette technique vous ouvre les portes de mondes virtuels entièrement dynamiques, basés sur les bases de données, des variables, un login etc.

Exemple 1 : Le fichier PHP le plus simple

Voici un fichier php qui affiche du VRML. Il ne fait rien de particulier, c'est juste pour l'exemple ;-)

Voir la source - Voir le résultat

Bon, vous voyez, c'est du php mais vous recevez du VRML. Passons à des choses plus intéressantes ...

Exemple 2 : Un cube de taille paramètrable

Ici, on passe dans l'URL trois paramètres qui seront la taille du cube. En php, on ajoute le champ size en y plaçant les paramètres de l'URL.

Voir la source

Voir les résultats : vrml2.php?x=5&y=2&z=2 ou vrml2.php?x=1&y=15&z=4 ou vrml2.php?x=3&y=5&z=1

On commence à voir l'intéret du PHP. Allons un peu plus loin ...

Exemple 3 : Créer d'autant d'objets que nécessaire

Dernier exemple, l'utilisation des boucles for de PHP pour créer une série d'objets. En paramètre, on passe ici le nombre de cubes à créer (nbCube) et le nombre de sphères à créer (nbSphere).

Voir la source

Voir les résultats : vrml3.php?nbCube=2&nbSphere=4 - vrml3.php?nbCube=1&nbSphere=8 - vrml3.php?nbCube=5&nbSphere=2

Avec un peu de connaissances en HTML, on peut s'amuser à créer un formulaire qui va gérer les paramètres de votre VRML.

Voir le résultat.

Ici, on génère réellement des objets en VRML en PHP. Pour simplifier le code, les exemples ne prennent en compte que les paramètres de l'URL, mais vous pouvez aussi tier vos informations de bases de données ou de cookies !

Dernier conseil

Ceux qui développent en PHP le savent, le plus long de la mise au point du code, le test et le déboggage. Le fait d'afficher directement le contenu de votre PHP en 3D complique encore ces tests.

Au moins durant la mise au point, ajoutez systèmatiquement à vos pages PHP en paramètre debug qui vous permettra soit de voir le VRML (et les éventuelles erreurs du PHP), soit le voir le fichier en 3D.

Voir la source

Les résultats vrml-dedug.php - vrml-debug.php?test=1

Deux références

L'idée nous est venu du grand Stan Ogden, pour ses arbres plantés par ses internautes : "Plant a tree" sur Virtuality

PHP/VRML Workshop du Floppy's Web3D Guide.

 


 
14 internaute(s) sur Web3d-fr
Copyright Web3d-fr 2001-2004