Service d'hébergement de sites web

Avertissement : le Web de l'Université de Liège s'inscrivant dans le réseau Belnet, toute forme de commerce ou de publicité y est strictement interdite.

Qui peut bénéficier du service d'hébergement de sites web offert par le SEGI ?

Le service d'hébergement de sites web offert par le SEGI s'adresse uniquement aux départements ou services de l'ULg. Le SEGI n'héberge pas les pages web d'utilisateurs individuels.

En quoi consiste ce service d'hébergement de site web ?

Le service d'hébergement offert par le SEGI comprend:

  • L'allocation d'un certain quota d'espace disque sur un serveur du SEGI. Cet espace contient les pages web ainsi que les éventuelles bases de données MySQL.
  • L'attribution d'une adresse de site (URL) qui a la forme http://www.site.ulg.ac.be/ où "site" est un nom (de maximum 8 caractères minuscules) attribué lors de l'ouverture du compte associé au site web. Par défaut, ce nom de "site" est également le "username" du compte web.
  • Support de PHP et de MySQL.
  • Un accès FTP pour l'alimentation et la mise à jour du site.
  • Statistiques de consultation du site, rafraîchies quotidiennement et consultables à une adresse de la forme http://www.site.ulg.ac.be/webstats .
  • Le nombre de requêtes (consultations du site) par unité de temps est limité afin d'éviter les consommations abusives de ressources.

Je suis responsable du développement du site web d'un département universitaire, que dois-je faire pour héberger mon site au SEGI ?

Pour développer un site web sur le serveur du SEGI, vous devez préalablement obtenir un compte sur ce serveur en prenant contact avec le Helpdesk.

L'ouverture de ce compte web se traduira par:

  • l'attribution d'un "username" et d'un mot de passe,
  • l'allocation d'une certaine quantité d'espace disque réservée à l'hébergement de votre site web,
  • l'attribution d'une adresse (URL) pour votre site.

Comment faire pour transférer mes pages web sur le serveur du SEGI ?

Pour télécharger initialement vos pages ainsi que pour en réaliser la maintenance, vous devez utiliser un client FTP tel que par exemple WS-FTP sous Windows ou Fetch sur Mac. Pour vous connecter par FTP sur le serveur du SEGI, vous devez spécifier comme nom de machine (Host) le nom de votre site. Ainsi, si l'adresse de votre site est http://www.site.ulg.ac.be, alors vous devez spécifier www.site.ulg.ac.be comme hostname. Le "username" (UserId) et le mot de passe à employer avec FTP sont ceux qui vous ont été communiqués lors de l'ouverture du compte.

Dès l'ouverture de la connexion FTP, votre logiciel FTP fait apparaître le contenu de votre répertoire principal (home directory) sur le serveur. Ce répertoire principal contient notamment le sous-répertoire public_html. C'est ce répertoire public_html qui constitue le répertoire racine de votre site web dans lequel vous devez placer tous les fichiers (html, php, gif, jpg, ...) qui composent votre site web. Evidemment, vous pouvez créer dans public_html une arborescence de fichiers à votre meilleure convenance.

Le transfert des images (gif, jpeg, ...) doit se faire en mode binaire tandis que le transfert des fichiers HTML ou PHP est à réaliser en mode ASCII.

Comment organiser la structure de fichiers d'un site sur le serveur du SEGI?

  • Comme indiqué au point précédent, le répertoire public_html est la racine de la structure de fichiers arborescente qui constitue votre site web. Cela signifie par exemple que l'url http://www.site.ulg.ac.be/rep/fich.html correspond au fichier /public_html/rep/fich.html
  • Les pages HTML ont l'extension .htm ou .html
  • Les pages PHP ont l'extension .php ou .phtml
  • L'url de la page principale de votre site http://www.site.ulg.ac.be/ correspond au fichier "index" du répertoire racine (public_html). Le fichier "index" est l'un des fichiers suivants: index.html, index.htm, index.php ou index.phtml.
  • De la même façon, tout url associé à un répertoire (comme par exemple http://www.site.ulg.ac.be/directory/) est associé au fichier "index" du répertoire correspondant (/public_html/directory)
  • La noms de fichiers ou de répertoires dans un url sont "case sensitive". Par exemple, l'url http://www.site.ulg.ac.be/rep/fich.html n'est pas équivalent à http://www.site.ulg.ac.be/REP/fich.html. Bien que ce ne soit pas indispensable, afin d'éviter certains problèmes, il est recommandé d'utiliser des noms de fichiers ou de répertoires qui ne comportent que des caractères minuscules. Les lettres majuscules, les caractères accentués et les espaces sont à éviter dans les noms de fichiers ou de répertoires.
  • Dans le but de rendre la structure de fichiers que vous allez développer indépendante de sa localisation physique, il est vivement recommandé de faire usage de liens (urls) relatifs plutôt qu'absolus entre vos fichiers. Les liens absolus doivent être utilisés pour faire référence à des documents qui ne font pas partie du même ensemble que celui que vous développez et dont la localisation dans le web est indépendante de celle de votre propre ensemble de documents. Cela a pour avantage que la structure de fichiers que vous allez composer pourra éventuellement être transférée sur une autre machine sans subir aucune modification au niveau des liens. Par exemple, si le fichier file1.html contient un lien vers l'image logo.gif et que cette dernière se trouve dans le sous-répertoire images du répertoire dans lequel se trouve file1.html, alors ce lien prendra la forme <img src=images/logo.gif>

Quels sont les spécificités de l'environnement PHP disponible au SEGI ?

La configuration de l'environnement PHP au SEGI diffère de la configuration par défaut. Voici les différences essentielles:

  • Les tags PHP raccourcis <? ... ?> ne sont pas supportés. Il faut utiliser les tags standards à la place <?php ... ?>
  • Pour des raisons de sécurité, le safe_mode est activé. Voir le manuel PHP, pour obtenir plus d'informations sur les implications de ce mode d'utilisation.  Remarque: si votre site est hébergé sur un de nos serveurs disposant d'une version de PHP >= 5.3.2 alors le safe_mode n'est pas activé. Pour déterminer la version de PHP utilisée, vous pouvez appeler la fonction phpinfo().
  • Pour des raisons de sécurité également, aucun script PHP d'un site ne peut accéder à des fichiers du serveur qui se trouvent en dehors du répertoire public_html de ce site.
  • Encore pour des raisons de sécurité, l'option register_globals est désactivée. Consultez la section du manuel PHP relative à la sécurité pour les implications de ce choix.
  • Le 'file upload' PHP est désactivé par défaut. Pour l'activer, vous devez le demander au SEGI en vous adressant au Helpdesk. Il y a cependant une contrainte technique. Tous les fichiers uploadés de cette façon devront se trouver dans un seul sous-répertoire de votre site, par défaut il s'agira du répertoire 'upload'. Remarque: si votre site est hébergé sur un de nos serveurs disposant d'une version de PHP >= 5.3.2 alors le 'file upload' PHP est activé par défaut. Vous devez cependant autoriser le serveur web à écrire dans le répertoire dans lequel vous souhaitez uploader des fichiers via PHP en exécutant sur ce répertoire la commande 'chmod a+rwx' via FTP. 
  • Le module mod_rewrite n'est pas activé par défaut. Si vous souhaitez utiliser des directives du module mod_rewrite dans un fichier .htaccess alors vous devez d'abord demander l'activation de ce module au SEGI. Remarque: si votre site est hébergé sur un de nos serveurs disposant d'une version de PHP >= 5.3.2 alors vous pouvez directement utiliser les directives du module mod_rewrite dans un fichier .htaccess sans intervention du SEGI.

Pour obtenir plus d'informations sur la configuration PHP du SEGI, vous pouvez utiliser la fonction PHP 'phpinfo'

Quels sont les spécificités de l'environnement MySQL disponible au SEGI ?

  • Le serveur MySQL n'est accessible qu'au travers du serveur web. En d'autres termes, il est impossible d'ouvrir une connexion TCP directement avec le serveur MySQL à partir d'une machine autre que le serveur web.
  • Dans un programme PHP, pour vous connecter au serveur MySQL et accéder à vos bases de données, il suffit d'utiliser par exemple la fonction PHP mysql_connect avec les paramètres suivants: mysql_connect("localhost", "username", "password") où "username" est à remplacer par le nom d'utilisateur de votre compte web et "password" par le mot de passe correspondant.  Remarque: la fonction mysql_connect est obsolète depuis PHP 5.5.0 et a été supprimée en PHP 7.0.0. Pour une alternative, consultez la documentation officielle du site PHP: http://php.net/manual/fr/function.mysql-connect.php.

Comment puis-je créer une nouvelle base de données MySQL ?

Vous n'avez pas la possiblité de créer vous-même une nouvelle base de données MySQL. Pour créer une nouvelle base de données, vous devez obligatoirement passer par un responsable système (contacter le Helpdesk) qui fera cette opération pour vous. Toutes les bases de données ont un nom du type username_dbsuffix où "username" est le nom de votre compte web et "dbsuffix" est un nom de votre choix.

Comment puis-je administrer mes bases de données MySQL ?

L'administration MySQL se fait via l'interface web disponible à l'adresse: http://www.site.ulg.ac.be/phpmyadmin où "site" est à remplacer par le nom de votre propre site. L'identifiant et le mot de passe à utiliser sont évidemment ceux qui sont associés à votre compte web.

Règles de sécurité à respecter

Les régles de sécurité suivantes doivent absolument être respectées:

  • Il est interdit de mettre en service des formulaires web qui envoient des emails si ces formulaires ne sont pas correctement sécurisés. Cela signifie au minimum une protection par captcha comme par exemple: https://www.google.com/recaptcha/intro/index.html
  • Si un logiciel PHP (comme par exemple Wordpress, Drupal, ...) est installé alors vous devez installer les mises à jour qui corrigent des failles de sécurité lorsqu'elles sont publiées. Vous devez donc réaliser un suivi et une maintenance de votre site.

Le SEGI peut-il m'aider à réaliser mon site web ?

Le SEGI ne fournit aucune aide pour la réalisation de site web. Le SEGI intervient uniquement pour assurer la gestion et la maintenance système des serveurs qui hébergent les sites web.

Où puis-je trouver des informations complémentaires sur PHP et MySQL ?

Contact(s) : SEGI

Version imprimable Page mise à jour le 2017-09-24