IMA4 2016/2017 P29 : Différence entre versions

De Wiki de Projets IMA
(Page créée avec « ==Cahier des charges== ===Présentation générale du projet=== ====Contexte==== Gestionnaire d'hébergement Web ====Objectif du projet==== Développer un environnement... »)
 
(Description du projet)
Ligne 14 : Ligne 14 :
 
Le but ultime est de '''concevoir un système''' de '''création''' et de '''destruction''' de sites Web utilisateurs '''au travers d'une interface Web'''.  
 
Le but ultime est de '''concevoir un système''' de '''création''' et de '''destruction''' de sites Web utilisateurs '''au travers d'une interface Web'''.  
  
Ces sites Web doivent être '''isolés du système d'hébergement et entre eux'''. C'est à dire que les applications Web tournant sur ces sites ne doivent pas pouvoir voir les autres sites ou le système hébergeur.  
+
Ces sites Web doivent être '''isolés du système d'hébergement et entre eux'''. C'est à dire que '''les applications Web''' tournant sur ces sites '''ne doivent pas pouvoir voir les autres sites ou le système hébergeur'''.  
  
 
Il est possible de réaliser ce type de système avec des machines virtuelles de type Xen ou des conteneurs de type Docker. Cependant même les conteneurs Docker gaspillent des ressources. De plus il est assez difficile d'administrer finement les conteneurs Docker particulièrement en ce qui concerne le réseau.  
 
Il est possible de réaliser ce type de système avec des machines virtuelles de type Xen ou des conteneurs de type Docker. Cependant même les conteneurs Docker gaspillent des ressources. De plus il est assez difficile d'administrer finement les conteneurs Docker particulièrement en ce qui concerne le réseau.  
Ligne 20 : Ligne 20 :
 
L'idée est d'utiliser un écosystème de gestion de conteneurs plus léger comme rkt ou runC.  
 
L'idée est d'utiliser un écosystème de gestion de conteneurs plus léger comme rkt ou runC.  
  
Vous conceverez donc une architecture réseau pour vos conteneurs, écrirez des scripts de création et de destruction de conteneurs, écrirez une application Web permettant à un utilisateur de créer son site Web idéal.  
+
Concevoir '''une architecture réseau pour vos conteneurs''', '''écrire des scripts de création et de destruction de conteneurs''', '''écrire une application Web permettant à un utilisateur de créer son site Web idéal'''.  
  
 
Un site Web doit comporter un serveur Web (Apache2, Nginx, ...), éventuellement un module de scripting pour le serveur Web (php, python, rubis, ...) et éventuellement une base de données (mysql, postgres, ...). Le site Web doit aussi posséder une méthode de mise à jour des fichiers du site. Cet ensemble peut être implanté avec un ou plusieurs conteneurs.  
 
Un site Web doit comporter un serveur Web (Apache2, Nginx, ...), éventuellement un module de scripting pour le serveur Web (php, python, rubis, ...) et éventuellement une base de données (mysql, postgres, ...). Le site Web doit aussi posséder une méthode de mise à jour des fichiers du site. Cet ensemble peut être implanté avec un ou plusieurs conteneurs.  

Version du 8 décembre 2016 à 10:20

Cahier des charges

Présentation générale du projet

Contexte

Gestionnaire d'hébergement Web

Objectif du projet

Développer un environnement pour la gestion de sites Web utilisateurs isolés sur une machine physique ou sur un ensemble de machines physiques.

Description du projet

Le but ultime est de concevoir un système de création et de destruction de sites Web utilisateurs au travers d'une interface Web.

Ces sites Web doivent être isolés du système d'hébergement et entre eux. C'est à dire que les applications Web tournant sur ces sites ne doivent pas pouvoir voir les autres sites ou le système hébergeur.

Il est possible de réaliser ce type de système avec des machines virtuelles de type Xen ou des conteneurs de type Docker. Cependant même les conteneurs Docker gaspillent des ressources. De plus il est assez difficile d'administrer finement les conteneurs Docker particulièrement en ce qui concerne le réseau.

L'idée est d'utiliser un écosystème de gestion de conteneurs plus léger comme rkt ou runC.

Concevoir une architecture réseau pour vos conteneurs, écrire des scripts de création et de destruction de conteneurs, écrire une application Web permettant à un utilisateur de créer son site Web idéal.

Un site Web doit comporter un serveur Web (Apache2, Nginx, ...), éventuellement un module de scripting pour le serveur Web (php, python, rubis, ...) et éventuellement une base de données (mysql, postgres, ...). Le site Web doit aussi posséder une méthode de mise à jour des fichiers du site. Cet ensemble peut être implanté avec un ou plusieurs conteneurs.

Les sites Web doivent pouvoir être accédés d'Internet au travers d'une seule adresse IPv4 ou d'un seul réseau IPv6. Un système de redirection Web est donc indispensable.

Un utilitaire de réservation de sous-domaines DNS serait un plus.

Choix techniques : matériel et logiciel

Calendrier prévisionnel

Liste des tâches à effectuer

Calendrier