• Aucun résultat trouvé

Création de site web Hébergement de site web

N/A
N/A
Protected

Academic year: 2022

Partager "Création de site web Hébergement de site web"

Copied!
27
0
0

Texte intégral

(1)

Création de site web

Hébergement de site web

Damien Nouvel

(2)

Hébergement de site web Plan

L'hébergeur

Le serveur web

Apache

Sites dynamiques

(3)

Hébergement de site web Plan

L'hébergeur

Le serveur web

Apache

Sites dynamiques

(4)

Hébergement de site web L'hébergeur

L'hébergeur sous-traite l'architecture technique

DNS

Emails

Sites web

Bases de données

(5)

Hébergement de site web L'hébergeur

L'hébergeur peut s'occuper d'un site à divers niveaux

Gestion du (des) domaine(s) (DNS)

Entrées DNS à configurer

Sous-domaines (par ex. « sous.domaine.fr »)

Gestion des emails du domaine

Stockage des emails

Redirection des emails

Interfaces d'accès aux emails

Protocoles de consultation (POP, IMAP)

Mise à disposition d'un serveur

Espace de stockage de fichiers

Architecture technique (scripts, frameworks, logiciels)

(6)

Hébergement de site web L'hébergeur

Coût selon le nombre de services / la durée, par ex.

DNS (si le nom de domaine est disponible...)

Généralement (.fr, .com, .net) 6 à 15 € / an

Stockage / services :

Gandi :

8 Go : 14,35 € / mois

OVH :

1 Mo, 1 email : gratuit

25 Go, 10 emails, 1 base SQL : 2,4 € / mois

250 Go, 1000 emails, 3 bases SQL : 12 € / mois

Amen :

2 Go, 10 email, 1 base SQL : 3,4 € / mois

100 Go, 100 emails, 10 bases SQL : 6,8 € / mois

1 To, 500 emails, 50 bases SQL : 13,4 € / mois

(7)

Hébergement de site web L'hébergeur

L'hébergeur s'engage à

Trafic : une bande passante minimale

Disponibilité : le site est « en ligne » 24/24

Fiabilité : peu de failles de sécurité (virus, etc.)

Responsabilité de l'hébergeur (en France)

Hébergeur ≠ Éditeur

Retirer les informations illicites lorsqu'elles sont signalées

Déclaration des fichiers de données personnelles (CNIL)

Sur demande du juge, des données peuvent être communiquées (sécurité)

Droit très différent selon les pays

(8)

Hébergement de site web L'hébergeur

Types d'hébergement

Dédié (dedicated)

Une machine entière à disposition

Plus rapide, plus disponible, plus de stockage

Plus cher

Mutualisé (mutualized)

Une « portion » de machine à disposition

Moins rapide, plus de risques de sécurité

Beaucoup moins cher

Colocation

La machine appartient au client

L'hébergeur fournit l'infrastructure, le réseau, la maintenance

(9)

Hébergement de site web Plan

L'hébergeur

Le serveur web

Apache

Sites dynamiques

(10)

Hébergement de site web Le serveur web

Serveur, propose des services « orientés web »

DNS : noms de domaine

HTTP : pages web (HTML, XML, JSON, etc.)

FTP : serveur de fichiers

SSL : transactions cryptées

Principe client / serveur

Serveur

HTTP DNS

FTP SSL

Scripts serveur Scripts client

Client

(11)

Hébergement de site web Le serveur web

Requête HTTP

Méthode (GET, HEAD, POST, PUT, DELETE)

URL (Uniform Ressource Locator)

Domaine (et sous-domaine), par ex. « www.news.net »

Fichier demandé, par ex. « /info/sport/rugby.html »

Paramètres, par ex. « ?liste=50&page=3 »

« ? » : indique le début des paramètres

« & » : sépare les différents paramètres

« nom=valeur » : nom et valeur des paramètres

Par ex. « www.news.net/info/sport/rugby.html?liste=50&page=3 »

Le client envoie la requête au serveur (grâce au DNS)

Lors de sa réception, le serveur web traite la requête

(12)

Hébergement de site web Le serveur web

Réponse du serveur

Un serveur peut répondre pour plusieurs domaines

Hôtes « virtuels »

Permet l'hébergement mutualisé

Retour après traitement de la requête

« 20x » : succès (200 : « ok »)

« 30x » : ressource déplacée (301 : « moved »)

« 40x » : erreur client (404 : « not found »)

« 50x » : erreur serveur (500 : « internal error »)

Si trouvée, le serveur renvoie la ressource demandée

Encodage selon le client (UTF8, ISO, etc.)

La ressource peut nécessiter l'exécution d'un programme

(13)

Hébergement de site web Le serveur web

Le serveur « interroge » le site concerné par la requête

Site1

Serveur web

Site2 Serveur

Client

(14)

Hébergement de site web Le serveur web

Recherche de la ressource

URL : chemin d'une ressource séparés par « / »

Arborescence du site

Arborescence des dossiers / fichiers sur le serveur

Par défaut, correspondance automatique

Par défaut, un dossier est « représenté » par « index.html »

Possibilité de structurer différemment les dossiers / fichiers que par l'arborescence du site

Inclusion de fichiers

Mécanisme de « réécriture » d'URL

Utilisation de « CMS » pour décrire l'arborescence du site

Importance des URL « propres » : moteur de recherche et/ou

compréhension par l'utilisateur

(15)

Hébergement de site web Le serveur web

Inclusion de fichiers

Décrire un fichier comme « assemblage » de fichiers

Permet de factoriser le code (évite la redondance)

Page 1 Haut Contenu 1

Bas

Page 2 Haut Contenu 2

Bas

Haut

Page 3

Haut

Contenu 3

Bas Bas

(16)

Hébergement de site web Le serveur web

Réécriture d'URL

Une URL peut-être compliquée selon les mécanismes du site

Par ex. : http://www.news.net/articles/article.php?id=12&page=2

Nécessité de rendre l'URL plus compréhensible

Par ex. : http://www.news.net/articles/article-12-2

Utilisation des « expressions régulières »

Description d'un langage comme algèbre

Ensemble : alphabet

Opérateurs : concaténation, union(+), fermeture (étoile de Kleene, *)

Classes de caractères ([a-Z], [0-9]...)

Également utile pour traiter du Java, HTML, CSS, etc.

Réécriture d'une partie de l'URL « reconnue »

Par ex. : ^article-([0-9]+)-([0-9]+)$ → article.php?id=$1&rubrique=$2

(17)

Hébergement de site web Le serveur web

Utilisation d'un CMS

Plus d'accès au fichiers / dossiers direct

Modification du site par le « backend »

Le site est enregistré dans une base de données

Les fonctionnalités sont définies selon le CMS choisi

Arborescence du site

Édition d'articles

Ajout de forum

Intégration de galeries d'images

Intégration de calendrier

Fonctions pour les sites de commerce

...

(18)

Hébergement de site web Plan

L'hébergeur

Le serveur web

Apache

Sites dynamiques

(19)

Hébergement de site web Apache

Apache HTTP serveur

Logiciel libre (sous licence Apache)

Créé par le NCSA (USA, 1995)

De 60% à 70% des serveurs web

Paramétré par fichiers de configuration

Fonctionnalités phares

Exécution de programmes (CGI, PHP, Python, Ruby, Perl...)

Multithreads (un processus par requête)

Réécriture d'URL

Gestion des droits d'accès (.htaccess)

Format standard des logs (statistiques)

(20)

Hébergement de site web Apache

Configuration d'Apache

Fichier principal « httpd.conf »

Type du serveur

Nom du serveur

Racine des fichiers

Inclusion d'autres fichiers de configuration

Ajout de modules « au besoin »

Scripts PHP (selon l'extension, PHP4 ou PHP5)

Scripts Perl, Python, CGI, Ruby

Réécriture d'URL

Serveurs virtuels

Hébergement de plusieurs sites sur une machine

(21)

Hébergement de site web Apache

Configuration d'Apache (suite)

Par liens symboliques

Commandes : « ln -s » et « rm »

Comme des « raccourcis »

Activer / désactiver des modules / sites

sites-enabled sites-available Site 1 Site 2 Site 3 Site 4

mods-enabled mods-available php5 rewrite

ssl

dav

(22)

Hébergement de site web Apache

Exemple de configuration d'un site web

<VirtualHost *>

ServerName www.news.net

DocumentRoot /var/www/vhosts/www.news.net

<Location "/dynamicpages">

SetHandler python-program

</Location>

<Location "/templates">

Deny from all

</Location>

</VirtualHost>

<VirtualHost *>

ServerName news.net

RedirectMatch 301 (.*) http://www.news.net$1

</VirtualHost>

(23)

Hébergement de site web Plan

L'hébergeur

Le serveur web

Apache

Sites dynamiques

(24)

Hébergement de site web Sites dynamiques

Site statique

Les pages web sont envoyés « telles quelles »

Rapide, mais rigide

Site dynamique

Les pages sont « calculées » selon

L'architecture du site (inclusions)

La base de données

L'utilisateur (authentification)

Nécessite d'exécuter un programme (plus lent)

Facilite la modification du contenu du site

Grande majorité des sites

(25)

Hébergement de site web Sites dynamiques

Dynamiser un site à l'aide de PHP

PHP

Langage d'interaction avec les bases de données (1994)

« Personal Home Page » / « Php : Hypertex Processor »

Langage impératif (≠ déclaratif, HTML / CSS)

Syntaxe C (proche de Java, Perl...)

Instructions terminées par « ; » (sauts de lignes ne changent rien)

Conditions, boucles, fonctions,

Langage objet (PHP5) avec héritage

Le code PHP est mélangé au code HTML

Format pseudo-XML : « <?php script...?> »

Remplacé dans le fichier HTML par ce qu'il affiche

echo "Hello world"; → Hello world

(26)

Hébergement de site web Sites dynamiques

Dynamiser un site à l'aide de PHP (suite)

Exemple d'exécution d'un fichier PHP

page.php « serveur »

<html>

<body>

<?php

echo "Salut, on compte :";

for($i = 0, $i < 5 ; $i++){

echo "no $i" ; }

?>

</body>

</html>

page.php « client »

<html>

<body>

Salut, on compte no 0 no 1 no 2 no 3 no 4

</body>

</html>

(27)

Hébergement de site web Sites dynamiques

Dynamiser un site à l'aide de PHP (suite)

Fonction « include("nomfichier.php"); »

Inclusion à l'aide de PHP

page.php « serveur »

<html>

<body>

<?php include("haut.php"); ?>

<?php include("menu.php"); ?>

<p>Mon contenu ici</p>

<p>En HTML</p>

<?php include("boites.php"); ?>

<?php include("bas.php"); ?>

</body>

</html>

haut.php « serveur »

menu.php « serveur »

boites.php « serveur »

bas.php « serveur »

Client

Références

Documents relatifs

Ce résultat est contre intuitif du faible de la faiblesse des échanges de l’Algérie avec les pays arabes (4%) et de la date récente de l’entrée en vigueur de

La Ligue Auvergne Rhône Alpes de Judo se fixe comme objectif d’accompagner les judoka dans ce triple projet de formation scolaire, sportif et citoyenne.. Elle s’attache donc à

Celui-ci, à partir d’un positionnement apparemment hostile au port du voile isla- mique à l’école et dans les services publics, élabore tout un plan de surdélaïcisation

– Par ex. : voilà &lt;bleu&gt; des &lt;gras&gt; éléments &lt;/gras&gt; imbriqués les &lt;souligne&gt; uns dans les &lt;/souligne&gt; autres &lt;/bleu&gt; . ● Rien :

● Héritage : par défaut, un style appliqué à un élément sera également appliqué aux éléments qu'il contient (enfants). ● Spécification : lorsqu'un élément est

● Protocole HTTP (application) utilise TCP/IP (transport). ● Différentes

implémente (construit) le site à partir de la charte graphique et des fonctionnalités attendues, teste le site. ● Évidemment, beaucoup d'interactions : les rôles ne sont

● Sélectionner les données dans la base pour alimenter le modèle. ● Passer les éléments du modèle aux vues correspondant à