Table des matières

Projet virtualhosts

Vous travaillez pour une entreprise proposant des services d'hébergement web.

Vous êtes chargé d'élaborer une application web permettant à l'entreprise et à ses clients de gérer la configuration de leurs applications web.

Résumé

Projet initial à utiliser Projet Github à cloner
Outils (ils sont déjà intégrés au projet)
Principales fonctionnalités
  • Module client/Admin-client
Livraison
  • Jusqu'au jour de la soutenance (Semaine du 29 mai), par gitHub, ou par Moodle (en fonction de votre chargé de TP)

Ressources

Règles de gestion

L'application permet aux utilisateurs (client ou administrateur) de gérer et de configurer facilement leur hôtes virtuels (Virtualhost), présent sur des serveurs dédiés (Host) ou simplement mutualisés (dans ce cas le client ne connaît que le virtualhost).

Sur les machines (Host) sont installés des serveurs Http (Server).

Ces serveurs sont d'un certain type (sType) : Apache, Node, NginX…
Le type de Serveur définit les propriétés de configuration qu'il peut recevoir (sTypeProperty).

La configuration d'un virtualhost est stockée dans la table virtualhostProperties, qui permettra ensuite de générer automatiquement le fichier de configuration.

Ce fichier généré pourra être ensuite uploadé sur le serveur, et le service web rechargé pour la prise en compte de la nouvelle configuration.

Schéma de la base

Détail des fonctionnalités à mettre en place

-- Url /My

//TODO 1

Affiche la liste des Hosts et virtualhosts de l'utilisateur authentifié.

voir Projet 2017 : exemples

Données :

Composants utilisables :

Semantic UI (phpMv-UI) :

Info

Pour info, la div qui reçoit le résultat des requêtes Ajax est #content-container

-- Url /Display/host/:idHost

//TODO 2

Affiche la liste des virtualhosts correspondant au idHost de l'Host passé en paramètre.

Données :

Composants utilisables :

Semantic UI (phpMv-UI) :

-- Url /Display/virtualhost/:idvirtualhost

//TODO 3.a //TODO 3.b

Affiche le virtualhost correspondant au idVirtualhost de l'hôte virtuel passé en paramètre.

Cette fonctionnalité est accessible depuis My et Display/host/:idHost

Données :

Coloration syntaxique :

Le champ config sera colorisé avec Prism :

"<pre class='language-".$prism."'><code>".$conf."</code></pre>"

La coloration est ensuite réalisée par l'appel du script :

	$this->jquery->exec("Prism.highlightAll();",true);

Composants utilisables :

phpMv-UI :

-- Url /Auth/pleaseLogin

//TODO 4

Protection du contrôleur My contre les utilisateurs non authentifiés.

Comportement :

Composants utilisables :

-- Génération de fichier et relance du serveur

//TODO 5

Contraintes techniques

Fichiers

Modalités de remise du travail

Déroulement de l'oral

Durée

Contenu

Il s'agit de montrer, le travail effectué, ainsi que les concepts maîtrisés :

Compléments

Bonnes pratiques