Skip to content

Zelfrost/Comanche

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet

Binôme

  • Constantin BOULANGER
  • Damien DECONINCK

Résumé

Cochez (en mettant un X) les fonctionnalités qui sont implémentées et opérationnelles dans votre projet.

  • gestion du port d'écoute
  • protocole HTTP/1.1
  • gestion de la page par défaut
  • gestion des fichiers index dans les répertoires
  • gestion des logs
  • gestion des clients en //
  • gestion du max de clients
  • routes statiques
  • routes avec expression régulière
  • cgi statiques
  • cgi avec expression régulière
  • paramètres de cgi

Détail

Détaillez ici en quelques points quelles sont les fonctionnalités opérationnelles, celles qui le sont de manière partielles (et en quoi elles sont partielles) et celles qui ne le sont pas du tout (par exemple expression régulière seulement en partie gauche des routes, etc.).

Toutes les fonctionnalités cochées ci-dessus sont totalement implémentées et fonctionnelles. Les paramètres de CGI par exemple fonctionnent, en mettant les données nécessaires dans la variable d'environnement Query String. Les routes comme les CGI retournent les fichiers voulus. Mais celles-ci ne fonctionnent qu'en statiques, nous n'avons pas réussi, ni eu le temps, de les adapter aux routes avec des regexp.

Développement

Implémentation

Détaillez ici ce qui, selon vous, est important à savoir pour l'évaluation du respect du cahier des charges (par exemple manière dont est gardé l'accès au processus, détermination du type du fichier à utiliser dans la réponse HTTP via les extensions des noms de fichiers, etc.).

Afin de garder un accès au processus, un fichier nommé pid contenant le PID du processus principal est créé lors du lancement du serveur. Ce fichier est détruit lors de l'arrêt. Les types de fichiers sont déterminés grâce à la commande MIMETYPE. Les différents erreurs sont gérées grâce à différentes fonctions, sauf la 503 qui est gérée dans le code principal puisqu'elle est déclenchée différemment des autres. Lors du traitement de la requete, le traitement se fait d'abord sans, puis avec le basedir, afin de retourner les fichiers locaux en priorité.

Gestion

Dans un premier temps, nous avons travaillés ensemble sur l'algorithme général du script. Cette phase nous a permis de définir certaines contraintes, comme l'utilisation de sous fonctions afin de réduire le code, lors des réponses par exemple. Puis Damien s'est chargé de mettre en place le corps principal du script et les sous fonctions associés, ainsi que la gestion des start, stop, reload et status. Constantin, quant à lui, s'est occupé de développer les sous fonctions annexes comme la gestion du fichier de conf, ou l'écriture dans le fichier de log, ainsi que les retours d'erreurs.

Autres

Donnez ici toutes les autres informations qui vous paraissent importantes.

About

A web server in Perl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •