# Exécuter localement ([name])

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 file:///yourFile.html dans votre barre d'URL).

## Contenu chargé depuis des fichiers externes

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.

Pour résoudre ce problème, exécutez vos fichiers depuis un serveur web local. Cela vous permettra d'accéder à votre page ainsi:

`http://localhost/yourFile.html`

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.

## Créer un serveur local

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.

### Plugins pour les éditeurs de codes populaires

Certains éditeurs de code ont des plugins qui créent un simple serveur à la demande.

- [link:https://marketplace.visualstudio.com/items?itemName=yandeu.five-server Five Server] pour Visual Studio Code.
- [link:https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Live Server] pour Visual Studio Code.
- [link:https://atom.io/packages/atom-live-server Live Server] pour Atom.

### Servez

[link:https://greggman.github.io/servez Servez] est un serveur simple avec une interface graphique.

### Node.js five-server

Serveur de développement avec capacité de redémarrage en direct. Pour l'installer:

`# 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`

Pour le lancer (depuis votre dossier local):

`five-server . -p 8000`

### Node.js http-server

Node.js a un simple serveur de package HTTP. Pour l'installer:

`npm install http-server -g`

Pour le lancer (depuis votre dossier local):

`http-server . -p 8000`

### Serveur Python

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):

`//Python 2.x python -m SimpleHTTPServer //Python 3.x python -m http.server`

Cela remontera les fichiers du dossier courant au localhost sur le port 8000, par exemple écrivez dans la barre d'URL:

`http://localhost:8000/`

### Serveur Ruby

Si vous avez Ruby d'installé, vous pouvez obtenir le même résultat en exécutant ceci à la place:

`ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"`

### Serveur PHP

PHP a également un serveur web intégré, depuis la 5.4.0:

`php -S localhost:8000`

### Lighttpd

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.

1. L'installer via homebrew `brew install lighttpd`
2. 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].
3. Dans le fichier de configuration, changez le server.document-root pour le dossier d'où vous souhaitez remonter les fichiers.
4. Lancez-le avec `lighttpd -f lighttpd.conf`
5. Rendez-vous sur http://localhost:3000/ et vous-y retrouverez les fichiers statiques du dossier choisi.

### IIS

Si vous utilisez Microsoft IIS comme serveur web. Veuillez ajouter un type de paramètres MIME concernant l'extension .fbx avant de charger.

`File name extension: fbx MIME Type: text/plain`

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.

D'autres alternatives simples sont [link:http://stackoverflow.com/q/12905426/24874 présentées ici] sur Stack Overflow.