vendredi 11 avril 2014

Créer un projet web statique sous Eclipse

Bon, je sais, Eclipse n'est pas l'environnement idéal pour faire un projet web statique d'envergure, mais pour une démo ou des prototypes pourquoi pas...

Le principe est extrêmement simple :

  1. Créer un projet dans Eclipse pour gérer les ressources statiques du site
  2. Installer et lancer un petit serveur HTTP qui va tourner en permanence et qui fera référence au ressources du projet


1) Créer le projet sous Eclipse


Option 1 : créer un projet "Web Static" 
   New / Project... / Web / Static Web Project


Avec ce type de projet il faut spécifier un "Web content folder name" qui va contenir les ressources gérées par le serveur http ( ici "www" ), ce qui correspond à une bonne pratique, ça évite de mélanger les fichiers du site web et la configuration du projet Eclipse.


Option 2 : créer un projet banalisé 
   New  /  Project... /  General  /  Project


Dans ce cas il n'y a pas de notion de "Web content folder name" (puisque le projet n'est pas de type "web")
Ce qui permet de considérer la racine du projet comme la racine du serveur web (ce qui n'est pas conseillé car tous les fichiers du projet seront exposés par le serveur). On pourra éventuellement définir un répertoire servant de "document root" ultérieurement.


2) Installer le serveur http

La on a le choix... Evidemment on pense immédiatement à ce bon vieux Apache, mais pour un simple environnement de développement c'est un peu lourd. Heureusement il existe plein de petits serveurs http ultra légers. Mon préféré c'est "Mongoose" (à télécharger ici : http://cesanta.com/mongoose.shtml ).

La version Windows fait 136 ko ! C'est un simple fichier ".exe" qu'il suffit de poser dans n'importe quel répertoire, puis de le lancer par un double-click. 
Une fois lancé une icone apparaît dans la barre des tâches et le navigateur démarre sur une URL composée de l'adresse IP du poste et du port "8080". Le répertoire par défaut des ressources du site étant le répertoire dans lequel le ".exe" est situé, le navigateur affiche donc cette page :

Il suffirait de poser des fichiers ".html" dans ce répertoire pour y accéder à partir du navigateur, mais pour ne pas tout mélanger on va évidemment personnaliser la configuration du serveur. C'est très simple il suffit de cliquer sur l'icône de la barre des tâches et de sélectionner "Advanced settings" pour ouvrir la page de configuration dans le navigateur ( ou simplement d'invoquer l'URL "http://localhost:8080/__mc" ).

Dans la configuration deux paramètres nous intéressent plus particulièrement :




  • document_root =  le répertoire qui contient les documents gérés par le serveur
  • listening_port   =  le port sur lequel le serveur écoute


  • Pour le listening_port, on va le valoriser par exemple à 9090 (pour éviter les collisions éventuelles avec Tomcat ou tout autre serveur du même genre)
    Pour le document_root il va falloir le faire pointer sur le répertoire adéquat du projet Eclipse.
    Il suffit de faire un click-droit sur le répertoire voulu dans le projet Eclipse + "Properties" / "Resources" pour voir l'emplacement dans le filesystem ( cf "Location" ). Un simple copier/coller fera l'affaire.



    Ne pas oublier d'enregistrer par un click sur "Save settings to the config file" qui va créer le fichier de configuration "mongoose.conf".


    Il suffit maintenant de stopper Mongoose et le redémarrer.
    Invoquer l'URL  http://localhost:9090/ 

    Et voila! Le serveur http est prêt il sert les fichiers à partir du répertoire projet Eclipse et il écoute sur le port 9090. Toutes les modifications apportées aux fichiers dans le projet sont donc immédiatement visibles dans le navigateur.

    Pour réinitialiser le serveur Mongoose : 
    • stopper le serveur
    • supprimer le fichier "mongoose.conf"
    • redémarrer le serveur : il se retrouve dans son état initial (comme à la première installation)

    3) Autres serveurs http ultra léger

    Deux alternatives à Mongoose :

    Aucun commentaire:

    Enregistrer un commentaire