# Zazouminiwebserver

ZazouMiniWebServeur (en abrégé ZMWS) est un serveur web tournant uniquement sous l'environnement Microsoft Windows. Il a la particularité d'être extrêmement léger (approximativement 500 kilooctets) et d'être fourni en tant qu'exécutable ou de DLL, et peut s'installer en tant que daemon. Son auteur, Xavier Garreau, a placé ce logiciel sous licence libre GPL.

## Particularité

Son auteur assure de son utilisation par tout le monde, que l'on soit débutant ou éclairé en matière de serveur web ; et en théorie il est uniquement nécessaire de décompresser l'archive (fournie en tant qu'exécutable auto-extractible) par un double-clic sur celui-ci, de choisir son répertoire de destination ; par la suite lancer le logiciel et vous disposez d'un serveur web sur votre ordinateur personnel à l'endroit où se situe votre répertoire. « On n'est pas obligé de devenir informaticien pour utiliser le ZazouMiniWebServer. ». Il a aussi été élu logiciel coup de cœur et best-of de Framasoft.

## Composant

ZMWS peut se télécharger seul ou avec divers composants avec lesquels il est compatible. Les composants principaux (livrés en paquet) sont PHP, MySQL et SQLite. L'ensemble, à l'image de ZMWS, est facilement transportable que ce soit sur un CD-ROM, clé USB ou tout autre média fixe ou amovible.

### Technique

Le serveur web est configurable via un fichier de configuration nommé _config.zmwsc se trouvant à la racine du dossier du serveur web. Identiquement au fichier de configuration d'Apache, il suffit d'éditer le dit fichier de configuration dans un éditeur de texte et de décommenter la ligne de l'option que l'on désire activer pour que ce soit le cas.
Dans l'éventualité où ZMWS est lancé avec une option de journalisation, il crée alors un fichier journal nommé access_log qui contient le journal d'événement de ZMWS. Les journaux sont analysables via AWStats, afin d'être facilement exploitables.
Exemple de fichier journal (ici 2 lignes) :
Si ZMWS est installé avec les composants optionnels PHP, MySQL et phpMyAdmin, les dossiers suivants sont créés dans l'arborescence du répertoire de ZMWS:
* mysql : répertoire pour l’application MySQL,
* php5 : répertoire pour l'application PHP dans sa version 5,
* _web.zmwsc : répertoire correspondant au dossier web (www pour Apache) ; dans ce dossier _web.zmwsc doivent donc se trouver les pages web (et sous-répertorie, mais se trouve aussi les dossiers suivants:
** _errorpages.zmwsc : contenant les pages d'erreurs (par exemple: 404, 403, …)
** _vhosts.zmwsc : contenant les V HOST de ZMWS,
** phpMyAdmin : l'application phpMyAdmin,
** sqlLiteManager: l'application SQLiteManager,
** stats : contenant les statistiques d'accès au dossier _web.zmwsc, les statistiques sont générées par Webalizer ;
* webalizer : l’application Webalizer,
* _utils.zmwsc : comprenant les outils que l'on désire rajouter à ZMWS,
* _logs.zmwsc : pour les fichiers journaux de ZMWS,
* _certs.zmwsc : pour les certificats et fichiers chaines de ZMWS et applications web.
ZMWS permet aussi l’utilisation d’interprète (appelé ‘’Handlers’’ par le développeur). Ainsi grâce à la modification simple du fichier de configuration _config.zmwsc, il est possible d’utiliser ZMWS avec divers exécutable ou autres langues tel le Tcl, les fichiers batch, Perl / ASP, Rebol / Magic! ou encore Lua.
ZazouMiniWebServer comporte de nombreuses options de ligne de commande
Tout encore à l’image de ses compères serveurs web, ZMWS permet de protéger l’accès à un répertoire à l’aide d’un fichier nommé _access.zmwsc. Sa structure est identique au fichier .htaccess.

## Hébergement

Le projet ZMWS est hébergé par la société qu'a fondé le développeur de ZMWS, et proposant des solutions libres et personnalisées ; si ZMWS est téléchargé en paquet accompagné de PHP et de MySQL, son poids augmente alors jusqu'à approximativement 10 mégaoctets.

## Divers
### ZMWSBrowser

Dans l'idée d'encore simplifier la procédure de fermeture de ZMWS (qui se résumait à 2 clics, le premier pour fermer le processus destiné au SGBD choisi et le second pour fermer ZMWS même), il existe la solution ZMWSBrowser, incluant le composant de SGBD et ZMWS en un navigateur web. ZMWSBrowser repose sur Microsoft Internet Explorer et le Framework .NET. Il existe aussi quelques pistes pour utiliser Mozilla Firefox mais elles n'ont pas encore été exploitées$^,$.