CITIC74 : Mise en place d'un site Web



Documentation pour la mise en place d'un site web




Version :V5.1 // 20 Novembre 2009
Auteur : Equipe technique du CITIC74
Copyright © CITIC Haute-Savoie // Conseil Général Haute-Savoie

Sommaire



1. Introduction et informations sur le support
1.1. Support
2. Techniquement, de quoi disposent les webmasters sur les serveurs gérés par le CITIC74 ?
3. Comment faire la mise à jour
4. Consigne sur le nommage des fichiers
4.1. Nommage des fichiers
4.2. Pages par défaut
5. Statistiques
5.1. Explication des indications fournies avec AWstats
5.1.1. Outil
5.1.2. Les différentes valeurs des tableaux et graphiques :
5.1.3. Comprendre les résultats
5.2. Moteur de recherche
6. Utilisation de formulaires écrits en PHP
6.1. Principe de base
6.2. Généralités sur le langage PHP
6.3. Généralités sur les formulaires en HTML
6.4. Traitement du formulaire par du code PHP
7. Gérer des accès restreints
7.1. Un exemple d'accès restreint
7.2. Explications de l'exemple
7.2.1. Utilisateurs autorisés
7.2.2. Démonstration d'accès restreints à plusieurs niveaux
8. Référencement dans des moteurs de recherche extérieurs
9. Compteurs et autres gadgets
9.1. Compteur de visites
10. Garantie sur les données
11. Trucs et astuces pour webmasters - Foire aux Questions - FAQ
11.1. Liés au PHP
11.1.1. Problèmes d'apostrophes dans le texte : magic_quotes
11.1.2. "URL Rewriting"
11.1.3. Redirection automatique
11.2. Liés au MySQL (SGBD)
11.2.1. Problème d'accès au serveur MySQL depuis l'extérieur
11.3. Limiter la récupération des adresses email par des "spammers"
11.4. "Pur" HTML
11.4.1. Redirection automatique sur une page
11.5. Liés aux requêtes HTTP extérieures - Passage par proxy obligatoire (obsolète)
11.5.1. Cette section de la documentation n'est plus d'actualité, les requêtes HTTP issues des serveurs web étant systématiquement routées au travers d'un proxy transparent (qui ne fait aucun "cache" des informations).
11.6. Commandes autorisées dans les fichiers .htaccess
12. Bookmarks

1. Introduction et informations sur le support

Ce document est destiné à tous les responsables de sites web. Il permet d'expliquer la marche à suivre pour la mise en place d'un site Web sur les serveurs du CITIC de Haute-Savoie (CITIC74).

Pour avoir un site web hébergé au CITIC74, il faut au minimum un compte email au CITIC74 ainsi qu'un nom de domaine. Note : Vous n'est pas obligé d'acheter un nom de domaine. Le CITIC74 possède plusieurs domaines ( hautesavoie.net,mairies74.org,etc.. ) et il pourra mettre un sous-domaine à disposition. Dans ce cas, le nommage du site sera proposé par le CITIC74 (ex : http://mjc_de_ville.hautesavoie.net/ ). Pour simplifier la lecture de la documentation, les exemples et indications fournies seront faits avec le nom de domaine virtuel "nom-de-domaine.org". Remplacez cette valeur par votre nom de domaine et vous aurez des informations en rapport avec votre situation.

1.1. Support

Pour tout ce qui touche au support, voir http://www.citic74.fr/support et utilisez exclusivement les contacts par email. L'adresse email généralement à utiliser (sauf si vous disposez d'une hotline de 1er niveau) sera donc support <AT> citic74.fr. Merci de faire figurer clairement dans chaque demande le site web concerné (au travers de son URL) et vos coordonnées. Si vous n'êtes pas la personne directement en charge de ce site web (prestataire extérieur pour une collectivité locale par exemple), merci de mettre en copie la personne responsable afin que nous puissions nous assurer de la légitimité de la demande.


2. Techniquement, de quoi disposent les webmasters sur les serveurs gérés par le CITIC74 ?

Les serveurs d'hébergement web mis à disposition fonctionnent sous Debian GNU/Linux, un système d'exploitation et une distribution fiable, sécurisée (insensible aux virus, protection des fichiers, limitation des droits) utilisée à grande échelle par les professionnels de l'hébergement web.

Le serveur web utilisé est Apache (version actuellement en place : 2.2.3 ), il est le plus utilisé en fonctionnement dans le monde (47.17% de part de marché en septembre 2009 sur le segment des serveurs web sur Internet, données fournies par NetCraft.com)

Les pages web peuvent être écrites en HTML, PHP (version actuellement en place : 5.2.11 ).

Pour les sites qui le nécessitent, l'utilisation d'une base de données MySQL (version actuelle du serveur MySQL : 5.0.84) est possible. Cette base de données n'est pas activée par défaut mais peut être mise à disposition sur simple demande en contactant votre assistance. Si le besoin est présent et "justifié", plusieurs bases de données MySQL pourront être mises à disposition pour un même site.

Vous pouvez gérer votre base de données MySQL dans une interface web avec le logiciel phpMyAdmin ( accessible à l'adresse https://nom-de-domaine.org/phpmyadmin/ en s'authentifiant avec le compte et le mot de passe MySQL que le CITIC74 vous communiquera au moment de la création de la base de données).

L'utilisation de PHP et MySQL couplés permet la mise en place et l'utilisation "d'applications web" comme par exemple Spip . "Spip" est un outil de publication collaboratif de plus en plus déployé sur les sites web d'EdRes74 ont hébergés au CITIC74. Il est aussi utilisé pour le site web de PingOO V3, celui du CITIC74. Voir le site SPIP-EDU ainsi que certains sites de mairies dans le cadre du projet "Portail74" .

Les technologies PHP/MySQL permettent aussi la mise en place de nombreuses applications très pratiques sans qu'il soit nécessaire de savoir programmer en PHP pour les utiliser ! Vous pouvez par exemple utiliser wikini (système de publication Wiki : http://www.wikini.net), phpBB (système de forums en ligne : http://www.phpbb-fr.com), (Album photos sur Internet : http://www.3dsrc.com/monalbum/), etc... Des milliers d'applications gratuites sont ainsi disponibles et librement utilisables sur Internet ! Voilà par exemple un site regroupant des scripts PHP qui vont souvent utiliser du MySQL (http://www.phpscripts-fr.net/), voir aussi http://www.hiwit.org/scripts/php/. Important : aucun support ne pourra être assuré par l'équipe technique du CITIC74 concernant l'installation et la maintenance d'applications PHP/MySQL, le CITIC74 n'ayant pas un rôle de support technique sur le contenu des sites qu'il héberge.

Nous désirons tout de même attirer votre attention sur le fait que tout site web nécessite une maintenance régulière, notamment en terme d'application de correctifs de sécurité. En effet, la majorité des solutions PHP/MySQL peuvent être la proie de failles de sécurité qui peuvent être exploitées par des personnes mal intentionnées pour nuire au fonctionnement du site ( défacement, vol d'informations, utilisation détournée pour envoyer des spams, ...). Vous ne pouvez pas vous contenter de mettre en place un site à un instant "T" et ne plus vous soucier de ces aspects techniques par la suite. Le CITIC74 veille à la sécurité de ses serveurs et des sites qui y sont hébergés. Aussi, nous pourrons être amenés à vous contacter si nous détectons que vous utilisez une version "à risque" d'une application PHP/MySQL sur laquelle des failles de sécurité auraient été découvertes. Il conviendra alors pour vous d'agir rapidement pour appliquer les correctifs nécessaires. Nous ne pourrons pas forcément vous apporter d'aide particulière en la matière. Cela est de la responsabilité du webmaster.

Le PHP est configuré pour utiliser le mode de fonctionnement Safemode ( SafeMode On ). En aucun cas nous ne désactiverons cette sécurité. La grande majorité des sites PHP/MySQL peuvent tout à fait fonctionner avec ce paramètre (même si vous pouvez avoir certains avertissements dans la phase d'installation).

Le PHP disponible sur les serveurs du CITIC74 est soumis, par défaut, à un fichier de configuration (php.ini) partagé et relativement "basique". Pour les webmasters qui le souhaitent, ce fichier de configuration peut être personnalisé en fonction de leurs besoins (ex : désactivation des "magic_quotes" pour tout le site, configuration de l'adresse email utilisée en adresse source en cas d'envoi de mails via du code php, ...).
Ces demandes doivent être faites en contactant votre assistance et en étant le plus précis possible sur les paramètres à modifier (si vous demandez leur modification, c'est que vous savez précisément de quoi vous parlez). Les modifications seront alors appliquées par les équipes techniques du CITIC74 si celles-ci sont considérées comme "acceptables" sans mettre à mal le bon fonctionnement des serveurs.
Par exemple, nous n'autoriserons pas des temps d'exécution (max_execution_time) infinis ni des affectations de mémoire (memory_limit) au delà de 128Mo en général pour les scripts PHP. Des exceptions restent tout de même possibles (à étudier au cas par cas).

Certaines fonctions de PHP sont bloquées. Nous pouvons en débloquer certaines sur demande faites à votre assistance

S'ils le souhaitent, les webmasters peuvent avoir accès à un site de développement. Ce site leur permet de tester toute modification de la programmation de leur site web avant de les rendre effectives sur le "site officiel".

Le CITIC74 fournit des statistiques de fréquentation du site (voir chapitre correspondant)

Pour agrémenter les sites, un compteur peut y être intégré... (voir chapitre correspondant)

La plateforme d'hébergement du CITIC74 ne supporte pas tout ce qui tourne autour de J2EE/Tomcat (Java), ASP/SQL Server (Microsoft), ni les bases de données PostgreSQL et Oracle.

Pour des raisons évidentes de sécurité de tous, aucun script CGI spécifique ne pourra être mis en place.

Les technologies spécifiques à certains outils de développement web risquent de ne pas fonctionner (ou seront sont mal supportés, surtout si ces technologies ne fonctionnent que sur les serveurs Microsoft comme les extensions FrontPage par exemple)

Vous pouvez faire apparaître le CITIC74 comme hébergeur de votre site (on apprécie ce genre de petites attentions). Vous avez par contre l'obligation d'indiquer le nom,l' adresse et les coordonnées du CITIC74 en qualité d'hébergeur dans les mentions légales de votre site.


3. Comment faire la mise à jour

La mise à jour doit s'effectuer par FTP, en utilisant soit un logiciel dédié soit un module à l'outil de création de site web utilisé permettant le chargement de fichiers sur un site distant (voir documentation du logiciel utilisé pour savoir si c'est possible).

Le CITIC74 vous recommande ces logiciels FTP :

Le FTP sur SSH ou SFTP n'est pas supporté.

Ce que le CITIC74 vous met à disposition pour les mises à jour :

Lorsque vous vous connectez sur la machine ftp.nom-de-domaine.org pour faire vos mises à jour, vous devez donc entrer votre nom d'utilisateur ( il est parfois utilisé les mots anglais login ou username) et votre mot de passe (ou password en anglais ) afin d'établir la connexion entre votre machine et le serveur où sont hébergées vos pages web. (attention : la plupart des outils FTP établissent par défaut des connexions dites "anonymes". Il faut alors bien indiquer que c'est une connexion avec un nom d'utilisateur qui est utilisée.)

Une fois connecté sur cette machine, vous devez déposer vos fichiers dans le répertoire le-nom-du-site.org/htdocs/, le seul où vous ayez des droits d'écriture. Pour les webmasters qui ont un site de développement, les pages pour ce site spécifique doivent être placées dans le répertoire le-nom-du-site.org/htdocs-dev/


4. Consigne sur le nommage des fichiers

4.1. Nommage des fichiers

La machine qui héberge vos pages est une machine de type UNIX: le système est sensible aux majuscules et aux minuscules. Par exemple, si sous Microsoft Windows les fichiers TOTO.html et toto.html correspondent en fait au même fichier, sous UNIX ce sont deux fichiers distincts. Attention également à éviter les espaces et les accents dans les noms de fichiers et répertoires.

4.2. Pages par défaut

Si un visiteur utilise une URL du type http://le-nom-du-site.org/un_repertoire_du_site/ il va tomber sur une page lui expliquant que l'accès au répertoire est interdit. Cela vient du fait que si il n'existe pas de page par défaut, le serveur essaye de lister tout le contenu du répertoire : pour des raisons de sécurité nous n'autorisons pas ce comportement. Vous pouvez alors soit indiquer le chemin complet vers votre page ( http://le-nom-du-site.org/un_repertoire_du_site/ma_page.html ) soit nommer la page avec le nom d'une page par défaut.

Voici, dans l'ordre de priorité, le nom de la page par défaut qu'il faut utiliser :

  1. index.php
  2. index.php3
  3. index.php4
  4. index.php5
  5. index.html
  6. index.cgi
  7. index.pl
  8. index.xhtml
  9. index.htm
  10. welcome.htm
  11. welcome.html
  12. Welcome.html
  13. toc.htm

Si le visiteur utilise l'URL http://le-nom-du-site.org/un_repertoire_du_site/ il sera renvoyé vers http://le-nom-du-site.org/un_repertoire_du_site/index.php . Si le fichier "index.php" n'existe pas il sera renvoyé vers http://le-nom-du-site.org/un_repertoire_du_site/index.php3 , et ainsi de suite.


5. Statistiques

5.1. Explication des indications fournies avec AWstats

5.1.1. Outil

Les statistiques sont générées avec l'outil (Awstats). Les statistiques sont présentées sous forme de pages HTML et sont mises à jour quotidiennement. Les caractéristiques majeures sont : la présence de graphiques, un bilan sur l'année, une analyse évoluée.

5.1.2. Les différentes valeurs des tableaux et graphiques :

5.1.3. Comprendre les résultats

Pour lire cette page, vous pouvez vous aider de celle-ci : Comprendre les résultats d'awstats

5.2. Moteur de recherche

Arrêt de l'ancien service

Un moteur de recherche basé sur ht://Dig était disponible pour votre site jusqu'à l'été 2009. Celui-ci n'est plus fonctionnel suite à migration des sites web effectuée pendant cet été.

Solution alternatives

Note: si vous utilisez ( ou comptez installer ) une application web de gestion de contenu ( par exemple spip ) un moteur de recherche est, en règle général, déjà intégré a l'application. Ce qui suit concerne les webmasters qui ont ( ou souhaitent ) développer eux-mêmes leur site.

Vous trouverez en suivant ce lien 2 exemples d'utilisation de moteurs de recherche, ainsi que le code pour intégrer leur formulaire de recherche à votre site.

Nous allons évoquer brièvement la mise en place d'une application web qui permet d'indexer le contenu des pages de votre site et propose une interface de recherche. Comme indiqué au chapitre 2, aucun support ne pourra être assuré par l'équipe technique du CITIC74 concernant l'installation et la maintenance de cette application , le CITIC74 n'ayant pas un rôle de support technique sur le contenu des sites qu'il héberge.
Installation : L'application s'appelle sphider. On peut la télécharger ici. Une fois téléchargé, il faut décompresser le fichier sur votre poste local.Sur votre poste local, éditez le fichier sphider-1.3.5/settings/database.php . Les 6 premières lignes représentent les paramètres à utiliser pour la connexion à la base de données MySQL. Remplacez les informations présentes par les paramètres de connexion de votre base de données MySQL ( paramètres données lors de la création de la base par le support du citic74 ). A l'aide d'un client FTP, placez les fichiers décompressés dans un dossier de votre site. Avec votre navigateur web, allez sur http://le-nom-du-site.org/sphider-1.3.5/admin/install.php . Cette page va créer des tables dans votre base de données MySQL. Si l'opération abouti, vous aurez le message suivant : "Creating tables successfully completed".
Fonctionnement : Pour gérer l'application allez avec notre navigateur web sur http://le-nom-du-site.org/sphider-1.3.5/admin/admin.php . Pour lancer l'indexation du site allez dans l'onglet "Index" et rentrez son adresse. Un exemple de formulaire de recherche est visible à cette adresse http://le-nom-du-site.org/sphider-1.3.5/search.php. Vous pouvez en récupérer le code pour l'inclure dans votre site. Pour tout aide ou renseignement complémentaire allez sur le site officiel de l'application : http://www.sphider.eu/

6. Utilisation de formulaires écrits en PHP

Ce chapitre va décrire brièvement le fonctionnement d'un formulaire écrit en PHP. De nombreuses documentations et sites sont dédiés à cette technique. Seules les notions de bases et un exemple concret seront abordés ici.

6.1. Principe de base

  1. définition des variables dans le script HTML avec toutes les possibilités qu'offrent un formulaire HTML
  2. traitement des variables récupérées par le script PHP (et ici, envoi du mail à travers la fonction PHP adéquate)

6.2. Généralités sur le langage PHP

Ce langage est de plus en plus utilisé dans tous les sites web qui se veulent dynamiques sans pour autant utiliser des technologies exclusives telles que Flash par exemple. PHP en général couplé à une base de données offre des possibilités énormes. Pour découvrir PHP et apprendre à l'exploiter du plus simple au plus compliqué, de très nombreux sites existent sur Internet. Voici les plus connus :

6.3. Généralités sur les formulaires en HTML

Plutôt que de reprendre des explications d'autres sites sur toutes les possibilités qui existent dans les formulaires en HTML, voici quelques liens qui traitent de cela :

6.4. Traitement du formulaire par du code PHP

Il est évident qu'il faut avoir ici quelques notions en programmation PHP.

Plutôt que de longs discours, vous trouverez ici un exemple concret qui vous a peut-être permis de vous inscrire à la LinuxEdu 2003. Voici le formulaire qui devait être rempli (version simplifiée) :

Et voici le code du script PHP qui y est appelé. Il traite les informations saisies et envoie un mail préformaté à l'adresse email mentionnée :

Script PHP qui est appelé dans le formulaire HTML ci-dessus ( il est nommé ici en .txt pour que votre navigateur l'affiche directement)

Astuce : si vous accédez au fichier formulaire.php3.txt (dernier lien cité ci-dessus) à travers Internet Explorer, il essaie d'interpréter le code qui y figure plutôt que d'afficher ce qui est un simple fichier texte (ce qui rend le fichier illisible)... Pour voir le "vrai" contenu du fichier (qui est donc le code du fichier formulaire.php3), faites "Affichage/Source" dans Internet Explorer ou utilisez Mozilla (ou Firefox) par exemple qui fera apparaître directement le fichier .txt.


7. Gérer des accès restreints

Le serveur web Apache vous permet de gérer des accès restreints avec des fichiers ".htaccess" .

Pour cela, vous devrez placer des fichiers nommés .htaccess dans les répertoires auxquels vous voulez restreindre l'accès. Les restrictions seront alors valables dans tous les sous-répertoires (sauf rencontre d'un autre fichier .htaccess avec d'autres droits).

Note : ce fichier doit être de l'ASCII pur => vous pouvez le faire avec Notepad par exemple sous Windows

ASTUCE : Windows et DOS ne permettent pas d'enregistrer un fichier sous le nom demandé, à savoir .htaccess pour reprendre cet exemple. Pour contourner le problème, donnez lui un nom temporaire (par exemple access.txt), puis renommez-le en .htaccess, soit au moment du transfert, soit après le transfert, à l'aide de votre logiciel de transfert de fichier (FTP)

7.1. Un exemple d'accès restreint

Les lignes commençant par "#" sont des commentaires

##############
AuthType Basic
AuthUserFile fichier_de_gestion_des_utilisateurs
AuthName "Accès sécurisé pour mon site web"

        require user liste_des_utilisateurs_autorisés_séparés_par_des_espaces
#       OU
#       require valid-user

##############

7.2. Explications de l'exemple

Fichier de gestion des utilisateurs

7.2.1. Utilisateurs autorisés

Pour restreindre l'accès à certains utilisateurs parmi ceux qui figurent dans le "fichier de gestion des utilisateurs", utilisez dans le .htaccess la commande "require user utilisateur1 utilisateur2 etc". Pour autoriser tous les utilisateurs contenus dans le fichier en question (s'il y en a beaucoup, ça vous évite de mettre la liste en entier), utilisez la commande "require valid-user". Ainsi, toute personne s'étant correctement authentifiée pourra accéder aux pages en questions.

7.2.2. Démonstration d'accès restreints à plusieurs niveaux

A titre d'exemple, on trouve ici une petite arborescence à 3 niveaux montrant brièvement les possibilités de la gestion d'accès restreints par groupe et par utilisateur référencés. 4 couples nom utilisateur/mot de passe peuvent être utilisés ici : utilisateur1/passwd1, utilisateur2/passwd2, utilisateur3/passwd3, utilisateur4/passwd4. Vous pouvez récupérer l'arborescence de cet exemple sur lequel vous pouvez vous basez pour créer votre propre zone en accès restreint à travers ce fichier demo_ar.tgz que vous pourrez ouvrir/décompresser avec WinZIP ou 7Zip (logiciel libre).

Arborescence des fichiers du répertoire de démonstration :

demo_ar

|-- .htaccess
|-- conf
|   |-- .htaccess
|   |-- group
|   `-- passwd
|-- groupe1
|   |-- .htaccess
|   |-- acces_utilisateur1
|   |   |-- .htaccess
|   |   `-- index.html
|   |-- acces_utilisateur1et2
|   |   |-- .htaccess
|   |   `-- index.html
|   |-- acces_utilisateur2
|   |   |-- .htaccess
|   |   `-- index.html
|   `-- index.html
|-- groupe2
|   |-- .htaccess
|   |-- acces_utilisateur3
|   |   |-- .htaccess
|   |   `-- index.html
|   |-- acces_utilisateur3et4
|   |   |-- .htaccess
|   |   `-- index.html
|   |-- acces_utilisateur4
|   |   |-- .htaccess
|   |   `-- index.html
|   `-- index.html
`-- index.html

Accès à la démonstration d'accès restreint


8. Référencement dans des moteurs de recherche extérieurs

Le CITIC74 ne fait aucun référencement dans des moteurs de recherche externes (comme Google ou Yahoo). Nous laissons à la charge du responsable du site de le faire lui-même.

le référencement d'un site web n'est pas une action automatique dès lors qu'un site est hébergé et existe sur la "toile". Cette action qui consiste à s'annoncer (de façon manuelle ou automatique) auprès des moteurs de recherche doit être menée par les personnes qui veulent que leur site apparaisse en bonne position dans ces moteurs de recherche.

Aussi, il existe plusieurs méthodes pour effectuer ce référencement (nous vous conseillons vivement la consultation d'un site dédié à cet "art" : http://www.webrankinfo.com/) :

Une optimisation de ce référencement peut également être faite par une structuration du site web adaptée avec l'utilisation de "méta-informations" dans les pages web qui, étant parcourues par les robots des moteurs de recherche, contribueront à bien placer le site dans les recherches futures des internautes.

Voici quelques sites qui traitent des balises "META" :

A partir du moment où le site est accessible depuis Internet (ce qui est le rôle du CITIC74), un référencement efficace le rend très facilement accessible avec quelques mots-cléfs auprès des moteurs de recherche.

En résumé, cette action de référencement est une action "lourde" en temps passé et/ou en sommes dépensées et n'est pas faite par l'hébergeur du site (le CITIC74) mais en général, par le webmaster du site si celà lui a été demandé (ou plutôt "commandé" dans son contrat) ou par une société spécialisée.

Voici une liste de sites sur le "référencement" (mode d'emploi, trucs, astuces, conseils, moteurs de recherche, annuaires...) :


9. Compteurs et autres gadgets

Le CITIC74 propose quelques outils afin de personnaliser et d'agrémenter les sites hébergés.

9.1. Compteur de visites

Important : les compteurs wwwcount qui étaient disponibles jusqu'ici ne fonctionnent plus après la migration de l'été 2009. Une solution de remplacement est proposée (voir ci-dessous)

Les webmasters, plutôt que d'avoir leurs propres scripts pourront utiliser un système global de compteur que le CITIC74 a mis en place : il est basé sur PHPGcount 1.1 (http://www.phpjunkyard.com/php-graphical-hit-counter.php).

Pour cela, il suffit de faire une demande auprès de votre assistance en précisant le nom de votre site et vous recevrez en retour le code HTML (javascript) à intégrer à vos pages pour afficher le compteur.

Le design du compteur peut être choisi parmi quelques modèles ("digits"). Pour cela, il faut préciser dans la ligne d'insertion du compteur le digit qu'on veut utiliser en modifiant la variable correspondante (par défaut correspondant au style "57chevy").

Les digits utilisables avec leur code sont référencés ici : http://outils.citic74.fr/compteur/

10. Garantie sur les données

Nous faisons des sauvergardes systématiques des données (fichiers + bases de données MySQL). Cependant, le CITIC74 ne garantit en aucun cas la perte de vos données. Pensez à faire régulièrement une sauvegarde de vos fichier ainsi que de la base de données via l'interface PHPMyadmin mise a votre disposition. En cas de gros problèmes de votre côté ayant engendré une perte de données, vous pouvez faire appel à nous via votre assistance en spécifiant bien entendu les données à restaurer (dossiers, base de données, ...). Néanmoins, étant donné le volume conséquent de stockage que la sauvegarde impose, les données sauvegardées ont un temps de rétention de 2 semaines.

11. Trucs et astuces pour webmasters - Foire aux Questions - FAQ

11.1. Liés au PHP

11.1.1. Problèmes d'apostrophes dans le texte : magic_quotes

11.1.2. "URL Rewriting"

Quelques liens pour comprendre ce que c'est et comment ça fonctionne :

Certains webmasters peuvent souhaiter utiliser les fonctionnalités dites de "URL Rewriting" afin de cacher les appels à des scripts PHP par des adresses plus "simples". Cela est fréquemment utilisé pour améliorer le référencement des sites dynamiques écrits en PHP. L'utilisation de cette technologie est basée sur des instructions à placer dans des fichiers ".htaccess". L'utilisation de ces instructions dans un fichier .htaccess n'était pas autorisée par défaut avant l'été 2009. Elle est maintenant autorisé. Attention, cette technique particulière ne peut pas être utilisée sans avoir une connaissance approfondie de son fonctionnement. Une instruction de réecriture "mal écrite" peut dans certains cas créer des "boucles infinies" de redirection et bloquer le navigateur de vos visiteurs.

11.1.3. Redirection automatique

Voici une astuce pour rediriger automatiquement un internaute venant visiter une page (ou un dossier du site web) vers une autre page. A noter, on peut faire la même chose en HTML avec la possibilité de faire cette redirection après un délai défini (permettant donc de montrer une page d'explication).

Cela consiste simplement en l'emploi de la fonction header à placer dans le fichier PHP. Si on veut rediriger l'internaute qui accède à l'adresse de base du site ou dans un répertoire en particulier, il suffit donc d'y placer un fichier index.php (prioritairement reconnu comme une page d'accueil) avec simplement le code ci-dessous (les lignes commençant par "/*" sont des commentaires).

<?php
/* On commence par donner un code de retour HTTP cohérent avec la redirection */
header("Status: 301 Moved Permanently");
/* Dans l'exemple, on redirige l'internaute vers le site du CITIC74 */
header("Location: http://www.citic74.fr/");
/* On s'assure que l'éventuel code PHP qui serait en dessous n'est pas exécuté. */
exit();
?>

11.2. Liés au MySQL (SGBD)

11.2.1. Problème d'accès au serveur MySQL depuis l'extérieur

11.3. Limiter la récupération des adresses email par des "spammers"

Il est très vivement recommandé de ne pas faire figurer son adresse email publiquement si on ne veut pas être importuné par tous les spammers qui utilisent des systèmes de récupération automatique des adresses email en parcourant les sites web.

Ou alors, il faut au moins essayer de la camoufler pour qu'on puisse vous contacter en cas de besoin sans rendre l'adresse trop facilement exploitable.

Pour cela, il existe différentes techniques plus ou moins valables. Leur inconvénient est d'utiliser en général du Javascript (=> des navigateurs web qui ne le supporteraient pas n'afficheront pas l'adresse email contenue dans la page). Leur avantage est de limiter la récupération de l'adresse par des systèmes automatiques.

Voilà quelques liens qui traitent de ces méthodes :

Et voilà un petit exemple où vous pourrez voir 3 fois l'adresse email du support technique du CITIC74 sans qu'elle figure dans la source de la page HTML (=> sans qu'elle puisse être récupérée par un système automatique) : ICI (regardez la source de la page et vous n'y trouverez jamais l'adresse email).

11.4. "Pur" HTML

11.4.1. Redirection automatique sur une page

Il existe une balise "META" l'on place dans l'en-tête d'une page permettant de rediriger l'internaute qui visite une page de son site vers la page ou le site de son choix.

Il suffit d'insérer entre le <HEAD> et le </HEAD> de la page HTML une ligne comme cet exemple :

<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=http://www.citic74.fr/">

La valeur de "CONTENT=" est le nombre de secondes avant la redirection : on peut indiquer "0" si l'on veut qu'elle soit immédiate. On indique ensuite avec la valeur de "URL=" l'adresse où on veut rediriger l'internaute. Cela peut aussi être un lien relatif de type "URL=./sous-repertoire/"

Voici un Exemple : cliquez ici et vous allez être automatiquement redirigé vers le site du CITIC74 après 4 secondes. Le code de la page est le suivant :
<HTML>

 <HEAD>
   <TITLE>Redirection automatique vers le site du CITIC74 dans 4 secondes</TITLE>
   <META HTTP-EQUIV="REFRESH" CONTENT="4;URL=http://www.citic74.fr/">
 </HEAD>
 <BODY BGCOLOR="WHITE">Attention, redirection automatique vers le site web du CITIC74 dans 4 secondes...</BODY>

</HTML>

11.5. Liés aux requêtes HTTP extérieures - Passage par proxy obligatoire (obsolète)

11.5.1. Cette section de la documentation n'est plus d'actualité, les requêtes HTTP issues des serveurs web étant systématiquement routées au travers d'un proxy transparent (qui ne fait aucun "cache" des informations).

11.6. Commandes autorisées dans les fichiers .htaccess

Pour des raisons de sécurité, nous avons été contraints de limiter les directives Apache qui peuvent être placées dans un fichier .htaccess.

Tout ce qui concerne l'authentification et les règles de réécriture sont autorisés. Pour les autres directives voir la documentation sur les directives Apache. Dans la description de la directive, regardez la ligne override, elle doit contenir au moins un de ces paramètre : AuthConfig Limit FileInfo pour être autorisée. Par exemple : charsetdefault est autorisée mais options ne l'est pas.

Si vous avez des besoins en la matière, vous pouvez en faire la demande en contactant votre assistance.

Nous sommes conscients que cela peut être un "poids" dans la gestion et le développement de votre site web. Le support technique assuré par le CITIC74 étant tout de même très réactif, nous estimons que ce mode de fonctionnement reste largement tolérable.

12. Bookmarks

Procédures d'assistance CITIC74 : http://www.citic74.fr/support

Debian GNU/Linux : http://www.debian.org/

NetCraft.com : http://news.netcraft.com/archives/web_server_survey.html

phpMyAdmin : http://www.phpmyadmin.net/

Spip : http://www.spip.net

EdRes74 : http://www.edres74.ac-grenoble.fr

Le site SPIP-EDU : http://www.spip-edu.edres74.ac-grenoble.fr

Un site regroupant des scripts PHP qui vont souvent utiliser du MySQL : http://www.phpscripts-fr.net/

AWstats : http://awstats.sourceforge.net/

Apache : http://www.apache.org

7Zip (logiciel libre) : http://www.framasoft.net/article1025.html

Référencement : http://www.webrankinfo.com/referencement/

Compteur : http://www.webrankinfo.com/referencement/

Sur SIGNGENERATOR.org : http://www.signgenerator.org/txt2img/

Sur ASPIRINE.org : http://aspirine.org/emailcode.php

Sur CASPAM.org : http://caspam.org/