You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
6.1 KiB

2 years ago
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>Exécuter localement ([name])</h1>
<p>
Si vous n'utilisez que des formes procédurales et que vous ne chargez acune texture, vos pages web sont censées fonctionner
directement depuis le système de fichiers, vous n'avez qu'à double-cliquer sur le fichier HTML dans un explorateur de fichier et il
devrait apparaître en étant fonctionnel dans le navigateur (vous verrez <em>file:///yourFile.html</em> dans votre barre d'URL).
</p>
<h2>Contenu chargé depuis des fichiers externes</h2>
<div>
<p>
Si vous chargez des modèles ou des textures depuis des fichiers externes, à cause des restrictions de sécurité de la [link:http://en.wikipedia.org/wiki/Same_origin_policy same origin policy] des navigateurs,
charger depuis un système de fichiers échouera avec une security exception.
</p>
<p>
Pour résoudre ce problème, exécutez vos fichiers depuis un serveur web local. Cela vous permettra d'accéder à votre page ainsi:
</p>
<p>
<code>http://localhost/yourFile.html</code>
</p>
<p>
Même s'il est également possible de changer les paramètres de sécurité du navigateur au lieu de faire tourner un serveur web local,
nous ne recommandons pas cette approche. Le faire pourrait exposer votre appareil à des vulnérabilités, si le
même navigateur est utilisé pour naviguer d'une manière classique sur le web. Utiliser un serveur local est une pratique standard dans
le développement web, et nous expliquons comment installer et utiliser un serveur local ci-dessous.
</p>
</div>
<h2>Créer un serveur local</h2>
<div>
<p>
Plusieurs langages de programmation ont un simple serveur HTTP d'intégré. Ils ne sont pas aussi fournis que
des serveurs de production comme [link:https://www.apache.org/ Apache] ou [link:https://nginx.org NGINX], néanmoins ils devraient être suffisants pour tester votre
application three.js.
</p>
<h3>Plugins pour les éditeurs de codes populaires</h3>
<div>
<p>Certains éditeurs de code ont des plugins qui créent un simple serveur à la demande.</p>
<ul>
<li>[link:https://marketplace.visualstudio.com/items?itemName=yandeu.five-server Five Server] pour Visual Studio Code.</li>
<li>[link:https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Live Server] pour Visual Studio Code.</li>
<li>[link:https://atom.io/packages/atom-live-server Live Server] pour Atom.</li>
</ul>
</div>
<h3>Servez</h3>
<div>
<p>
[link:https://greggman.github.io/servez Servez] est un serveur simple avec une interface graphique.
</p>
</div>
<h3>Node.js five-server</h3>
<div>
<p>Serveur de développement avec capacité de redémarrage en direct. Pour l'installer:</p>
<code>
# Remove live-server (if you have it)
npm -g rm live-server
# Install five-server
npm -g i five-server
# Update five-server (from time to time)
npm -g i five-server@latest
</code>
<p>Pour le lancer (depuis votre dossier local):</p>
<code>five-server . -p 8000</code>
</div>
<h3>Node.js http-server</h3>
<div>
<p>Node.js a un simple serveur de package HTTP. Pour l'installer:</p>
<code>npm install http-server -g</code>
<p>Pour le lancer (depuis votre dossier local):</p>
<code>http-server . -p 8000</code>
</div>
<h3>Serveur Python</h3>
<div>
<p>
Si vous avez [link:http://python.org/ Python] d'installé, il devrait suffire pour exécuter
cela en ligne de commande (depuis votre dossier de travail):
</p>
<code>
//Python 2.x
python -m SimpleHTTPServer
//Python 3.x
python -m http.server
</code>
<p>Cela remontera les fichiers du dossier courant au localhost sur le port 8000, par exemple écrivez dans la barre d'URL:</p>
<code>http://localhost:8000/</code>
</div>
<h3>Serveur Ruby</h3>
<div>
<p>Si vous avez Ruby d'installé, vous pouvez obtenir le même résultat en exécutant ceci à la place:</p>
<code>
ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
</code>
</div>
<h3>Serveur PHP</h3>
<div>
<p>PHP a également un serveur web intégré, depuis la 5.4.0:</p>
<code>php -S localhost:8000</code>
</div>
<h3>Lighttpd</h3>
<div>
<p>
Lighttpd est un serveur web très léger pouvant servir pour des usages variés. Nous verrons comment l'installer sur OSX avec
HomeBrew ci-dessous. Contrairement aux autres serveurs cités ici, lighttpd est un serveur de production complet
et prêt à l'utilisation.
</p>
<ol>
<li>
L'installer via homebrew
<code>brew install lighttpd</code>
</li>
<li>
Créez un fichier de configuration nommé lighttpd.conf dans le dossier où vous souhaitez exécuter votre
serveur web. Vous trouverez un exemple ici [link:http://redmine.lighttpd.net/projects/lighttpd/wiki/TutorialConfiguration here].
</li>
<li>
Dans le fichier de configuration, changez le server.document-root pour le dossier d'où vous souhaitez remonter les fichiers.
</li>
<li>
Lancez-le avec
<code>lighttpd -f lighttpd.conf</code>
</li>
<li>
Rendez-vous sur http://localhost:3000/ et vous-y retrouverez les fichiers statiques du dossier
choisi.
</li>
</ol>
</div>
<h3>IIS</h3>
<div>
<p>Si vous utilisez Microsoft IIS comme serveur web. Veuillez ajouter un type de paramètres MIME concernant l'extension .fbx avant de charger.</p>
<code>File name extension: fbx MIME Type: text/plain</code>
<p>Par défaut, IIS bloque le téléchargementt des fichiers .fbx, .obj. Vous devez configurer IIS pour autoriser le téléchargement de ce genre de fichiers.</p>
</div>
<p>
D'autres alternatives simples sont [link:http://stackoverflow.com/q/12905426/24874 présentées ici]
sur Stack Overflow.
</p>
</div>
</body>
</html>