Guide des Bonnes Pratiques sur l'hébergement des Pages Perso de Free

Les Pages Perso Chez Free

Par Al, le , dans Créer ses pages perso. / Dernière modification : le 18 juillet 2016 par Al.
Tags : Apache, Assistance, CGV, Console de gestion, Délais, Erreur 500, Erreur 403, Fonction mail(), MySQL, Phishing, PHP, PostgreSQL, Spam, Stockage, Suspension, Sécurité, Tutoriaux, Usenet

Une liste des bonnes et des mauvaises pratiques pour l'hébergement de sites Web sur le service des Pages Perso de Free.

Liste des contributeurs : Al, mcc, Coyote (dé)abusé, D. St-Sanvain, JC_Et, a@a.a / Indirectement, via LPPCF ou le forum Usenet : Alain, Albert, Cartomi, CleyFaye, Coyote (dé)abusé, Fab, Florent P., Philippe F., Philippe 92, Olivier B., Otomatic; Vincent, lesurfeur, Lionel… / Sites Web utilisés comme référence pour les définitions de certaines notions : Wikipedia.org, Développez.com, AlsaCréations, WebPlatform.org, Dev.Opera, LégiFrance ou encore StackExchange.

0. Table des matières

↥ top

1. Note au lecteur

Ce guide ne se veut pas un document exhaustif, listant l'ensemble des cas qu'il est possible de rencontrer sur les serveurs hébergeant les sites Web des utilisateurs du service des Pages Perso (PP) de Free (domaines se terminant par .free.fr, .chez-alice.fr et .chez.com).

Il ne s'agit pas d'un texte dogmatique. Ce texte a été conçu pour servir de référence lors de la création de sites Web respectant les standards internationaux, l'interopérabilité, la Netiquette, l'accessibilité et les règles de « bon sens élémentaire » imposés par l'infrastructure hébergeant ces sites Web. Ce texte est long, prenez cependant le temps de le lire.

Nous attirons l'attention du lecteur sur le fait que ce texte n'émane pas de la société Free, mais du travail collectif des utilisateurs du service. Ce texte ne doit donc pas être lu ou considéré comme un document officiel de Free.

Ce guide se veut le plus clair et le plus facile d'accès possible afin que tous les utilisateurs du service – du néophyte au professionnel en informatique – puisse le lire, le comprendre et mettre en pratique les différents points qui y sont évoqués. Ainsi, le texte contiendra les informations minimales nécessaires à la compréhension et la mise en pratique de chaque point et renverra le lecteur soucieux d'approfondir les thématiques traitées à d'autres ressources disponibles sur la toile, notamment le site Les Pages Perso Chez Free. Nous invitons le lecteur mal à l'aise avec certains termes ou certaines notions, à chercher leur signification sur Wikipedia, Wiktionary, Développez.com, AlsaCréations, Le Site du Zéro, WebPlatform.org, Mozilla Developer Network, Dev.Opera, SebSauvage ou encore StackExchange (des liens vers ces sites sont inclus dans ce document).

Dans la première partie de ce guide seront abordées quelques considérations et définitions préliminaires sur les responsabilités inhérentes à la mise à disposition d'un site Internet ; dans la seconde, nous traiterons de la question de l'hébergement mutualisé pour présenter dans la troisième partie, enfin, les « bonnes » et « mauvaises » pratiques à considérer lors de la création d'un site Internet destiné à être hébergé par le service des Pages Perso de Free. ↥ top

2. Généralités sur les sites Internet hébergés par les Pages Perso de Free

Le service des Pages Perso de Free est destiné à l'hébergement de « sites Web personnels ». Cette définition, forcément vague, peut être à l'origine d'un ensemble de mésaventures et de mauvaises pratiques. Mettre à la disponibilité du public un site Web implique un certain nombre de responsabilités inhérentes à cette activité. Nous allons donc chercher à savoir ce qu'est un site Web pour les services de Free en nous appuyant sur les divers messages sur ce thème postés sur le forum Usenet des Pages Perso, dans la documentation parcellaire présentée dans les pages d'assistance de Free et les nombreuses autres ressources disséminées sur la toile. Certaines informations présentées ici sont tirées des messages de l'admin et de constations diverses et variées ; d'autres sont des valeurs extrapolées.

Un site Web est un ensemble de pages qui peuvent être consultées en suivant des liens à l'intérieur du site. Les liens devraient permettre de consulter toutes les pages du site, sans le quitter (sans devoir utiliser un moteur de recherche pour trouver une ressource présente sur le compte). Une visite doit pouvoir commencer par n'importe quelle page, particulièrement lorsque son URL est donnée par un moteur de recherche. Techniquement, rien ne distingue la page d'accueil d'une autre page. Il est bien entendu possible de mettre en place des liens vers d'autres ressources du Web.

Ce site Web, par ailleurs, doit être « accessible aux autres ». En effet, votre « page perso » doit être publique, c'est-à-dire que cela ne doit en aucun cas être un site dont l'accès est majoritairement – voire totalement – restreint. Seule des sections « sensibles » et minoritaires (administration, formulaires de soumission d'articles, etc.) doivent être protégées par une authentification. Si vous recherchez une solution pour partager entre connaissances vos dernières photos de vacances ou vos fichiers de travail collaboratif avec un nombre restreint de visiteurs, tournez-vous vers des services en ligne dédiés à ces usages.

Pour résumer, un site Web, c'est :

  • Un ensemble ordonné de ressources liées entre-elles ;
  • Ces ressources sont organisées sous un angle « éditorial » ;
  • Ces ressources sont accessibles – majoritairement – en lecture à tous les visiteurs, sans distinction ;
  • Les fichiers ne sont pas proposés « nus », mais au sein/lié à une page web.

Un site Web ce n'est pas :

  • Un espace de dépose de fichiers nus, en vrac ou ordonné ;
  • Un espace pour faire des tests ;
  • Des pages toujours en travaux ou en maintenance.

Une explication plus détaillée des Conditions Générales d'Utilisation est proposée dans ce billet. ↥ top

3. L'architecture mutualisée du service

Bien que les serveurs soient puissants, notamment en termes de mémoire vive, d'espace disque et de bande passante, les ressources sont attribuées de façon fixe ou dynamique à l'ensemble des utilisateurs hébergés sur la même « grappe » de serveurs. Les utilisateurs disposent d'outils d'administration open source (PhpMyAdmin, PhpPgAdmin, Webalizer, PhpMyVisites, Zimbra, Dotclear [pour blog.free.fr], etc.) pour la gestion des données de leur site. Comme tout accès direct à la machine (SSH, administration à distance) et abus pourraient compromettre l'intégrité du serveur ou rendre indisponible ses ressources, les utilisateurs ne peuvent modifier que quelques variables d'ajustement, au travers des fichiers de configuration distribués, plus connus sous le nom de fichiers « .htaccess ».

Les ressources sont donc limitées, par définition, pour chaque utilisateur du service. L'installation de certains composants ou logiciels serveurs (Apache, PHP, SQL, etc.) est impossible (car l'utilisateur ne dispose pas les droits d'administration). Il est cependant possible de faire des demandes d'évolution auprès de l'administrateur, Lionel, via le forum de support Usenet.

En outre, une même serveur (et donc une même adresse IP) est partagée par des centaines ou des milliers de sites Web. Il suffit que l'un de ces sites web transgresse les règles (par exemple, par l'envoi de pourriels ou « spams », piratage de son compte, frame « vérolées » hameçonnage ou « phishing », etc.) pour que cette adresse IP soit mise en « liste noire ». Tous les autres sites hébergés sur le même serveurs en subissent les conséquences (« listes noires », ralentissements, indisponibilités, instabilités, etc.). Ces « listes noires » sont établies par des organisations indépendantes ou des entreprises telles que spamhaus.org ou spamassassin.apache.org, et utilisées par de nombreux logiciels et protocoles de sécurité. Ces logiciels se basent également sur les adresses IP des serveurs web, et non pas uniquement sur les noms de domaines ou les adresses IP des ordinateurs ou serveurs qui envoient les pourriels. Une adresse reste en liste noire tant que l'hébergeur n'est pas intervenu pour interdire ou corriger le problème et a signalé la correction à l'éditeur de la liste, ce qui prend parfois un certain temps.

Fig. 1. Schéma des « 3 niveaux » de serveurs
Fig. 1. Schéma des « 3 niveaux » de serveurs d'une « grappe ».

Les serveurs Web Apache correspondent aux serveurs perso000-g0.free.fr. Au sein d'une même « grappe », ils se partagent un même exécuteur PHP (phpn00-g0.priv.free.fr) et des serveurs SQL communs à plusieurs « grappes ». Tout « abus » ne pénalise donc pas seulement vos colocataires de serveur, mais également les autres utilisateurs de votre « grappe » voire de l'ensemble de l'infrastructure.

Cette infrastructure a été pensée et conçue pour un très grand nombre d'accès concurrents en lecture, mais pas pour de très nombreux accès en écriture. Ces derniers doivent être limités.

Pour information, le service des Pages Perso c'est :

  • Un seul administrateur ;
  • 2026742 comptes (nov. 2013) ;
  • Un peu plus de 250 serveurs ;
  • Environ 2000 To d'espace disque (1 To = 1000 Go) ;
  • (pas d'estimation :-( !) pages vues par mois ;
  • Un trafic de (pas d'estimation :-( !) environ par mois.

↥ top

4. Les bonnes et les mauvaises pratiques en relation avec le service des Pages Perso de Free

Comme nous venons de le voir, un certain nombre de « règles » sont nécessaires pour que l'ensemble des utilisateurs disposent d'un service de qualité. Ces « règles » sont volontairement très vagues afin de permettre de couvrir tous les cas de figure et éviter que des utilisateurs malintentionnés se « calent » juste en dessous des limitations, pour éviter les suspensions. Dans la même optique, ces règles évoluent selon les abus constatés sur les serveurs. La liste présentée de bonnes et mauvaises pratiques ne peut donc être exhaustive.

Je rappelle ici que ce guide n'est pas officiel et n'a été validé ni par la société Free ni par l'administrateur du service (qui a toutefois pu avoir accès à tous les stades de l'élaboration de ce document). Il se base sur une interprétation des cas constatés de suspension de compte, sur les contributions d'utilisateurs, sur les CGV du service Accès Gratuit et sur les recommandations présentées dans les CGU de Free, validées lors de la création de vos Pages Perso.

Ces conseils et recommandations sont organisés selon diverses sections, que nous détaillons ci-dessous :

  1. Les services et logiciels offerts par le service des Pages Perso de Free
  2. Conception du site web
    1. Création de la Pages Perso et des bases SQL
    2. Respect des standards
    3. Gestion du cache
    4. Conception du site en local, sur votre machine
    5. Transferts des données vers les serveurs de Free
    6. Développement de scripts et pages PHP « fait main »
    7. Appels PHP externes à votre compte
    8. Utilisation de scripts et CMS (clef en main)
    9. Nom, casse et jeux de caractères des fichiers sur le site Web
    10. Optimisation des ressources du site Web
    11. Gestion des chemins relatifs des scripts PHP
    12. Sécurisation du compte
    13. Configuration et optimisation du serveur
    14. Limitation des abus
    15. Compression des ressources envoyées aux clients
    16. Organisation des ressources du site
    17. Envoi de courriels / newsletters / emailing
    18. Mise à disposition de fichiers en téléchargement
    19. Sites à vocations commerciales, paiements et publicités
    20. Noms de domaine
    21. Adaptation et « bidouillages »
    22. Personnalisation des messages d'erreurs HTTP
    23. Interopérabilité et pérennité des ressources
  3. Utilisation des bases SQL
    1. Connexion aux bases SQL
    2. Optimisation des requêtes
  4. Gestion des Pages Perso
    1. Gestion des bases de données SQL
    2. Sauvegardes et intégrité des données
    3. Statistiques de visite / log / historiques
    4. Redirection vers pages / répertoires internes ou domaines externes
    5. Données personnelles (utilisation, gestion, modification et suppression)
    6. Rattachements et transferts de comptes
    7. Perte ou changement des mots de passe
    8. Changement d'adresse
    9. Création de compte pour des associations, des clubs sportifs, des tiers
    10. Désactivation et suppression de comptes
    11. Délais
    12. Gestion des droits des fichiers et répertoires (chmod)
  5. Comportements et contenus proscrits ou incompatibles avec le service
    1. Comportements et contenus illégaux au regard de la loi française
    2. Démarches commerciales ou promotionnelles liées à une marque
    3. Mise à disposition de contrefaçons ou logiciels piratés ou de codes permettant de « cracker » un logiciel et violation du code de la propriété intellectuelle par publication d'œuvres dont vous ne disposez pas des droits de distribution ou de reproduction
    4. Page d'index du compte générée par page d'index automatique d'Apache (Index Of/)
    5. Plate-forme de création de sites ou blogs
    6. « travaux » et « tests »
    7. Restrictions d'accès
    8. Stockage
    9. Fichiers locaux comme base de données
    10. Fichiers « masqués » en vrac
    11. Proxy
    12. Répertoires contenant des centaines/milliers de fichiers
    13. Compromissions / Virus / Phishing
    14. Webcams
    15. Sites à vocation totalement commerciale
    16. Base de données d'une taille démesurée par rapport au site
    17. Fichiers binaires (BLOB, images, fichiers) en base de données
    18. Fichiers servis depuis PHP
    19. Spam
    20. Comptes multiples miroir / doublon / divisions de sites
    21. Référencement déguisé

↥ top

4.1. Les services et logiciels offerts par le services des Pages Perso de Free

Free fourni une offre d'hébergement Web basée sur Apache / PHP / MySQL et/ou PostgreSQL). Cette offre est gratuite, accessible à l'ensemble des personnes morales ou physiques résidentes en France. Elle ne fait pas partie des forfaits 50 Heures ou Freebox. Le trafic y est illimité. La bande passante entre les serveurs de Free varie en fonction de la qualité de votre connexion, de la charge des serveurs et d'un éventuel bridage de la part de votre FAI (Orange briderait le débit descendant à 30 Ko/s par exemple).

Le volume de données maximal (espace FTP + bases SQL) est de 10 Go, mais les sites conformes aux règles d'usage du service peuvent utiliser plus d'espace sans risquer de suspension.

En association avec l'offre d'hébergement Web, il existe un certain nombre d'autres services annexes :

Les versions des logiciels en production (généralement adaptés par Free) :

  • Système : Distribution Linux 64bits ;
  • Apache : 2.2.x (adapté par Free) ;
  • PHP : 4.4.3 ou 5.1.3rc4 (adapté par Free ; phpinfo pour PHP 5 et PHP 4). PHP 5.6 est disponible en version beta ;
  • MySQL : 5.0.83 / Moteur MyISAM (pas de InnoDB pour le moment, mais c'est en projet) ;
  • Lien PHP ⟷ MySQL : mysql (pas de mysqli ou PDO, sauf avec PHP 5.6) ;
  • PhpMyAdmin : 3.1.5 (client MySQL 5.1.61) ;
  • PostgreSQL : 9.1.2 ;
  • Blogs (blog.free.fr) : DotClear 2.0.x

↥ top

4.2. Conception du site web

Voici une liste de conseils et recommandations concernant la création de sites Web sur les Pages Perso de Free, de la demande de création et d'activation du compte à l'optimisation du site, en passant par la sécurisation et les bonnes pratiques de développement. ↥ top

4.2.1. Création de la Pages Perso et des bases SQL

La création d'une Pages Perso est possible depuis l'interface de gestion de l'adresse email associée (si votre adresse email est abc@free.fr, votre Pages Perso aura pour adresse URL http://abc.free.fr). Votre login doit être unique pour l'ensemble du domaine @free.fr, il est donc possible qu'un login que vous souhaitiez activer soit déjà utilisé par un autre utilisateur. Vous devrez donc adapter ou modifier le nom de votre login pour le rendre unique.

Pour activer votre Pages Perso vous devez vous rendre sur votre interface de gestion et vous identifier avec les identifiants du compte pour lequel vous souhaitez activer les Pages Perso puis, sous la rubrique « Gestion de vos pages perso », cliquez sur le lien « Activer votre compte pour les pages personnelles ». Vous devez alors lire attentivement les conditions d'utilisation du service (nous reviendrons tout au long de ce document sur leur signification), puis les valider :

Le service « Pages perso » vous permet de disposer d'un espace disque sur les serveurs de FREE, dédié exclusivement à héberger des pages Web personnelles.

Ces pages personnelles doivent être directement accessibles par un navigateur.

Elles doivent comporter une page d'accueil (index), qui doit permettre d'accéder directement ou indirectement à l'ensemble des fichiers contenus ou stockés sur l'espace disque qui vous est réservé.

L'espace disque dont vous disposez dans le cadre du service « Pages perso » n'est en aucun cas un espace de stockage et/ou de sauvegarde de documents personnels, dans la mesure où tous les éléments présents dans un répertoire Web sont susceptibles d'être indexés par les moteurs de recherche si vous ne prenez aucune mesure de protection.

L'adresse et le contenu des pages personnelles doivent être en conformité avec les lois et réglementations en vigueur, nationales comme internationales, notamment en matière de propriété intellectuelle, littéraire et artistique, et ne contenir aucune information qui pourrait être considérée comme dénigrante, diffamatoire ou injurieuse, ou portant atteinte à la vie privée, aux bonnes mœurs ou à l'ordre public.

Il est rappelé que les pages Web personnelles ne peuvent comporter de données nominatives sans l'accord préalable des personnes concernées et ce dans le respect de la loi du 6 Janvier 1978 relative à l'informatique, aux fichiers et aux libertés.

Vous êtes invité à faire preuve de discernement et de prudence s'agissant des informations auxquelles vous accédez et/ou que vous transmettez. En particulier, il est recommandé à l'utilisateur de limiter toute communication d'informations personnelles vous concernant sur ses pages Web personnelles en vous assurant de faire figurer dans chaque répertoire et sous-répertoire un fichier racine de type index complété le cas échéant par un fichier de restriction d'accès de type .htaccess pour les répertoires contenant des informations sensibles. Il est également rappelé que les informations circulant sur Internet ne sont pas protégées contre des détournements éventuels, contre des virus éventuels, et que toute personne est susceptible de créer un lien donnant accès au site et/ou à des éléments de son contenu, et qu'ainsi la communication intentionnelle ou non intentionnelle de l'adresse des pages Web personnelles est effectuée à vos risques et périls.

Si vous voulez utiliser des scripts PHP clés en main du type Dotclear, Wikini, Spip, PhpBB (liste non exhaustive), veillez à les mettre à jour au fur et à mesure des corrections des développeurs de ces CMS.

Toute application de statistiques, générant un nombre de requêtes disproportionné est proscrite (le compte sera suspendu, voire détruit).

Améliorez aussi la sécurité et évitez le spam de la base de données de vos forums PHP en installant Captcha (https://www.google.com/recaptcha/intro/index.html), en interdisant les utilisateurs « invités », en protégeant les différents dossiers de votre site avec Htaccess (http://www.phpdebutant.org/article51.php). Protégez vous aussi en ayant des mots de passe différents pour votre compte, base SQL et FTP dee votre espace personnel.

Pour vos statistiques, utilisez la version de phpmyvisites que nous mettons à votre disposition http://st.free.fr

Votre espace web sera alors créé dans un délai de trois semaines maximum (c'est activé manuellement, par lots).

Il est également possible d'activer une base SQL (MySQL ou PostgreSQL) : toujours dans votre interface de gestion, sous la même rubrique (en dessous du premier), vous trouverez les deux liens qui vous permettrons d'activer votre base MySQL ou votre base PostgreSQL. Vous pouvez activer les deux votre Pages Perso, mais pour l'une, il faudra faire une demande séparée. L'activation de la base SQL est également de trois semaines maximum (activation manuelle, par lots). Le basculement d'une base à l'autre prend environ une semaine (réalisé par lots). Il est donc intéressant de demander l'activation de la base SQL en même temps que l'activation de la Pages Perso.

Un billet de ce site présente les délais auxquels s'attendre, de manière actualisée.

Il est possible d'utiliser les deux bases SQL (MySQL et PostgreSQL) simultanément sur un même compte.

Il est possible de créer des Pages Perso à partir des comptes secondaires rattachés à un compte principal Accès Gratuit, 50 heures ou ADSL. Il n'existe pas de limite à la création de comptes secondaires, mais il est toutefois conseillé de limiter leur nombre et de créer les comptes correspondants aux associations et clubs sportifs au nom des associations concernées (compte principal Accès Gratuit).

Cette offre est ouverte à toute personne physique ou morale résidant en France. Cependant, il est essentiel de rappeler que le service proposé par Free n'est pas conçu pour l'hébergement de sites Web professionnels ; il est préférable de se tourner vers un hébergement professionnel payant, afin de disposer de garantie de service correspondant aux besoins identifiés.

L'assistance officielle de Free propose également un tutoriel concernant la création des Pages Perso, ici, l'ouverture de compte, , et la création d'adresses email secondaires, . ↥ top

4.2.2 Respect des standards

Cette recommandation est facultative, mais il est souhaitable de la suivre.

Le Web repose sur des règles qui permettent aux différents éléments techniques le composant de se comprendre mutuellement. C'est ce que l'on appelle les standards d'interopérabilité. Il est important de veiller à ce que les pages Web et les ressources offertes depuis votre site respectent ces standards afin d'être affichées de la même manière dans tous les navigateurs, d'être accessible par tous les clients Web (robots d'indexation, visiteurs humains depuis ordinateurs ou smartphones, lecteurs de flux…).

Les standards ne permettent pas toujours de répondre à toutes les situations, notamment lors de l'utilisation de morceaux de code ou de préfixes propriétaires (Open Graph Facebook®, préfixes CSS…). Il faut les utiliser avec logique et discernement, selon ses besoins : la structure du document doit être valide ; les « paillettes » peuvent ne pas l'être, sans pour autant dégrader l'expérience de navigation de l'utilisateur (à l'exception des documents XML et XHTML servis en tant que XML).

Différents organismes sont en charge de définir ces standards, le plus connu d'entre eux est le World Wide Web Consorsium (W3C), qui proposent également différents outils permettant de vérifier qu'un site ou une page Web de celui-ci est respectueux de ces standards : Validator (syntaxe HTML et XML), Jigsaw (CSS) et Unicorn (validation générale : HTML et XML, CSS, RSS et Atom, version mobile).

Vous devez également prendre en considération l'accessibilité des contenus à destination des visiteurs souffrant d'un handicap ou de déficience visuelle ou auditive. Des standards permettent de réaliser des sites Web respectueux de ces publics, regroupés au sein de la Web Accessibility Initiative (WAI) du W3C, qui défini des normes et techniques à suivre pour améliorer l'expérience des utilisateurs handicapés. En outre, l'État français à publié une série de recommandations sur ce sujet résumées ici et dans leur intégralité par là dans le cadre de la mission pour la modernisation de l'État (ces recommandations sont juridiquement contraignant pour les administrations et les établissements publics français).

Pour comprendre l'utilité des standards du Web, un très bon article est publié par OpenWeb Group.

↥ top

4.2.3. Gestion du cache

Un site Web est un ensemble de ressources liées entre-elles. La plupart du temps, ces ressources sont chargées par le navigateur lors de la consultation d'une page Web. Chaque fois que la page est consultée, le client vérifie si la ressource a changée depuis la dernière consultation et si elle est présente dans son « cache ». Si la ressource est présente dans le cache, et n'a pas changée sur le serveur, le client la charge localement, depuis le disque. Cette opération est très rapide. Par contre, si la ressource a été modifiée sur le serveur, elle est de nouveau téléchargée, ce qui ralenti considérablement l'affichage du site Web.

Les caches sont nombreux sur le Web, au niveau des serveurs, des fournisseurs d'accès, des serveurs mandataires, des proxy… Ils sont conçus pour conserver des copies de certaines ressources sous certaines conditions et dans certaines circonstances, si les ressources proposées par les sites Web l'autorisent.

Bien que le serveur Apache de Free ne permette pas de modifier les en-têtes HTTP pour ajouter des directives propres comme, par exemple, Cache-Control, certaines astuces peuvent améliorer sensiblement les performances d'affichage et de réponse du site Web. Il est notamment possible d'utiliser des balises meta name="http-equiv" content="<directive>" en remplacement des directives Header set du serveur Apache.

Nous vous invitons à lire avec intérêt le texte proposé par Mark Nottingham Un tutoriel de la mise en cache pour les auteurs Web et les webmestres. Vous y trouverez des bonnes pratiques a adopter pour rendre votre site Internet plus rapide, simplement en facilitant la mise en cache des ressources qui peuvent l'être. ↥ top

4.2.4. Conception du site en local, sur votre machine

En raison de la grande mutualisation des ressources d'hébergement, il est essentiel de développer votre site localement, sur votre propre matériel afin d'éviter les abus par des requêtes disproportionnées lors de la vérification de votre code ou la présence de scripts non sécurisés. Il s'agit d'un des points de conformité aux règles du service que nous évoquerons également par la suite.

Si vous utilisez des logiciels de bureau générant des pages statiques (BlueGriffon, Dreamweaver, Cariboost/WebAccapella, Coda, TextPattern, BBEdit, Sublime Text, etc.), vous concevez déjà votre site localement, vous pouvez donc passer rapidement sur cette section. Par contre, si vous souhaitez utiliser des CMS ou des scripts PHP développés par vous-même, il est important de tester et d'installer votre site localement, et de n'envoyer sur les Pages Perso qu'un site totalement fonctionnel. Pour ce faire, vous pouvez utiliser un système de type xAMP.

Développer votre site localement permet de disposer, en outre, d'une sauvegarde, miroir de votre site sur le serveur, au cas où une perte de données dispraîtrait sur les serveurs de Free. Vous pouvez également réaliser une sauvegarde de vos données par vous-même, reportez-vous à la section correspondante de ce billet.

Un billet relativement complet présente la méthode et les logiciels nécessaires. Merci de vous y référer. ↥ top

4.2.5. Transférer les données vers les serveurs de Free

Une fois votre compte activé, vous pouvez déposer vos données sur votre espace Web ou transférer votre base SQL vers les serveurs de Free. Pour ce faire, vous pouvez utiliser un logiciel client FTP et les outils de gestion de base de données SQL mis à votre disposition. Votre espace Web n'est pas un espace d'échange de fichiers par FTP ; pour un tel usage, vous pouvez utiliser le service dl.free.fr, Framadrop ou tout autre service de partage de fichier de votre choix.

Connexion à votre espace Web par FTP :

Pour vous connecter à votre espace Web par FTP, deux solutions s'offre à vous : le client WebFTP de Free ou un logiciel client FTP graphique (comme, par exemple, FileZilla) ou en ligne de commande (comme, par exemple, lftp). Un billet du site présente rapidement les paramètres de connexion nécessaires.

  • Serveur FTP : ftpperso.free.fr ou, si votre fournisseur d'accès Internet est Free, votrecompte.free.fr ;
  • Identifiant : votre identifiant de compte (sans le @free.fr) ;
  • Mot de passe : votre mot de passe FTP (ou à défaut, votre mot de passe de compte) ;
  • Connexions simultanées : 1

Il est fortement déconseillé d'utiliser les clients FTP des navigateurs pour mettre à jour les fichiers de votre site, ces derniers n'étant pas conçus pour cela. La durée d'une session FTP ne peut excéder 2 heures et la taille maximale d'un fichier est de 1 Go. Le timeout est de 45 secondes.

Connexion à l'administration des bases SQL :

Pour administrer les bases SQL, il vous suffit de vous connecter à l'interface de gestion correspondant à votre base SQL. Vous ne devez en aucun cas chercher à installer une solution de gestion de base SQL (phpMyAdmin ou pgMyAdmin par exemple) sur votre propre compte :

Un billet du site liste l'ensemble des adresses URL des services proposés par Free.

Les connexions à l'interface de gestion des bases SQL sont possibles depuis le monde entier. Les connexions aux serveurs FTP sont cependant limitées aux seules IP françaises. Si vous résidez à l'étranger, ou êtes en voyage, il vous faudra utiliser un VPN, un proxy FTP ou un client webFTP disposant d'une IP française pour vous connecter à votre compte.

Attention : les connexions aux serveurs de Free ne sont pas chiffrées (sécurisées) ; n'utilisez des services VPN ou proxy que si vous avez confiance dans l'intégrité du prestataire utilisé. Dans le cas contraire, vos identifiants peuvent être dérobés facilement.

↥ top

4.2.6. Développement de scripts et pages PHP « fait main »

Vous souhaitez peut-être développer par vous-même quelques pages de votre site, par plaisir ou parce qu'aucune solution « clefs en main » ne correspond à vos besoins. Il est important de connaître quelques règles de base en développement et utilisation de scripts PHP personnels. Pour cela, il est utile de se documenter via la documentation de PHP et de MySQL.

Premièrement, vous devez développer et tester votre site localement, sur votre propre matériel, avec les outils adaptés (voir la section 4.2.4 Conception du site en local, sur votre machine) – une évidence ;-) –, puis envoyer temporairement vos scripts sur les serveurs de Free, afin de tester les effets de bord possibles dus à la configuration spécifique de cet hébergeur. Pour ce faire, il est important de centraliser les « tests » dans un seul répertoire que l'on protégera de tous accès, à l'exception de votre propre adresse IP. Il faut placer le code suivant dans un fichier .htaccess à la racine de ce répertoire :

<IfDefine Free>
Order Deny,Allow
Deny from all
Allow from 000.000.000.000
</IfDefine>

Par ailleurs, il est important de suivre les bonnes pratiques de développement et de sécurité correspondantes à votre langage de programmation (PHP, MySQL, PostgreSQL, JavaScript…). Vous devez toujours garder à l'esprit qu'il ne faut jamais faire confiance à l'utilisateur qui visite votre site et que les failles de sécurité et les mauvaises pratiques ont un impact sur votre site et sur l'ensemble de l'infrastructure, à un degré ou à un autre. La première de toutes les bonnes pratiques, en matière de développement Web, est de réserver le traitement des données issues de site Web dynamiques à la base de données SQL, et la mise en forme des données et autre à PHP/JavaScript/HTML/CSS. Des conseils et bonnes pratiques sont largement disponibles sur la toile : par exemple sur les sites WebPlatform.org, Dev.Opera, Mozilla Developer Network, AlsaCréations.com, StackExchange ou encore Google Style Guide.

Ce document n'a pas pour objet d'être un tutoriel sur les bonnes pratiques à suivre en matière de développement. Il se contente de lister un ensemble de ressources qui présentent, pour chaque langage de programmation, en plus des sites « globaux » (présentés dans le paragraphe précédent), des tutoriaux spécifiques disponibles sur le Web. Nous nous contentons ici de lister les langages de programmation les plus utilisés sur le service. Vous êtes libre d'utiliser d'autres langages, si ceux-ci sont compatibles avec l'infrastructure d'hébergement des Pages Perso de Free.

Pensez à créer les répertoires /sessions/ et /tmp/ à la racine de votre compte, pour y stocker les sessions et les données temporaires, si nécessaire. L'activation de PHP 5.1 est possible via la directive php 1 dans le fichier .htaccess. PHP 5.6 est disponible en version beta. ↥ top

4.2.6.1. PHP

PHP est le langage de programmation « côté serveur » le plus utilisé sur le Web. Il est « relativement » simple et il est fréquent que, lors de son apprentissage, les questions de sécurité soient négligées car de nombreux développeurs sont autodidactes. Il peut poser un certain nombre de problèmes de sécurité pour les serveurs Web, si les scripts sont mal pensés et codés.

Voici quelques ressources :

Pour disposer de PHP 5.1.3rc4, il faut utiliser une directive spécifique à Free, qui génère une erreur 500 sur les autres serveurs. Il est possible de rendre cette directive « passe-partout » en utilisant les balises conditionnelles <IfDefine></IfDefine> (vous pouvez également ajouter d'autres directives spécifiques au serveur de Free à l'intérieur de ces balises) :

<IfDefine Free>
php 1
</IfDefine>

Voici la liste des fonctions PHP connues pour être désactivées (ou sans effet) sur les exécuteurs PHP de Free :

  • chown
  • chmod
  • curl
  • get_current_user
  • php_uname
  • putenv
  • set_time_limit
  • getmyuid
  • getmypid
  • dl
  • ini_alter
  • ini_restore
  • ini_set
  • exec
  • passthru
  • system
  • popen
  • pclose
  • leak
  • mysql_list_dbs
  • listen
  • chgrp
  • disk_total_space
  • disk_free_space
  • rmdir
  • realpath
  • tmpfile
  • link
  • shell_exec
  • proc_open
  • chroot
  • openlog
  • closelog
  • syslog
  • flock
  • socket_create_listen
  • socket_accept
  • socket_listen
  • sleep
  • usleep
  • umask
  • set_include_path
  • restore_include_path
  • symlink
  • setlocale
  • imagerotate

↥ top

4.2.6.2. JavaScript

JavaScript est sans doute le langage de script le plus utilisé « côté client », bien qu'un certain nombre d'utilisateurs du Web n'en dispose pas ou le désactive (notamment tous les robots d'indexation des moteurs de recherche). Il est utilisé pour améliorer et enrichir l'expérience utilisateur sur un site ou une page. De par sa nature, il est difficile de le corriger et peut poser de très gros problèmes de sécurité pour l'ordinateur de l'utilisateur si les scripts sont mal pensés et codés. Ne vérifiez jamais de variables PHP/SQL par des scripts JavaScript.

Voici quelques ressources :

↥ top

4.2.6.3. MySQL

MySQL est sans doute le système de base de données SQL le plus connu au monde, souvent associé à des scripts PHP. Tout comme PHP, son apprentissage est simple, le plus souvent en autodidacte. Si, sur un serveur personnel ou dédié, des erreurs et l'absence d'optimisation ne sont pas problématiques, elles peuvent être très handicapantes sur un hébergement mutualisé.

Il faut notamment prêter attention à l'optimisation des requetes depuis les scripts PHP et à la construction/organisation de la base de données pour tirer pleinement parti des serveurs de Free. Vos sites gagneront ainsi en vitesse de chargement et en fluidité.

Voici quelques ressources :

↥ top

4.2.6.4. PostgreSQL

PostgreSQL (PgSQL ou Postgre) est un système de base de données relationnelle et objet. Il peut stocker plus de types de données que les types traditionnels entier, caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser l'héritage de type, etc. PostgreSQL est très utilisé dans le milieu de la recherche scientifique et dans les applications « lourdes ».

Voici quelques ressources :

↥ top

4.2.6.5. (X)HTML/CSS

(X)HTML et CSS sont deux des plus anciens langages de programmation du Web et sont le fondement des pages visualisables dans les navigateurs. Ils présentent peu de failles de sécurité et leurs derniers développements (HTML5 et CSS3) permettent de réaliser un très grand nombre de tâches autrefois confiées à des scripts. Comme pour PHP et MySQL, leur apprentissage est simple et souvent réalisé en autodidacte. Leur mauvaise implémentation ne conduit généralement qu'à des erreurs d'affichage des pages dans les navigateurs ou des lenteurs de chargement.

La syntaxe de programmation de ces deux langages et soumise à des standards internationaux permettant l'interopérabilité entre les navigateurs cf. section « 4.2.2 Respect des standards » de ce document). Il est possible de créer des pages utilisant (X)HTML et CSS depuis un vaste panel d'applications : des scripts au codage à la main, en passant par des applications de bureau et les suites bureautiques.

Il existe un très grand nombre de ressources disponibles sur le Net, nous n'en citerons que quelques unes :

↥ top

4.2.6.6 Server Side Includes (SSI)

Les Server Side Includes (ou SSI) sont un ensemble de directives créées pour être interprétées par un serveur Apache lorsqu'il sert un document HTML. Elles permettent d'ajouter du contenu généré dynamiquement à une page HTML préexistante, sans avoir à servir la page entière via un script PHP. Ce langage tire son nom de sa principale utilisation : inclure plusieurs fichiers pour construire et servir à la demande un document HTML (en permettant, par exemple, de conserver dans un fichier des portions de page HTML qui se retrouvent à l'identique dans toutes les pages d'un site). Ce n'est pas là leur seule fonction, bien au contraire.

Certaines directives sont désactivées sur les serveurs de Free, notamment la directive cmd.

Voici quelques ressources :

↥ top

4.2.7. Appels PHP externes à votre compte

Les appels externes depuis vos pages PHP sont possibles, mais soumis à une « liste blanche » maintenue par l'administrateur du service. Cette liste est valable pour tous les sites Pages Perso hébergés par Free. Vous pouvez donc, avant de faire votre demande, vérifier que l'accès à la ressource que vous souhaitez récupérer n'est pas déjà accessible.

Cette procédure a été mise en place à la suite des nombreux abus constatés et des tentatives d'intrusions dans des systèmes informatiques tiers depuis des comptes compromis. Elle permet également de maintenir un niveau de réactivité des requêtes acceptable.

Les demandes de mise en « liste blanche » doivent être adressées à l'administrateur du service des Pages Perso, sur le forum Usenet proxad.free.services.pagesperso, en précisant dans votre message :

  • le nom du compte pour lequel vous souhaitez faire la demande ;
  • l'adresse URL complète à laquelle vous souhaitez avoir accès (et pourquoi) ;
  • la méthode que vous allez utiliser ainsi que la fréquence des accès.

Il est possible d'utiliser des expressions régulières ou des *, pour les variables de l'URL (en précisant toutefois la nature de celles-ci et en indiquant un exemple réel) lors de la demande. Par exemple : http://www.domain.tld/chemin/vers/*/fichier?var1=[0-9]+&var2=[a-z]+, où * correspond au nom d'un club sportif et var1=[0-9]+&var2=[a-z]+ aux résultats du championnat pour les diverses équipes du club). Il est également possible de demander la mise en « liste blanche » de plusieurs URL d'un même ou de plusieurs domaines dans une même demande.

Note : l'accès à des ressources externes depuis des scripts PHP est, pour le moment, impossible depuis PHP 4 et PHP 5.1.3. Les accès sont de nouveau fonctionnels avec la version PHP 5.6.x (actuellement en beta-test) et limité, pour le moment, aux URL de mise à jour de CMS, de captcha, etc. La possibilité d'inclure des ressources « personnelles » sera de nouveau possible prochainement. ↥ top

4.2.8. Utilisation de scripts et CMS (clef-en-main)

La démocratisation de la création de sites Web dynamiques ou interactifs a été rendue possible par la généralisation de Système de Gestion de Contenu (CMS, en anglais). Cette famille de logiciels permet de concevoir et déployer rapidement un site Web. Parmi les plus connus : Wordpress, Dotclear, SPIP, Joomla, Drupal, CMS Made Simple, PhpBB, etc.

Leur simplicité de gestion permet une mise en place rapide, même par des personnes ne disposant d'aucune connaissances techniques, de sites vitrines, forums, blogs, portails, gestionnaires de liens, LMS… Le plus souvent simple d'accès (au moins pour les fonctions de base), ils sont très largement répandus sur la toile en raison de la gratuité de la majorité d'entre eux et les possibilités de personnalisation, presque infinies, offertes par ces outils et leurs extensions tierces.

Le vaste choix de logiciels disponibles est le fait de développeurs (ou de communautés de développeurs) qui réalisent des choix techniques et fonctionnels qui peuvent être pertinents pour tel ou tel besoin, mais qui peuvent parfois rendre ces CMS incompatibles avec les hébergements Web à forte contrainte, comme c'est le cas pour le service d'hébergement des Pages Perso. Ainsi, il est strictement interdit d'utiliser tout CMS n'utilisant pas une base de données MySQL ou PostgreSQL pour stocker ses données, de créer un nombre disproportionné de requêtes (par des statistiques et logs propres au site en base ou sur disque), les abus en termes d'occupation de ressources mémoire, processeur ou disque (BLOB volumineux, envoi de fichiers au travers de PHP, compression abusive de ressources à la volée…). Il faut veiller à ce que votre CMS et ses extensions soient correctement configurés. Une liste non officielle et non exhaustive des CMS et scripts autorisés ou interdits est disponible dans un billet de ce site.

Par ailleurs, en raison de leur popularité, les CMS sont l'objet d'attaques répétées de la part de pirates informatiques qui peuvent y trouver des portes d'accès facile à votre compte pour le détourner à des fins peu recommandables si vous ne maintenez pas à jour le CMS – et les éventuelles extensions ajoutées – en appliquant régulièrement les correctifs publiés par les développeurs et en suivant les recommandations de sécurité proposée par les communautés des CMS utilisés.

Les « tests » ne sont pas autorisés sur les Pages Perso (ou temporairement, pour tester une fonctionnalité), veillez donc à installer votre site sur votre machine avant de le déployer sur les serveurs de Free (cf. sections correspondantes de ce document).

Pensez à créer les répertoires /sessions/ et /tmp/ à la racine de votre compte, pour y stocker les sessions et les données temporaires, si nécessaire. L'activation de PHP 5.1 est possible via la directive php 1 dans le fichier .htaccess. PHP 5.6 est disponible en version beta.

Note: En l'état actuel de l'offre d'hébergement de Free, un certain nombre de CMS nécessitent la mise en place d'astuces ou de hacks pour s'installer et fonctionner correctement chez Free. Une liste non-exhaustive des astuces disponibles sur le Web pour les CMS les plus utilisés est publiée dans un billet de ce site. ↥ top

4.2.9. Nom, casse et jeux de caractères des fichiers sur le site Web

Alors que, sur votre ordinateur personnel, vous pouvez utiliser les noms de fichiers que vous souhaitez, il est important de suivre ces quelques règles de base concernant la dénomination des fichiers sur un serveur Web, afin limiter les problèmes d'interopérabilité.

Un serveur Web est un logiciel qui offre à ces visiteurs des fichiers sous un protocole spécifique : HTTP. Or, ce protocole est « ancien » (pour l'informatique) et peut poser des problèmes avec les noms de fichiers ou de répertoires qui ne sont pas basés sur les caractères ASCII (a-z, A-Z, 0-9-_.,,). Leur accès, lecture, édition et suppression peut s'avérer difficile si ils contiennent des espaces avant, dans ou après le nom, ou encore des caractères accentués ou non latins. Veillez à nommer vos fichiers et répertoires sans caractère accentué, sans espace, sans symbole interdit (#/()?[]:@…) réservé aux protocoles et au système de fichier.

Les serveurs de Free fonctionnent sous distribution Linux. Contrairement à Microsoft Windows, ce système d'exploitation fait la différence entre majuscules et minuscules. Pensez-y lors du développement de votre site et privilégiez la casse minuscule lorsque vous (re)nommez vos fichiers et répertoires.

Nommer vos fichiers et répertoires de manière intelligible, afin de faciliter la logique de la consultation du site par vos visiteurs et simplifier les opérations de maintenance.

Le jeu de caractères recommandé pour les ressources textuelles visualisables dans un navigateur Web est UTF-8 (sans BOM). Le jeux de caractères recommandé pour les fichiers de configuration (.htaccess) est ASCII (mais UTF-8 sans BOM fonctionnera très bien également). Les fichiers de configuration et les scripts qui doivent être lus ou exécutés sur le serveur (PHP, etc.) doivent contenir des retours chariot de type Linux/Unix.

Si vous ne parvenez pas supprimer des fichiers ou répertoires, vous pouvez suivre les conseils présentés sur ce billet du site. ↥ top

4.2.10. Optimisation des ressources du site Web

Bien que les connexions Internet haut débit se généralisent rapidement, une grande partie des visiteurs des sites Web utilisent des connexions dont la bande passante est limitée (blocage FAI, terminaux mobiles et tablettes, zones rurales…). Il est essentiel de concevoir des sites Web légers, se chargeant rapidement sur tous les terminaux et ne surchargeant pas les serveurs de Free. Ces modifications sont relativement simples à mettre en place pour la majorité d'entre-elles.

Il vous appartient de :

  • Vérifier que le code (X)HTML, CSS, XML, XSL est valide (cf. section correspondante de ce document) ;
  • Concevoir et utiliser des scripts PHP et JavaScripts dont le code est optimisé, « débuggé » et répondant aux critères d'interopérabilité ;
  • Privilégier les guillemets simples (' au lieu de ") dans vos scripts, mais pas dans vos pages HTML ;
  • Privilégier les fonctions echo au lieu de print dans vos scripts PHP ;
  • Mettre les résultats des requêtes PHP/SQL en cache de fichiers statiques de manière intelligente ;
  • Utiliser le doctype HTML5 pour les documents servis au format text/html et application/xhtml+xml ;
  • Éviter les cadres (frame) lors de la conception des pages de votre site. Préférez les Server Side Includes (SSI) ;
  • Préciser le jeu de caractère des ressources textuelles dans les en-têtes HTTP via les directives AddCharset et AddDefaultCharset ;
  • Compresser, minifier et concaténer les ressources textuelles externes (CSS, JavaScript), conservez les copies de travail sur votre machine ;
  • Proposer, sur les sites en production, des ressources textuelles débarrassées du code « inutile » (commentaires, indentation, etc. Conservez les copies de travail sur votre machine) ;
  • Inclure le code JavaScript et CSS dans des fichiers externes, appelés depuis le <head> de vos pages HTML ou inclus directement dans le <head>, si il est peu volumineux ;
  • Placer un fichier favicon.ico à la racine de votre compte (de moins de 2 Ko), même si ce fichier est vide ;
  • Optimiser les fichiers images inclus dans les pages Web et en préciser les dimensions (vous pouvez toujours proposer des liens vers les fichiers en haute définition en consultation ou téléchargement) ;
  • Ne pas utiliser des formats de fichier dépréciés (.bmp, .rtf…) si cela vous est possible ;
  • Utiliser les data URI encodés en base64 ou les fichiers MHTML pour les fichiers images à bon escient ;
  • Limiter le nombre de requêtes par page en utilisant des sprites CSS (il est parfois nécessaire de réaliser des compromis entre design et rapidité de chargement) ;
  • Spécifier le type et l'encodage (et éventuellement la langue) des ressources servies depuis votre site Web (via les directives Apache AddType, AddEncoding et AddLanguage) si le serveur de Free ne le fait pas par défaut, afin de permettre une meilleure expérience utilisateur à vos visiteurs et augmenter leur sécurité et celle de votre site (ceci est valable pour les pages et pour les fichiers en téléchargements) ;
  • Proposer des ressources dans des formats pérennes, accessibles et interopérables (pas nécessairement des formats libres, mais des formats ouverts) afin de permettre la diffusion et la lecture de vos documents de manière optimale. Une recommandation des pouvoirs publics existe sur ces questions avec le Référentiel Général d'Interopérabilité v.2 (Fichier PDF) et le Socle Interministériel de Logiciels Libres (SILL 2016 au format PDF) ;
  • Proposer les ressources en téléchargement dans des formats d'archives compressées multiplateformes et gratuit, si celles-ci le permettent et ne sont pas déjà optimisées (comme c'est déjà le cas par exemple pour les fichiers PDF, SVGZ, PNG, JPG, etc.).

Un billet du site détaille quelques-unes de ces optimisations plus précisément. Vous pouvez également chercher à limiter l'indexation par les robots de certaines ressources de votre site, qui ne sont pas importantes pour le site (fichiers inclus, CSS, JS…). Un billet de ce site présente un ensemble de recommendation sur ce dernier point. ↥ top

4.2.11. Gestion des chemins relatifs des scripts PHP

Les scripts PHP, qu'ils soient écrits pas vous-même ou que vous utilisiez un CMS clef-en-main, doivent connaître le chemin absolu du script lu, depuis la racine du système de fichier du serveur. L'administrateur du service des Pages Perso de Free peut, de temps à autre, modifier la localisation d'un compte sur le serveur (changement de serveur Apache ou de serveur de stockage) afin d'optimiser les ressources entre les serveurs.

Si vos scripts sont conçus pour utiliser les variables du serveur, il n'y à pas de problème, votre site continuera de fonctionner normalement. Si, au contraire, vos scripts utilisent des chemins « en dur », les fonctions include(); et require(); ne pourront être réalisées avec succès et le serveur retournera des erreurs 500 ou des warning PHP. Pour éviter ces désagréments, vous devez utiliser les variables serveurs $_SERVER['DOCUMENT ROOT'] ou dirname(); en remplacement des chemins absolus inscrit en dur dans un script ou un fichier de configuration. Si vous utilisez des CMS, il vous faudra parfois adapter le code de ceux-ci vous-même. ↥ top

4.2.12. Sécurisation du compte

« Internet n'est pas un bac à sable ! » répète à l'envie le responsable du service des Pages Perso. C'est effectivement le cas, les sites Web, les adresses de courriels et les comptes utilisateurs sont sous la menace permanente d'internautes et de robots peu scrupuleux. Il n'existe pas non plus de « logiciel » résolvant l'ensemble des problèmes de sécurité. La sécurité des comptes est d'avantage un processus qu'un produit, comme le soulignent justement les développeurs d'OpenBSD.

Aucun site web n'est sûr à 100%. La société Free assure la sécurité du « contenant » (serveurs, système de base de données…), mais pas des données elles-mêmes. Il vous incombe de sauvegarder vos données, sécuriser vos accès, vos CMS et scripts PHP et JavaScript, vos requêtes SQL, etc. en gardant en mémoire qu'il ne faut jamais faire confiance à l'utilisateur qui visite votre site.

La règle de base : utilisez des outils et des langages de programmation que vous maîtrisez. Il n'y a pas de honte à créer un site en HTML (surtout avec les derniers développements du HTML5/CSS3), d'utiliser des SSI au lieu de PHP, etc. Vous pouvez également confier le développement et la maintenance de votre site à une personne de confiance disposant des compétences nécessaires à votre projet. Maintenez également à jour votre ordinateur personnel (système d'exploitation, plugins de navigateurs et logiciels installés).

Première ligne de défense : les mots de passe. Free offre la possibilité de personnaliser les mots de passe de vos comptes et des accès FTP et SQL. Il est important de choisir des mots de passe robustes et différenciés. Tout est expliqué dans un billet de ce site.

Seconde ligne de défense : le serveur Apache. Il est administré et configuré par Free de manière stricte, mais vous pouvez en augmenter encore la sécurité à l'aide des directives que vous pouvez placer dans les fichiers .htaccess. Il est essentiel de limiter l'accès au listing des répertoires de votre site via la directive Options -Indexes. Ainsi, les visiteurs ne peuvent visualiser le contenu des répertoires, ils doivent suivre les liens présentés dans vos pages. Vous pouvez également limiter ou interdire l'accès extérieur à certaines ressources sensibles de votre site. De même, selon la nature de votre site, il peut être intéressant de désactiver certaines fonctions du serveur qui vous sont inutiles (inclusion de fichier, utilisation de scripts PHP…). Il faut dans ce cas regarder du côté des fichiers .htaccess.

Troisième ligne de défense : les scripts. Les langages de programmation serveur (PHP/SQL) sont des langages puissants vous permettant d'interagir avec votre compte pour afficher, éditer, créer ou supprimer des données. Il faut toujours être certain que les données que vous exploitez depuis les pages de votre site ont été vérifiées et sont conformes à ce que vous attendez. Il ne faut jamais utiliser une variable provenant de « l'extérieur » sans en avoir vérifié le contenu ou la valeur au préalable. De plus, les langages de programmation sont tous sujets à des failles de sécurité. Que vos pages soient écrites par vous-même ou que vous utilisiez un CMS ou des scripts/frameworks clef-en-main, il vous incombe de suivre les bulletins d'information publiés par les développeurs de ces langages, scripts/frameworks, logiciels ou CMS (ainsi que leurs extensions tierces) et d'appliquer les correctifs publiés. Suivez les recommandations de sécurité proposées par les communautés de développeurs des scripts et CMS que vous utilisez. Toutefois, n'appliquez jamais ce que ne vous ne comprenez pas parfaitement. Il est en effet préférable de comprendre les procédures et les modifications avant de les appliquer, afin d'en comprendre l'utilité, les risques ou les effets de bord qui en résulteraient.

Quatrième ligne de défense : surveillez votre site. Il est essentiel de vérifier régulièrement votre site pour y déceler des « signes » suspects. Cette vérification doit inclure une vérification visuelle, une vérification de la présence de fichier(s) que vous n'avez pas placé(s) vous-même (grâce à ⬇︎ ce script), une vérification des dates de création et de modification des fichiers et des entrées dans la base SQL, une vérification des fichiers par anti-virus/anti-malware (notamment les archives) ainsi qu'une une vérification du code de votre site, à la recherche de morceaux de codes malicieux, de iframe/frame vérolées, de directives « étranges » dans les fichiers .htaccess

Dernière ligne de défense : la protection de vos formulaires et de votre site contre le « spam » et les robots par Deny from dans le .htaccess ou captcha, ainsi qu'une bonne gestion de l'indexation de votre site par les robots des moteurs de recherche (fichiers robots.txt, en-tête HTTP X-Robots-Tag ou balise <meta name="robots"…> afin d'éviter que ces mêmes moteurs de recherche puissent servir de relais à la découverte de failles de sécurité sur votre site.

Ne communiquez jamais vos identifiants à des tiers, ou sur des sites Web dont vous n'êtes pas certains qu'ils appartiennent à la société Free et utilisent un protocole chiffré (https://…). De la même manière, ne communiquez jamais vos mots de passe sur le forum Usenet d'assistance des Pages Perso car ce forum est public. Abstenez-vous de vous connecter à votre compte depuis des ordinateurs dont vous n'êtes pas sûr de la sécurité (préférez des systèmes d'exploitation sur supports amovibles). Nous vous encourageons également à suivre les bonnes pratiques de navigation et de sécurité informatique.

Référez-vous à ce billet pour des informations complémentaires. ↥ top

4.2.12.1. En cas d'intrusion, de virus ou de failles

Si vous découvrez des « signes suspects », voici quelques conseils à ne pas oublier et à appliquer le plus rapidement possible :

  1. Sécurisez votre ordinateur en appliquant les mises à jours proposées par les éditeurs de votre système d'exploitation et de vos logiciels. Utilisez une solution de sécurité incluant anti-virus et firewall. Effectuez une analyse anti-virus/anti-malware profonde de votre système et de votre site (en local) ;
  2. Changez et diversifiez les mots de passe de compte email, accès FTP et SQL (si le compte touché est un compte principal, changez les mots de passe du compte puis, après 4 heures d'attente, de tous les autres comptes secondaires rattachés à celui-ci) ;
  3. Bloquez temporairement tous les accès HTTP à votre site par la directive Deny from all dans un fichier .htaccess à la racine de votre compte ;
  4. Travaillez sur une copie locale de votre site ;
  5. Mettez à jour vos scripts, CMS et extensions tierces vers les dernières versions stables publiées puis effacer l'ensemble des fichiers et données de l'espace Web et de la base SQL (en prenant soin de réaliser une sauvegarde préalable) avant de déposer votre nouvelle version saine et corrigée.

Vous trouverez plus d'informations dans deux billets de ce site, ici et . ↥ top

4.2.13. Configuration et optimisation du serveur

Un site Web repose sur un serveur capable de répondre aux requêtes des visiteurs et d'assurer une sécurité des données minimales. Ces réglages peuvent être réalisés depuis les fichiers de configuration distribués (.htaccess). Les serveurs Web de Free sont propulsés par Apache, un logiciel serveur capable de réaliser de très nombreuses tâches.

Sur un hébergement mutualisé tel que celui de Free, la configuration principale est commune à l'ensemble des sites hébergés et administrée par le responsable du service. Les utilisateurs peuvent cependant modifier et adapter quelques fonctions du serveur afin de répondre au mieux à leurs besoins, au travers des fichiers .htaccess.

En utilisant les balises conditionnelles <IfDefine></IfDefine>, vous pouvez ajouter ou supprimer des directives spécifiques au serveur de Free :

<IfDefine Free>
php 1
</IfDefine>

Pour exclure des directives de la configuration sur le serveur de Free :

<IfDefine !Free>
AddType application/x-httpd-php5 .php
</IfDefine>

Un billet du site présente en détail le fonctionnement de ce fichier et les directives autorisées. ↥ top

4.2.14. Limitation des abus

Les comptes disposent de ressources limitées et partagées entre tous les utilisateurs du service. De manière générale, chaque utilisateur ne doit pas perdre de vue qu'il s'agit d'un hébergement mutualisé. Par conséquent, chacun se doit d'utiliser les ressources mises à disposition, avec parcimonie et à bon escient, en évitant autant que possible toute action susceptible de nuire au bon fonctionnement et aux performances globales du service et des serveurs. Les conséquences les plus visibles de ces abus sont des lenteurs d'affichage de votre site, l'impossibilité d'y accéder ou des erreurs 500 (Internal Server Error) à répétition. L'administrateur impose un certain nombre de limitations. Ces limitations sont destinées à prévenir un dysfonctionnement du système en raison de scripts « buggés », tournant en boucle ou « trop gourmands », limitant les nuisances issues de la mise en production de votre site :

  • Le temps maximal d'exécution d'un script PHP est de 20 secondes ;
  • Le temps maximal de réception d'une requête PHP ou SQL est de 60 secondes ;
  • La mémoire maximale pour l'exécution d'un script est de 32 Mo (64 Mo si utilisation de PHP 5.6.x) ;
  • La taille maximale d'une requête POST est de 2 Mo ;
  • La taille maximale d'envoi d'un fichier vers le serveur est de 2 Mo ;
  • Le mode Safe est actif (à l'exception de PHP 5.6.x) ;
  • Le nombre de requêtes SQL maximal, à la même milliseconde, pour le même compte, est de 1.

Ces limitations sont « préventives » mais certains comportements sont également mal vus. La liste suivante complète celle publiée sur le site, dans ce billet (merci de lire les deux documents) :

  • Il ne faut pas utiliser PHP pour compresser des ressources statiques (CSS, JavaScript…), utilisez la pré-compression par GZip ;
  • Limitez autant que possible la génération de fichier statiques (CSS, JavaScript, archives…) depuis des scripts PHP ;
  • Ne pas redimensionner ou transformer d'image en quantité sur le serveur de Free ;
  • Évitez BLOB et fichiers binaires dans la base de données SQL ;
  • Évitez les redirections par PHP ou JavaScript, préférez les directives Apache via un fichier .htaccess ;
  • Les fichiers utilisés comme base de données sont interdit (cf. section correspondante de ce document) ;
  • Ne pas servir de fichier depuis PHP (utiliser des liens directs vers vos fichiers ou les fichier type-map) ;
  • Pas de requêtes récurrentes à une ressource externe, conservez-la en cache durant un certain temps ;
  • Évitez, autant que possible, d'éditer ou enregistrer de multiples fois un fichier depuis le serveur, par FTP ; récupérez-le sur votre machine, éditez-le, vérifier que toutes les corrections sont effectuées puis renvoyez-le sur le serveur ;
  • Appeler les ressources de votre site depuis le disque (chemins relatifs au document ou à la racine du site), sans passer par le réseau (vous ne pourrez pas le faire depuis des scripts PHP) ;
  • Des fichiers images optimisées « pour le Web » (taille, résolution, pas de miniatures incluses, pas de données EXIF superflues) ;
  • Les requêtes SQL doivent être optimisées avec, éventuellement, mise en cache dans une fichier statique pour réutilisation ultérieure (mais correctement configuré) ;
  • Limiter de la durée d'une requête ou de la connexion aux bases SQL ;
  • Fermer les connexions aux bases SQL à la fin de vos scripts ;
  • Si les sessions sont gérées par la base de données, nettoyez la table de sessions régulièrement ;
  • Évitez de manière générale d'utiliser des outils ou modules qui peuvent générer des requêtes SQL excessives ou des accès disque importants.

↥ top

4.2.15. Compression des ressources envoyées aux clients

La compression des ressources par le module Apache mod_defalte ou par les directives inclues dans les fichiers php.ini n'est pas possible sur les Pages Perso de Free. Il est toutefois possible de contourner ces limitations avec ob_start('ob_gzhandler');, GZip et MultiViews. L'utilisation de liens canoniques (<link rel="canonical"…>) dans le <head> des documents HTML est recommandée dans ces deux derniers cas.

Si votre site est constitué de fichiers statiques, compressez vos fichiers via GZip, sans utiliser PHP.

Vous pouvez vous référer à ce billet pour obtenir le détail de la procédure. ↥ top

4.2.16. Organisation des ressources du site

Vous pouvez organiser les ressources de votre site à votre convenance. Cette organisation dépend de la finalité du site, de vos habitudes, des langages de programmations utilisés, mais des répertoires séparés pour les images, les inclusions ou les fichiers CSS sont essentiels pour une bonne organisation des ressources du site.

Nous vous rappelons qu'il est nécessaire de n'utiliser que des noms de fichiers et de répertoires contenant des caractères ASCII, en minuscule (cf. section correspondante de ce document).

Il convient toutefois de prendre en considération les limitations classiques des systèmes de fichier lors de l'organisation des fichiers et répertoires de votre site. Parmi ces règles simples :

  • Séparez les différents types de contenu de votre site dans des répertoires différents ;
  • Ne pas placer des milliers de fichiers dans un même répertoire mais essayer, au contraire, de les organiser en sous-répertoires, par thèmes, par date ou selon un schéma Modèle / Vue / Contrôleur. Cela permettra de rendre l'arborescence des fichiers et répertoires et la structure du site compréhensible. L'accès, la consultation et la maintenance du site n'en sera que plus rapide et plus simple ;
  • Dans le cas de l'utilisation de l'inclusion de fichiers (PHP ou SSI), les regrouper dans un répertoire /inc/(par exemple) afin de les gérer plus facilement. Si ces ressources sont appelées depuis des scripts PHP, il est possible d'en interdire l'accès extérieur par la directive deny from all dans un fichier .htaccess placé à la racine de ce répertoire ;
  • Liez les ressources de votre site par des liens relatifs au document ou à la racine de votre site ;
  • En parcourant le code de votre site, si vous trouvez des liens débutants par file://… ou C:\\…, c'est que vous faîtes référence à une ressource présente sur votre ordinateur, pas sur les serveurs Web. Le serveur des Pages Perso de Free ne pourra servir cette ressource à vos visiteurs car elle ne sera pas servie selon le protocole HTTP (http://…) et le chemin ne sera pas relatif au document où à la racine de votre site. Vous serez le seul à la visualiser ;
  • Vous ne devez pas oublier qu'un grand nombre de ressources ne sont pas incluses dans vos pages HTML (images, fichiers CSS, scripts JavaScript…) et doivent donc être envoyées sur le serveur, par FTP, au même titre que vos pages ;
  • Votre page d'accueil doit être nommée index.<extension> pour être servie en premier, lors de l'accès depuis la « racine » de votre site ou d'un répertoire (http://monsite.free.fr/ ou http://monsite.free.fr/sous-repertoire/). La configuration du serveur de Free limite la directive à index.html, index.php, index.htm et index.shtml. Les autres extensions ne sont pas reconnues.

Voici un exemple possible d'organisation des ressources pour un site associatif (les ↪ correspondent aux répertoires, les → correspondent aux fichiers) :

/ (racine)
→ index.shtml
→ .htaccess
→ robots.txt
→ mentions-legales.shtml
↪ /images/
 ↪ /site/
  → logo.png
  → fond-haut.png
  → fond-bas.png
  → truc_rouge.png
  → truc_noir.png
  → …
 ↪ /objets/
  ↪ /sous-repertoire-1/
  ↪ /sous-repertoire-2/
  ↪ /…/
 ↪ /pages/
  ↪ /sous-repertoire-1/
  ↪ /sous-repertoire-2/
  ↪ /…/
 ↪ /galerie-photos/
  ↪ /sous-repertoire-1/
  ↪ /sous-repertoire-2/
  ↪ /…/
 ↪ /…/
 ↪ /videos-files/
  → activite-1.ogg
  → activite-1.mp4
  → activite-2.ogg
  → activite-2.mp4
  → …
 ↪ /…/
↪ /includes/
 ↪ /menus/
  → menu_principal.html
  → menu_secondaire.html
  → menu_news.html
  → …
 → fonctions.php
  → menu.html
  → haut.html
  → bas.html
  → truc.html
  → …
↪ /telechargements-documents/
 ↪ /membres/
 ↪ /activites/
 ↪ /journal-association/
 ↪ /presse/
 ↪ /…/
↪ /news/
 → index.php
 ↪ /journal-association/
  → index.shtml
 ↪ /administration/
  → index.php
  → .htaccess
  → .htpsswd
 → …
 → archives.php
↪ /contact/
 → index.php
 → message-envoye.php
 → …
↪ /association/
 → index.shtml
 → devenir-membres.shtml
 → a-propos.shtml
 → historique.shtml
 → membres.shtml
 → statuts.shtml
 → …
↪ /activites/
 ↪ /activite-1/
  → index.shtml
  → programme.shtml
  → participants.shtml
  → bilan.shtml
  → …
 ↪ /activite-2/
 ↪ /…/
↪ /media/
 ↪ /galeries-photos/
  → index.shtml
  → …
 ↪ /videos/
  → index.shtml
  → …
 ↪ /presse/
  → index.shtml
  → communiques.shtml
  → dossiers.shtml
  → …
 ↪ /…/
↪ /js/
 → fonctions.js
 → fancybox.js
↪ /erreurs/
 → erreur401.shtml
 → erreur403.shtml
 → erreur404.shtml
 → erreur410.shtml
 → erreur500.shtml
 → erreur503.shtml
↪ /css/
 → styles-site.css
 → styles-ie.css
 → styles-fancybox.css
 → styles-activites.css
 → styles-news.css
 → styles-media.css
 → fonctions.css

↥ top

4.2.17. Envoi de courriels / newsletters / emailing

L'envoi de courriels depuis les sites des Pages Perso de Free est autorisé via la fonction PHP mail();, sous certaines conditions. Ces limitations ont pour objet de bloquer (ou plutôt réduire) le nombre de spams expédiés depuis les serveurs des Pages Perso.

Les limitations d'envoi de courriels depuis les serveurs de Free sont floues et non-officielles :

  • Courriel au format mime text/plain de préférence (les emails au format text/html doivent être envoyé accompagnés d'une version au format text/plain, conformément aux spécifications de la RFC) et indication du jeu de caractère utilisé ;
  • L'adresse expéditeur doit être l'adresse courriel du compte (si votre site à pour URL http://abc.free.fr/, votre adresse de courriel est abc@free.fr) ;
  • Moins de 20 destinataires par courriel ;
  • Peu de documents joints ;
  • Le poids maximal du courriel est inconnu ;
  • La fréquence d'envoi maximale est inconnue mais elle tourne autour de 2 000 mails (ou appels à la fonction)/semaine) ;

Si votre quota de mail est atteint, l'appel à la fonction mail() sera bloquée jusqu'à réinitialisation (une fois/semaine, le week-end). Si le système anti-spam repère votre compte, cela entraîne le blacklistage de l'IP (visiteur) émettrice du spam (remise à zéro de temps en temps). Si trop de spam sont détectés en provenance de votre compte Pages Perso, alors la fonction mail() est aussi désactivée pour le compte Pages Perso (remise à zéro de temps en temps). Une fonction mail() désactivée ne retourne pas d'erreur, sauf si le quota hebdomadaire est atteint. Dans les cas « graves », le compte est suspendu ; il faut alors suivre la procédure suivante pour le réactiver.

Chercher à contourner les limitations mises en place (boucle de rechargement, connexion à un serveur SMTP externe…) sur les Pages Perso de Free peut vous conduire à la suspension du compte.

L'envoi de courriels en nombre est possible depuis un des services gratuit proposés par Free : ml.free.fr ou un service externe tel que MailChimp, par exemple. Avant de vous inscrire sur ml.free.fr, d'utiliser ou d'administrer une liste de diffusion, nous vous encourageons vivement à consulter l'aide. Vous trouverez aussi une aide sur les commandes que vous pouvez utiliser ainsi que sur la signification des drapeaux utilisateurs sur le site de ce service.

Vous trouverez sur ce site un billet présentant des informations complémentaire ainsi qu'un script de test vous permettant de vérifier le bon fonctionnement de l'expédition des courriels depuis votre compte. ↥ top

4.2.18. Mise à disposition de fichiers en téléchargement

Il est possible d'offrir à vos visiteurs des fichiers en téléchargement, de quelque nature que ce soit (vidéos, sons, images, PDF, fichiers textes ou archives…), du moment que vous disposez des droits de reproduction et de diffusion de ces fichiers. Ils doivent cependant être liés aux pages de votre site et être en accord avec le contenu éditorial du site (ou de la page Web à laquelle ils sont liés).

Il n'existe pas de limite officielle concernant le poids de ces fichiers. Toutefois, les fichiers dépassant 550 Mo devraient être hébergés sur le service de téléchargement de fichiers proposé par Free (dl.free.fr / durée maximale de conservation sans téléchargement de 30 jours / il n'est pas obligatoire d'être abonné Free pour utiliser ce service) ou un service externe d'échange de fichiers (Framadrop, Dropbox, iCloud, HubiC, Google Drive, Sky Drive, etc.) même si ils sont en accord avec le contenu éditorial du site.

Il est interdit d'héberger des fichiers dont vous ne disposez pas des droits de reproduction et de diffusion ; de présenter des fichiers « nus » (c'est-à-dire sans être liés à une des pages de votre site), en vrac dans un ou plusieurs répertoire ou de manière organisée. Veillez également à proposer les liens directs vers vos fichiers : si vous utilisez un script PHP pour gérer vos téléchargements, veillez à le configurer pour qu'il redirige vos visiteurs vers le fichier par un lien HTTP direct vers le fichier, via l'en-tête HTTP Location:. Il est interdit de servir des fichiers à vos visiteurs au travers d'un script PHP (si ces fichers ne sont pas générés dynamiquement depuis le script). Si votre compte est repéré suite à un tel usage, il sera suspendu.

Tous le monde ne dispose pas d'une connexion Internet par fibre optique, il faut donc réduire, autant que faire ce peut, le poids des ressources que vous proposez en téléchargement via, par exemple, des formats d'archivage compressés (.zip, .7z, .tgz, .lha, .bz, .gz, .tbz…), si les formats de fichier employés ne compressent/optimisent pas directement les ressources (par exemple, il n'est pas nécessaire de compresser des fichiers PDF ou JPG optimisés). Vous bénéficierez d'un triple avantage : moins de place occupée sur les disques des serveurs, une réception plus rapide pour vos visiteurs et une charge plus faible pour l'infrastructure serveur des Pages Perso de Free. Pensez également à préciser le type d'encodage des fichiers via la directive AddEncoding, afin de permettre l'affichage de certaines ressources directement dans un navigateur (des fichiers en texte brut compressés via Gzip devraient pouvoir s'afficher directement dans le navigateur au lieu d'être téléchargés).

La génération/modification/ouverture de fichiers d'archives (.zip, .gz, .tbz, .tgz…) depuis des scripts PHP hébergés sur votre compte est autorisée si les fichiers générés/modifiés sont de faible poids. Il est cependant très fortement conseillé de ne pas recourir à cette possibilité et de compresser directement sur votre ordinateur personnel les ressources qui seront téléchargées depuis votre site, avant de les placer sur le serveur de Free par FTP.

Il est interdit de créer des archives de sauvegardes sur votre compte depuis des scripts PHP (pour les télécharger par la suite), il faut utiliser les outils proposés ou autorisés par Free (cf. section correspondante de ce document). ↥ top

4.2.19. Sites à vocations commerciales, paiements et publicités

Les sites à vocation commerciales sont autorisés sur le service des Pages Perso si il s'agit de site vitrine de TPE/PME ou d'artisans, de sites de vente à distance (pas d'achats depuis le site).

Les sites de commerce en ligne (avec achats depuis le site) sont tolérés. Toutefois nous recommandons de ne pas utiliser le service des Pages Perso pour héberger votre boutique en ligne car les protocoles sécurisés (HTTPS, SSH, SCP, SFTP) et les domaines et certificats personalisés ne sont pas supportés par les serveurs de Free (privilégiez l'utilisation de iframe ou, mieux, un lien direct vers un site de paiement). Les acheteurs s'exposent également à l'usurpation ou au vol de leurs informations personnelles et données bancaires pour les raisons mentionnées ci-dessus.

La mise en place de publicité est autorisée sur les Pages Perso de Free, si celle-ci ne cause pas de surcharge sur le serveur (il est recommandé d'utiliser des services externes).

Les dons où les règlements via des sites tiers (Paypal, Google Checkout, Sips, AmazonPayments, BluePaid, ClickAndBuy, PayZen, PayBox, Ogone ou d'autres systèmes de paiement en ligne) sont autorisés. Veillez à utiliser des protocoles sécurisés si ces éléments sont inclus à l'intérieur du site. Rappel : les serveurs de Free ne supportent pas les protocoles sécurisés pour le moment (privilégiez l'utilisation de iframe ou, mieux, un lien direct vers le site de paiement).

Nous rappelons que le service de Pages Perso proposé par Free n'est pas conçu pour un usage professionnel ou commercial et qu'aucune garantie de service n'est mentionnée dans les CGV ou les CU validées par l'utilisateur lors de la souscription et l'activation du service. Il n'existe pas de sauvegardes des données présentes sur le compte. Il est rappelé que le secret des correspondances n'est pas garanti sur le réseau Internet et qu'il appartient à chaque utilisateur d'Internet de prendre toutes les mesures appropriées de façon à protéger ses propres données et/ou logiciels de la contamination d'éventuels virus circulant sur Internet ou de l'usurpation et du vol de ses données personnelles ou bancaires. ↥ top

4.2.20. Noms de domaine

Il est impossible de faire pointer un nom de domaine personalisé sur les serveurs de Free.

Les redirections ou iframe sont possibles vers votre sous-domaine .free.fr (cf. documentation de votre registrar).

Il est impossible de migrer un sous-domaine .free.fr chez un autre hébergeur. Vous devez disposer d'un autre nom de domaine et rediriger, par une redirection permanente, les visiteurs vers votre nouveau domaine (cf. section correspondante de ce document). ↥ top

4.2.21. Adaptation et « bidouillages »

Sur l'infrastructure de Free, rien ne fonctionne réellement comme ailleurs et rien n'est officiellement précisé. Il faut parfois adapter, transformer, contourner les problèmes que vous rencontrez pour réaliser vos sites. Vous devez donc prendre le temps de vous renseigner, de rechercher, d'imaginer, de tester et d'adapter les alternatives possibles en veillant à ce que les adaptations que vous réalisez soient « compatibles » avec le service des Pages Perso et ne soient pas à l'origine d'abus de ressources ou de la compromission de votre compte. ↥ top

4.2.22. Personnalisation des messages d'erreurs HTTP

Il est possible de personnaliser l'ensemble des messages d'erreurs HTTP grâce à la directive Apache ErrorDocument (dans un fichier .htaccess). Cette directive permet de remplacer les messages d'erreur par défaut envoyés par les serveurs de Free par un texte ou une page personnalisé. Vous trouverez toutes les informations nécessaires dans le billet de ce site traitant du fichier .htaccess. ↥ top

4.2.23. Interopérabilité et pérennité des ressources

L'échange de document et de ressources est une composante majeure d'Internet. La facilité avec laquelle il est possible de diffuser rapidement des ressources depuis un site Web est souvent limitée par les problèmes que peuvent poser la lecture, la diffusion et l'édition des documents proposés. Pourquoi ? Parce qu'ils ne sont pas dans des formats ouverts ou multiplateformes.

Parmi les logiciels des visiteurs de sites Web, il existe une grande diversité de systèmes d'exploitation, de navigateurs, d'applications… présentant tous des fonctionnalités différentes. Il est important de proposer des ressources (pages Web et fichiers en téléchargement) qui puissent être lues (ou traitées) par la majorité de vos visiteurs : les archives devraient être compressées dans un format ouvert et multiplateforme (Zip, 7z, Tgz, Tbz, Bz2, GZip, LHA ; évitez le logiciel propriétaire WinRar au profit du logiciel libre 7zip) ; les fichiers textes devraient être proposés en PDF, PS, TXT, RDF, OpenDocument ou HTML ; les fichiers images en PNG, JPG, WebP, EPS ou SVG ; les vidéos en OGM, MP4 ou WebM (éventuellement en MKV si téléchargement uniquement) ; les fichiers audio en MP3, OGG, FLAC ; les formules et équations mathématiques en MathML (LaTeX reste incontournable dans de nombreuses disciplines scientifiques) ; la documentation technique devraient être écrite dans le format DocBook ou LaTeX (si il n'y a pas d'équivalent dans DocBook), puis convertie vers HTML ou PDF.

Vous trouverez plus de détails et d'informations dans le Petit Guide de l'Informatique Durable et dans la recommandation de Référentiel Général d'Interopérabilité des autorités françaises (Fichier PDF). ↥ top

4.3. Utilisation des bases SQL

Cette section détaille les fonctions de base pour se connecter et utiliser correctement les serveurs SQL des Pages Perso de Free. Des informations complémentaires sont également présentées dans d'autres sections de ce document. ↥ top

4.3.1. Connexion aux bases SQL

Free propose deux types de base SQL : MySQL et PostgreSQL. Les deux peuvent être employées simultanément depuis un même compte Pages Perso.

Les serveurs SQL de Free ne sont accessibles que depuis l'infrastructure de Free. Vous ne pouvez pas les utiliser avec des scripts et logiciels installés sur des ordinateurs ou serveurs extérieurs à l'infrastructure de Free. Les scripts PHP utilisés sur les comptes Pages Perso de Free peuvent uniquement utiliser les bases de données SQL fournies par les serveurs de Free.

La version actuelle de PHP (5.1.3rc4 ou 4.4.3) limite la longueur du mot de passe SQL à 10 caractères maximum. Depuis le lancement de la nouvelle version de PHP (5.6.x), il est possible d'utiliser des mots de passe de 16 caractères si vous utilisez PHP 5.6. ↥ top

4.3.1.1. Serveurs MySQL
  • Serveurs de base de données : votrelogin.sql.free.fr ou sql.free.fr ou localhost ;
  • Port : 3306 ;
  • Version : 5.0.83 / Moteur MyISAM ;
  • Lien PHP ⟷ MySQL : mysql (pas de mysqli ou PDO sauf avec la version beta de PHP 5.6.x) ;
  • Nom de la base : votre identifiant (attention : dans le cas de login avec un « . », remplacez les points par « _ »).

Connexion MySQL depuis PHP :

mysql_connect('sql.free.fr', 'votrelogin', 'mot de passe');

↥ top

4.3.1.2. Serveurs PostgreSQL
  • Serveurs de base de données : sql.free.fr ou localhost ;
  • Port : 5432 ;
  • Version : 9.1.2 ;
  • Nom de la base : votre identifiant ;

Connexion PostgreSQL depuis PHP :

pg_connect('host=sql.free.fr port=5432 dbname=votrelogin user=votrelogin password=votremotdepassesql');

↥ top

4.3.2. Optimisation des requêtes

La très grande majorité des utilisateurs de gestionnaires de contenus utilisent des CMS clef-en-main, et ne peuvent pas modifier ou optimiser les requêtes SQL générées depuis leurs sites Web très simplement. Cette section concerne donc principalement les utilisateurs ayant développé par eux-mêmes leurs scripts PHP et les requêtes aux bases SQL.

L'optimisation peut porter sur plusieurs points : la conception de la base (tables, champs, enregistrements, indexes, etc.) et la syntaxe des requêtes elles-mêmes. C'est une tâche complexe, qui dépend également du type d'enregistrement, de la nature des données présentes dans vos bases et du nombre de visiteurs connectés à votre site.

Afin de ne pas s'étendre en dehors du champ de ce document, nous nous contenterons de lister un ensemble de ressources qui pourront vous aider à optimiser vos bases et vos requêtes SQL (certaines ressources sont valables pour les bases MySQL et PostgreSQL, d'autre uniquement pour l'un ou l'autre des SGBDR proposé par Free). Nous vous rappelons également que vous ne pouvez pas modifier la configuration du serveur SQL. ↥ top

4.3.2.1. Optimisation des requêtes MySQL

Afin de ne pas s'étendre en dehors du champ de ce document, nous nous contenterons de lister un ensemble de ressources qui pourront vous aider à optimiser vos bases et vos requêtes SQL.

Voici quelques ressources :

↥ top

4.3.2.2. Optimisation des requêtes PostgreSQL

Afin de ne pas s'étendre en dehors du champ de ce document, nous nous contenterons de lister un ensemble de ressources qui pourront vous aider à optimiser vos bases et vos requêtes SQL.

Voici quelques ressources :

↥ top

4.3.2.3. Mise en cache des requêtes

Une part importante des ressources d'un serveur est utilisée pour répondre aux requêtes de la base de données SQL, à tel point que Free a déporté les bases vers des serveurs SQL autonomes (le « troisième niveau » de la « grappe »). Sur votre site, une certaine portion des requêtes réalisées lors de la génération d'une page ne doit pas nécessairement être calculée à chaque fois que celle-dernière est envoyée à vos visiteurs. Vous pourriez conserver les données générées pendant un laps de temps donné afin de ne pas avoir à solliciter de nouveau les serveurs pour des données déjà calculées et encore « fraîches ». Il est ainsi possible de rendre votre site Web plus « réactif » en évitant le recours systématique à votre base SQL lors de la génération de chaque page.

Il existe deux écoles concernant le cache de requêtes SQL : l'une cherche à mettre en cache les données et le code HTML/XML (voire CSS), l'autre cherche à conserver uniquement les données, l'habillage HTML/XML étant généré pour chaque page. Ces deux conceptions sont valables et peuvent être employées de concert pour un même site, selon la nature du site, des pages et de la fréquence de mise à jour des contenus. Néanmoins il est important de souligner que la mise en cache des données seules est beaucoup moins consommatrice de ressources et d'espace disque. N'oublier pas qu'un système de cache mal configuré peut entrainer la suspension éventuelle de votre compte (nombre de fichiers trop important ou accès disque trop nombreux pour écrire et lire les fichiers de cache).

Pour la sécurité de votre site et de vos scripts, il est essentiel d'interdire l'accès HTTP à votre répertoire de cache, seul PHP doit pouvoir y accéder. Pour ce faire, il faut placer un fichier .htaccess à la racine de ce dossier avec, à l'intérieur, la directive Deny from all.

Voici quelques informations additionnelles utiles :

Il est également possible de mettre en cache les pages Web de votre site dans le cache des navigateurs de vos visiteurs en utilisant les en-têtes Cache-Control (à préférer à Expires), ETag ou Last-Modified. Vous pouvez parfaitement profiter du cache côté serveur et du cache côté client sur votre site, afin de le rendre plus « réactif ». ↥ top

4.4. Gestion des Pages Perso

4.4.1. Gestion des bases de données SQL

Free fourni des logiciels de gestion de bases de données SQL. Il ne sert à rien d'installer des logiciels ayant la même finalité sur votre propre compte.

L'accès externe aux bases de données (via des logiciels de gestion SQL de bureau, par exemple) n'est pas autorisé. ↥ top

4.4.2. Sauvegardes et intégrité des données

Free ne réalise aucune sauvegarde des données hébergées sur ses serveurs. Les sauvegardes sont sous la responsabilité de l'utilisateur afin de disposer d'une copie en cas de panne matérielle ou de suspension/destruction du compte. Un bon point de départ consiste à travailler sur une version de « travail » locale de son site, puis de reporter les changements sur les serveurs de Free (cf. section correspondante de ce document).

Un certain nombre d'outils ou de méthodes de sauvegardes sont interdits par Free (et peuvent entraîner la suspension ou la destruction du compte), mais des techniques de sauvegardes autorisées pour les bases SQL et les données des espaces Web sont présentées dans un billet de ce site. ↥ top

4.4.3. Statistiques de visite / log / historiques

Free interdit l'utilisation de système de statistiques, historiques ou logs sur le compte, que ce soit en base de données ou dans des fichiers, pour des finalités de « débugage », informations ou développements futurs.

Il est possible cependant de disposer de statistiques de visites via les services de Free Webalizer ou PhpMyvisites ou via les services de prestataires externes (Google Analytics, Xiti, StatCounter…). Un billet du site présente en détails les deux services proposés par Free. Merci de vous y référer. ↥ top

4.4.4. Redirection vers pages / répertoires internes ou domaines externes

Lors de la modification ou la refonte d'un site Web, il est parfois possible que certaines URL soient supprimées ou modifiées. Un manifeste, intitulé Les URLs sympas ne changent pas, préconise de gérer et rediriger les anciennes URL afin qu'elles n'aboutissent pas sur un lien cassé (erreur 404) et détourne le visiteur de votre site. C'est en effet un excellent moyen de fidéliser vos visiteurs et de démontrer le sérieux avec lequel vous maintenez l'information que vous gérez (votre « espace d'URI »).

Il est possible de réaliser des redirections d'une URL vers une autre via le fichier .htaccess (via Apache — mod_alias), pour préciser qu'un répertoire à déménagé, qu'une URL n'existe plus ou a été déplacée… Un très bon tutoriel est disponible sur le site d'Alexandre Alapetite.

Afin de permettre une interopérabilité parfaite et une limitation des abus, il est essentiel de :

  • Privilégier les redirections par le serveur Apache, via un fichier .htaccess ;
  • Ne pas utiliser le code de statut 302 Found pour les redirections temporaires mais, de préférence le code de statut 307 Temporary Redirect ;
  • Ne pas utiliser de redirections via des scripts JavaScript, car tous les visiteurs ne disposant pas de JavaScript sur leur navigateur ne seraient pas redirigés (robots des moteurs de recherche, visiteurs sans JavaScript activé, etc.) ;
  • Ne pas utiliser de redirections via un lien sur une page Web HTML ou une balise <meta http-equiv="refresh" content="0; url=http://blabla.com">. Seuls les visiteurs humains pourraient suivre les redirections, mais aucun autre visiteur (robots et visiteurs non humains…) ;
  • Limiter l'utilisation des redirections via des scripts PHP, il faut privilégier les redirections via Apache car ces dernières n'occuperont pas de « slots » PHP  qui pourraient avantageusement être utilisés pour servir des pages Web aux visiteurs des sites hébergés sur votre « grappe ».

↥ top

4.4.4.1. Redirection de la racine du compte vers un sous-répertoire ou une page précise

Pour rediriger la racine de votre compte vers un répertoire du site, la FAQ de Free indique : redirection automatique vers un répertoire.

La meilleure méthode pour rediriger vos visiteurs automatiquement vers le sous-dossier de votre site – ou une page spécifique — passe par Apache. La voici :

RedirectMatch 301 ^/$ http://votresite.free.fr/votre-sous-dossier
RedirectMatch 301 ^/$ http://votresite.free.fr/votre-sous-dossier/votre-page.php

↥ top

4.4.4.2. Les redirections par Apache

Voici les exemples les plus courant de redirection, selon les besoins rencontrés (un exemple pour un fichier et un dossier dans chaque cas).

Redirection temporaire d'URL (les moteurs de recherche continuerons d'indexer l'ancienne URL) :

Redirect 307 /vieux-dossier/vieuxfichier.html http://monsite.free.fr/nouveau-dossier/fichier.html
Redirect 307 /vieux-dossier http://monsite.free.fr/nouveau-dossier

Redirection permanente d'URL (les moteurs de recherche n'indexeront plus l'ancienne URL) :

Redirect 301 /vieux-dossier/vieuxfichier.htm http://monsite.free.fr/dossier/fichier.shtml
Redirect 301 /vieux-dossier http://monsite.free.fr/nouveau-dossier

Redirection d'URL qui n'existent plus (les moteurs de recherche supprimeront l'URL de leurs indexes) :

Redirect 410 /vieux-dossier/vieuxfichier.htm
Redirect 410 /vieux-dossier

Redirection de ressources dont le type est modifié (dans ce cas, application/pdf vers text/html. Une redirection permanente fonctionne également, mais c'est moins « propre ». Il faut utiliser des redirections permanentes (code 301) uniquement si le type de contenu reste identique (des fichiers .php, .html, .htm et .shtml présentent, par exemple, le même type de contenu : text/html) :

Redirect 303 /dossier/vieux-fichier.pdf http://monsite.free.fr/dossier/nouveau-fichier.html

Vous trouverez plus d'informations dans le tutoriel de Alexandre Alapetite, dans le billet concernant le fichier .htaccess ou dans cet article de Karl Dubost. Il est essentiel de connaître les codes de réponse HTTP pour utiliser les redirections par Apache. ↥ top

4.4.4.3. Les redirections par PHP

Il faut toujours privilégier les redirections par Apache, mais, dans certains cas, une redirection par PHP est la seule alternative possible. Il faut utiliser la fonction PHP header(); pour rendre la redirection fonctionnelle.

Voici un exemple pour une redirection temporaire :

<?php
header('HTTP/1.1 307 Temporary Redirect',true,307);
header('Status: 307 Temporary Redirect');
header('Location: http://monsite.free.fr/la-ou-il-faut-aller');
header('Content-Type: text/html; charset=UTF-8');
header('Cache-Control: no-cache, must-revalidate');
?>
<!DOCTYPE html>
 <html lang="fr">
  <head>
  <meta charset="UTF-8">
  <meta http-equiv="refresh" content="0; url=http://monsite.free.fr/la-ou-il-faut-aller">
  <title>Redirection</title>
  <meta name="robots" content="noindex,follow">
 </head>
<body>
 <p>La ressource que vous souhaitez consulter est temporairement déplacée <a href="http://monsite.free.fr/la-ou-il-faut-aller">ici</a>.</p>
</body>
</html>

La redirection est réalisée par les fonctions contenues entre les balises <?php … ?>. Selon la norme HTTP, il est obligatoire de fournir également une redirection en HTML dans le corps de la réponse. Détaillons les en-têtes HTTP introduites par PHP. La première ligne précise le code de statut (200, 301, 307, 404, 403, 500, etc.) et la description de celui-ci. Notez la présence du code de réponse une seconde fois, à la fin de cette fonction. La seconde ligne présente le message lisible pour un humain (il doit toujours être rédigé en langue anglaise). La troisième ligne, enfin, précise la destination de la redirection (veillez à spécifier une URL complète dans le champ Location:). Il faut conserver l'ordre de ces fonctions sur les serveurs de Free.

Vous trouverez plus d'informations dans le tutoriel de Alexandre Alapetite et nous rappelons ici l'importance de connaître les codes de réponse HTTP. ↥ top

4.4.4.4. Déménagement et changement de domaine

Si votre site prend de l'importance et que les services des Pages Perso de Free sont trop limités pour vos besoins grandissants, ou si vous souhaitez changer de serveur tout en informant vos visiteurs que votre site a déménagé. Aucun problème, videz totalement l'espace web et vos bases SQL puis placez un fichier .htaccess à la racine de votre compte contenant uniquement cette ligne :

Redirect 301 / http://www.mon-nouveau-domaine.com

Si votre site n'a pas changé de structure, les visiteurs aboutiront sur les pages qu'ils souhaitaient visiter. Si votre site a vu la structure de ses URL modifiée, il faudra rediriger de manière permanente les visiteurs vers les nouvelles URL grâce un fichier .htaccess à la racine de votre nouveau site.

Laissez passer quelques mois, le temps que les moteurs de recherche mettent à jour leurs indexes, puis demandez la suppression de votre compte Free auprès du service de résiliation selon les procédures décrites dans ce billet.

N'utilisez jamais de redirections par PHP, par une simple page HTML ou par balise <meta http-equiv="refresh" content="0; url=http://blabla.com"> en l'occurrence. Vos visiteurs humains sauraient que vous avez déménagé de serveur, mais pas les autres (robots et visiteurs non humains…) et les anciens liens vers votre site seraient cassés (erreur 404). ↥ top

4.4.5. Données personnelles (utilisation, gestion, modification et suppression)

Les données personnelles ne sont pas des données comme les autres. Leur utilisation est régulée par la Loi, sous le contrôle de la Commission nationale de l'informatique et des libertés (CNIL), une autorité administrative indépendante française chargée de veiller à ce que l'informatique ne porte atteinte ni à l'identité humaine, ni à la vie privée, ni aux libertés individuelles ou publiques. Elle exerce ses missions conformément à la loi no 78-17 du 6 janvier 1978 modifiée par la loi du 6 août 2004.

Les éditeurs de site Web ont des obligations concernant le traitement des données personnelles qu'ils hébergent. Parmi celles-ci figurent :

  • Les traitements informatiques de données personnelles qui présentent des risques particuliers d'atteinte aux droits et aux libertés doivent, avant leur mise en œuvre, être soumis à l'autorisation de la CNIL (cf. documentation de la CNIL sur ce point) ;
  • Permettre aux personnes concernées par les informations nominatives ou personnelles qu'ils détiennent d'exercer pleinement leurs droits. Pour cela, ils doivent leur communiquer : son identité, le nom et l'adresse de son hébergeur, le type de données nominatives ou personnelles collectées, la finalité du traitement ainsi que la durée de conservation de ces données, le caractère obligatoire ou facultatif des champs des formulaires, le(s) destinataire(s) des informations, l'existence de droits de communication, de modification et de suppression ainsi que les moyens permettant de les exercer, les transmissions de données hors UE envisagées (traitement par Google Analytics, etc.), la durée de conservation des données ;
  • Adopter des mesures de sécurité logicielle et physiques (sécurité des outils logiciels et matériels employés) adaptées à la nature des données et aux risques présentés par leur traitement.

La société Free peut suspendre les comptes Pages Perso des utilisateurs ne répondant pas aux demandes de communication, modification et suppression des données personnelles et nominatives transmises par les visiteurs/utilisateurs, si ces derniers saisissent le service Abuse ( ) de Free en raison d'une absence de réaction de l'éditeur du site (cf. section correspondante de ce document ou ce billet du site). ↥ top

4.4.6. Rattachements et transferts de comptes

Il est possible de rattacher un compte secondaire d'un un compte principal Haut-Débit, 50 heures ou Accès Gratuit à un autre. La procédure est la suivante :

Connectez-vous sur l'interface de gestion du compte auquel vous souhaitez rattacher le compte à l'aide de vos identifiants et cliquez sur le lien « Rattacher vos autres comptes email ». Dans la page qui s'affiche alors, indiquez l'identifiant et le mot de passe du compte que vous souhaitez rattacher, cochez la case par laquelle vous certifiez être le titulaire du compte à rattacher et validez. ↥ top

4.4.7. Perte ou changement des mots de passe

Si vous avez perdu votre mot de passe de compte principal, vous pouvez suivre la procédure de récupération du mot de passe par courrier à l'adresse postale correspondante au coordonnées enregistrées pour votre compte ou, à défaut, à l'adresse postale qui a été fournie pour l'ouverture de compte.

Si vous disposez d'un compte principal, il vous est possible d'obtenir l'ensemble des identifiants et mots de passe des comptes secondaires rattachés à celui-ci depuis l'interface de gestion du compte principal.

Les changements de mots de passe de compte, d'accès FTP et SQL sont possible depuis l'interface de gestion des comptes. Vous pouvez suivre la procédure mentionnée ici.

Si vous utilisez simultanément les deux bases SQL, la personnalisation du mot de passe de connexion SQL ne modifie que le mot de passe de la base MySQL. Pour modifier le mot de passe de base PostgreSQL, il faut se connecter sur l'interface de gestion PhpPgAdmin puis choisir le menu « Compte » et modifier le mot de passe. Vous obtiendrez « Mot de passe modifié. » la modification pour l'accès à phpPgAdmin est immédiat. La prise en compte de la modification sur les serveurs est immédiate, vous pouvez donc modifier immédiatement votre fichier de configuration ou votre fonction de connexion à la base. ↥ top

4.4.8. Changement d'adresse

Vous souhaitez informer Free d'un changement d'adresse : imprimez et complétez le formulaire correspondant, disponible dans votre interface de gestion, et joindre une photocopie de votre facture télécom.

Veuillez utiliser l'adresse ci-dessous :

Free - Accès Libre
Changement d'adresse
75371 Paris Cedex 08

Cette adresse est utilisée pour toute correspondance entre la société Free et vous. Elle est également utilisée pour l'envoi de votre mot de passe, par courrier postal, en cas de perte. Veillez donc à la tenir à jour.

Il est possible de consulter l'adresse postale associée à votre compte depuis votre interface de gestion en cliquant sur le lien « Afficher vos coordonnées et vos comptes supp. ». L'adresse postale enregistrée ainsi que la liste de vos comptes supplémentaires s'affichent alors. La procédure est expliquée dans l'assistance de Free. ↥ top

4.4.9. Création de compte pour des associations, des clubs sportifs, des tiers

Les comptes Pages Perso sont associés à des adresses de courriels créées par des personnes physiques ou morales localisées en France. Il peut être tentant de créer un compte secondaire à un compte principal personnel pour le site Web d'une association, d'un club sportif ou d'une connaissance. C'est une erreur, car le compte de l'association/club/connaissance est alors lié à ceux du titulaire du compte principal : si un compte est suspendu ou détruit, ou implique une action de la part de Free, c'est le titulaire du compte principal qui devra endosser toutes les responsabilités, appliquer les prérequis de déblocage, etc.

Il est plus sage de créer un compte Accès Gratuit aux nom et adresse de l'association, club sportif ou connaissance pour ensuite activer les Pages Perso. Ainsi, en cas de perte des identifiants, ceux-ci seront transmis directement au siège de l'association, du club, de la personne concernée et le titulaire légal du compte sera bien l'éditeur du site Web. ↥ top

4.4.10. Désactivation et suppression de comptes

Le titulaire d'un compte Pages Perso est responsable de celui-ci à vie. Toutefois, il peut-être nécessaire de supprimer un site ou de désactiver un compte dont on ne fait plus usage. Ces comptes Pages Perso peuvent être désactivés ou supprimés si le titulaire en fait la demande auprès du service de résiliation de Free.

Pour désactiver un compte, il suffit de vider complètement l'espace Web (par FTP) et les bases SQL (via PhpMyAdmin ou PhpPgAdmin) de l'ensemble des données présentes. Free désactivera le compte après un certain temps. Veillez cependant à disposer de mots de passe différenciés et robustes pour ce compte afin qu'il ne soit pas compromis à votre insu. Veillez également à placer à la racine de l'espace Web des comptes vides un fichier .htaccess contenant la directive suivante (afin d'obtenir la réactivation d'un de vos comptes si l'un d'entres-eux a été suspendu) :

Options +Indexes

Un billet de ce site présente la procédure à suivre lors d'une demande de suppression d'un compte principal ou secondaire. La suppression d'un compte implique que celui-ci ne pourra jamais être réactivé ou réutilisé par la suite. ↥ top

4.4.11. Délais

La société Free n'est pas une championne de la communication. Au début du service Pages Perso, cela prenait, en moyenne, 24 heures pour qu'un nouveau compte soit activé. Maintenant, il y a « un peu » plus de monde à gérer. Les procédures d'activation/création ont été modifiées (l'administrateur préfère sûrement effectuer l'activation en une seule fois de milliers de comptes plutôt que d'activer un nombre variable de comptes plus régulièrement, on ne discutera pas de la méthode, c'est un fait). Mais les pages d'information sont restées les mêmes…

Voici les délais moyens auxquels on peut s'attendre tant que les scripts automatiques ne seront pas réactivés :

  • Activation d'un nouvel espace Pages Perso : 1 fois par semaine ; jusqu'à 3 semaines maximum (activation par lots) ;
  • Activation d'une base de données MySQL : 1 fois par semaine ; jusqu'à 3 semaines maximum (activation par lots) ;
  • Activation d'une base de données PostgreSQL : 1 fois par semaine ; jusqu'à 3 semaines maximum (activation par lots) ;
  • Réactivation d'une base de données MySQL : ½ semaine environ ;
  • Réactivation d'une base de données PostgreSQL : ½ semaine environ ;
  • Modification des mots de passe :
    • Sur les serveurs FTP : 2 heures au plus ;
    • Sur les serveurs MySQL : 4 heures au plus ;
    • Sur les serveurs PostgreSQL : 4 heures au plus ;
    • Pour l'accès aux statistiques de fréquentation via PhpMyVisites : 2 heures au plus.

Réactivation des comptes : pour les « infractions légères », il est possible de débloquer votre compte via l'interface de gestion de celui-ci en cliquant sur le lien idoine. La réactivation du compte sera effective 24 ou 72 heures après (selon qu'il s'agit de la première ou seconde suspension, respectivement). Si la réactivation par l'interface de gestion n'est pas possible, il faut passer par le forum Usenet. Dans ce cas, l'ensemble de vos comptes sera vérifié avant de procéder à la réactivation du compte concerné. Le délai de réactivation dépendra donc principalement de la célérité avec laquelle vous appliquez les corrections à vos comptes et suivez les prérequis pour le compte suspendu. La charge de travail de l'admin influera également sur le délai de réactivation.

Notez enfin qu'en cas de congés de l'admin et/ou d'incident(s) important(s) sur un ou plusieurs serveurs de l'architecture des pages perso, ces délais peuvent s'allonger. Soyez patient. ↥ top

4.4.12. Gestion des droits des fichiers et répertoires (chmod)

Toute gestion des droits (chmod) est désactivée sur les serveurs. Tous les fichiers et répertoires présents possèdent les droits suffisants :

  • Pour les fichiers : 644 (Lecture/Écriture pour le propriétaire, Lecture seule pour tous les autres) ;
  • Pour les répertoires : 755 (Lecture/Écriture/Parcours pour le propriétaire exclusivement).

Si vous en avez besoin, vous trouverez plus d'informations dans ce billet. ↥ top

4.5. Comportements et contenus proscrits ou incompatibles avec le service

Un certain nombre de comportements et d'outils sont interdit sur l'infrastructure des Pages Perso de Free. En voici une liste, non-exhaustive, non-officielle et sujette à modification sans préavis. Deux billets du site présentent les règles de d'usage des Pages Perso et les CMS et scripts autorisés ou non-autorisés.

La société Free peut décider de bannir des contenus, comportements et outils de ses serveurs, à sa discrétion et sans préavis, afin de maintenir la qualité de service globale de son infrastructure, conformément aux lois no 2000-719 du 1er août 2000, modifiant la loi no 86-1067 du 30 septembre 1986 relative à la liberté de communication, no 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique (dite LCEN), et loi du 29 juillet 1881 sur la liberté de la presse (dite « loi de 1881 » bien qu'elle ait été souvent révisée, au 7 mars 2007 par exemple). ↥ top

4.5.1. Comportements et contenus illégaux au regard de la loi française

Au regard de la Loi française, Il vous est interdit d'héberger sur les serveurs des Pages Perso de Free :

  • Des contenus pornographiques ou pédopornographique, néo-nazi, etc. (images, textes…) ;
  • Des contenus portant provocation et/ou apologie de délits/crime contre les personnes ;
  • Des contenus incitant à la haine raciale, religieuse ou à la xénophobie ;
  • Des contenus appelant aux actes de terrorisme, crimes de guerre, des crimes contre l'humanité ou des crimes ou délits de collaboration avec l'ennemi, à la discrimination, à la haine ou à la violence à l'égard d'une personne ou d'un groupe de personnes à raison de leur origine ou de leur appartenance ou de leur non appartenance à une ethnie, une nation, une race, une religion déterminée, un sexe, une orientation sexuelle ou un handicap ou faisant l'apologie de tels contenus ;
  • Des contenus portant provocation au suicide d'autrui, contenus portant propagande ou publicité en faveur de produits, d'objets ou de méthodes préconisées comme moyens de se donner la mort ;
  • Des contenus diffamatoires, injurieux ou insultants ;
  • Des contenus contestant les crimes contre l'humanité ;
  • Des contenus choquants pouvant être vus ou perçus par un mineur sans avertissement préalable ;
  • Des contenus faisant l'apologie ou appelant à la prostitution ou prônant des mouvements sectaires, religieux, politiques, terroristes, etc. ;
  • Des fichiers illégaux, piratés ou « contrefaits » ;
  • Des sites de jeux et paris illégaux, des sites de « fan » soutenant des serveurs privés illégaux, des sites encourageant la création de contenus illégaux, des sites hébergeant des bases de données de serveurs illégaux, des sites proposant le téléchargement de ressources utiles à la création de serveurs privés illégaux et tout autre contenu traitant de serveurs privés illégaux ;
  • Des copies partielles ou totales de sites, sans avoir obtenu l'accord préalable du propriétaire légal ;
  • Des sites d'arnaques financières (systèmes pyramidaux, vente de produits « miracles » ou contrefaits…) ;
  • Des contenus, outils et services usurpant l'identité d'autrui ou violant les lois protégeant la vie privée (hameçonnage…) ;
  • Des contenus fournissant des services, des ressources ou des contenus permettant l'intrusion dans des systèmes d'informations (« piratages », tutoriels, virus, troyens, vers, etc.) ;
  • Des sites incitant à la consommation de substances illicites (drogues douces comprises) ; et
  • Tous types de contenus illégaux en désaccord avec la législation française et européenne.

Dans tous les cas, le titulaire du compte sera tenu pour seul et unique responsable des contenus et services proposés sur le compte, (qu'il les y ai placé ou non : articles de blog ou textes de pages, commentaires, interventions sur des forums, liens, pages d'hamçonnage, iframe vérolées…). En aucun cas, Free ne pourra être tenu responsable des contenus mis à disposition depuis les comptes des utilisateurs du service, bien que sur ses serveurs.

Vous êtes invité à signaler aux autorités compétentes les contenus illégaux que vous pourriez découvrir sur le Web. ↥ top

4.5.2. Démarches commerciales ou promotionnelles liées à une marque

Les sites présentant uniquement de la publicité sont interdit sur les Pages Perso, car ce n'est pas là la finalité du service. Tournez-vous vers des hébergements professionnels. ↥ top

4.5.3. Mise à disposition de contrefaçons ou logiciels piratés ou de codes permettant de « cracker » un logiciel et violation du code de la propriété intellectuelle par publication d'œuvres dont vous ne disposez pas des droits de distribution ou de reproduction

Il ne s'agit pas simplement de la mise à disposition des derniers blockbusters américains mais de tous les types de contenus possible, du simple texte au film ou au jeu vidéo à la mode, en passant par des chansons ou des images dont vous n'êtes pas titulaire des droits de reproduction ou de diffusion. Il est aisé de croire que tout ce qui est accessible gratuitement et librement via Internet fait partie du domaine public et n'est ainsi pas protégé par le droit d'auteur. Or, l'information contenue sur les sites Web peut être considérée, au sens de la Loi sur le droit d'auteur, comme une œuvre ou une compilation d'œuvres.

Il y a atteinte au droit d'auteur lorsqu'une personne utilise sans autorisation l'œuvre d'une autre personne (ouvrage, article, chanson, etc.) protégée par le droit d'auteur. Si une œuvre est protégée par le droit d'auteur, vous ne pouvez pas, en règle générale, la mettre légalement à la disposition du public sous quelque forme que ce soit, numérique ou autre, sans l'autorisation de la personne ou de l'entité titulaire. Pour les images et photographies, si vous en êtes l'auteur, veillez à faire signer un droit à l'image aux personnes figurant sur vos clichés publiés en ligne.

Si aucune mention n'est indiqué, la diffusion de l'œuvre est régie par le simple droit d'auteur. Il existe cependant des licences qui favorise la reproduction, la modification et le partage d'une œuvre sous certaines conditions. Les plus célèbres sont : CreativeCommons, GPL (et dérivées), BSD (et dérivées), CéCiLL (pour la France) mais il en existe bien d'autres, pour tous les usages (par exemple le OpenHardware ou l'Art).

Si vous recevez une lettre de mise en demeure, il vous appartient de vérifier que (selon l'OMPI) :

  • Elle est émise par un organisme officiel et que cette lettre est officielle ;
  • Vérifier les documents sur lesquels porte précisément l'allégation d'atteinte au droit d'auteur. Sont-ils bien ceux utilisés et selon les modalités indiquées ? Sont-ils maintenant dans le domaine public ou disposez vous de licence ou d'une cessation des droits ? ;
  • Si la demande est fondée, il vous appartient de supprimer le(s) contenu(s) mentionné(s) dans la mise en demeure afin d'éviter d'autres poursuites. Si la demande est infondée, expliquez la situation à l'auteur de la missive.

Free se réserve le droit de suspendre ou détruire les sites contrevenant à ces dispositions, ou proposant des contenus enfreignant le droit d'auteur en accord avec la Loi et la Justice française. Vous pouvez trouver plus d'informations sur le site de l'OMPI ou sur le portail des Universités numériques concernant ces thématiques. ↥ top

4.5.5. Page d'index du compte générée par page d'index automatique d'Apache (Index Of/)

Un site Web hébergé sur les Pages Perso de Free doit être accessible directement depuis la racine. Il doit donc disposer d'une page d'index à la racine du compte (ou une redirection vers une page ou un répertoire de votre site).

Si vous disposez d'un site Web et que vous visualiser une erreur 403… Pas de panique, vous devez simplement renommer la page principale que vous souhaitez afficher lorsque l'on arrive sur votre site. Renommez cette page en index.<extension> et tout rentrera dans l'ordre. ↥ top

4.5.6. Plate-forme de création de sites ou blogs

Il est interdit d'utiliser des plates-formes de création de sites ou de blogs (Wordpress MU, Dotclear multi-blogs…). La règle générale est 1 compte = 1 site. ↥ top

4.5.7. « travaux » et « tests »

4.5.7.1. Les sites en « travaux »

Les site « éternellement en travaux » sont interdit sur les Pages Perso de Free. Seul un site parfaitement fonctionnel doit être publié sur les serveurs. Le développement de votre site doit être réalisé en local (cf. section correspondante de ce document) et, une fois le site prêt, le mettre en ligne.

Bien entendu, un site Web évolue avec le temps, et de nouvelles sections peuvent apparaitre. Deux options s'offrent à vous : développer la totalité de cette section localement, puis mettre en ligne l'ensemble des ressources correspondantes en une fois ou publier les ressources dès qu'une page est terminée, la section s'étoffant peu à peu avec le temps. ↥ top

4.5.7.2. Les sites de « tests »

Tout comme les sites en travaux, les « tests » sont interdits sur les Pages Perso de Free. Vous devez utiliser votre propre matériel pour cela (cf. section correspondante de ce document).

Chez vous, vous développez votre site, vous essayez des « trucs », vous peaufinez vos scripts PHP et, dans certains cas, vous écrivez des petits scripts, juste pour vérifier ou tester une fonction PHP ou MySQL.

Comme il est impossible – même si on peut s'en approcher – d'avoir, en local, le même environnement que chez Free, il arrive un moment où vous êtes bien obligé d'envoyer votre script d'essai sur les Pages Perso, juste pour voir « si ça marche » chez Free. Ces bouts de scripts d'essai, vite écrits sans précautions particulières, peuvent contenir des données ou des informations plus ou moins sensibles qu'il ne faut pas mettre à la disposition de n'importe qui, qui pourrait accéder – par hasard – au dit script. Il se pourrait également que le dit script fonctionne mal chez Free, se plante en cours d'exécution et révèle ainsi une partie du code. Il faut donc protéger ces scripts d'essai lorsqu'ils sont « chez Free ».

Une méthode est de regrouper tous les scripts d'essai dans un même répertoire, par exemple « /tests » et de mettre, dans ce répertoire, un fichier .htaccess qui interdira l'accès à tout le monde, sauf à vous, tant en local avec votre serveur de développement, que chez Free pour y effectuer – temporairement – les essais souhaités.

<IfDefine Free>
Order Deny,Allow
Deny from all
Allow from 000.000.000.000
Allow from 0000:000::000:0000:0000:0000
</IfDefine>
<IfDefine !Free>
Order Deny,Allow
Deny from all
Allow from localhost 127.0.0.1 ::1
</IfDefine>

Vous remplacez 000.000.000.000 par l'IPv4 réelle de votre liaison Internet et 0000:000::000:0000:0000:0000 par l'adresse IPv6 de votre laison Internet (sur les serveurs disposant d'adresse IPv6). Ne mettez ::1 que si votre système local supporte IPv6. ↥ top

4.5.7.3. Les sites de démonstration / cours

Vous utiliser votre compte pour présenter des sites de démonstration, des ressources utilisées dans des cours de développement Web. Ces pratiques ne sont pas forcément bien vues sur les Pages Perso. Néanmoins, vous pouvez les regrouper dans un répertoire spécifique de votre compte dont vous limiterez l'accès de la même manière que pour les tests (cf. ci-dessus).

Évitez d'utiliser un compte uniquement dans ce but, sauf si l'espace occupé par ces démonstrations est conséquent.

Si ces démonstrations concernent un script, un CMS spécifique que vous développez, le site de démonstration doit être installé sur le même compte que le site vitrine de ce script ou CMS. ↥ top

4.5.8. Restrictions d'accès

Pages Personnelles ne signifie pas Pages Privées. Les comptes dont les sites Web dispose d'une restriction totale d'accès (à moins de connaitre le mot de passe) sont interdits sur les Pages Perso. Seule une portion minoritaire du site peut être accessible par identification (sections « sensibles », administration, envoi de commentaires…). Le reste doit être accessible en lecture à tout Internaute. ↥ top

4.5.8.1. Restriction d'accès simple via Apache

Pour limiter l'accès à une certaine partie du site, les explications sont données dans la FAQ de Free : personnalisation des pages (restrictions). À noter que les mots de passe sont stockés en clair dans le fichier de mots de passe : il convient donc de protéger ce fichier contre les accès (Deny from all dans le .htaccess du répertoire le contenant), lui aussi !

Il est possible de restreindre l'accès à un répertoire (et à ses sous-répertoires) par un ou plusieurs couple(s) identifiant(s)/mot(s) de passe.

Les lignes à insérer dans le .htaccess sont les suivantes :

PerlSetVar AuthFile /chemin_du_dossier_depuis_la_racine_du_compte/.htpsswd
AuthName "Acces Restreint"
AuthType Basic
require valid-user

Ce fichier est à placer directement dans le répertoire à sécuriser.

Il faut ensuite créer un fichier texte contenant le ou le(s) couple(s) d'identifiant(s)/mot(s) de passe (non crypté) que l'on nommera .htpsswd. Par exemple :

administrateur:super_mot_de_passe
utilisateur:youpi

Il est possible de placer ce fichier à n'importe quel endroit sur l'espace Web, mais si celui-ci est placé dans un répertoire différent de celui à protéger, on le protègera des intrusions en créant un autre fichier .htaccess en plaçant deny from all à l'intérieur, ce qui bloquera l'accès aux ressources du répertoires (et aux ressources des sous-répertoires) automatiquement.

Il est possible de mettre en place des restrictions plus spécifiques : par utilisateur, adresse IP, domaines. Vous pouvez aller faire un tour sur le billet thématique de ce site, mais aussi dans la documentation Apache, pour avoir toutes les informations nécessaires. ↥ top

4.5.8.2. Restriction d'accès simple via PHP

Les restrictions d'accès simples de type HTTP Basic (comme celles générées par Apache via .htaccess) peuvent être directement implémentées via un script PHP. Nous rappelons que les sites Web hébergés sur les serveurs Pages Perso de Free doivent être majoritairement accessibles au public.

if ( !isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])
|| ($_SERVER['PHP_AUTH_USER'] !== "nom_d_utilisateur" )
|| ($_SERVER['PHP_AUTH_PW'] !== "mot_de_passe") )
{
header('WWW-Authenticate: Basic realm="Authentifiez-vous"');
header('HTTP/1.0 401 Unauthorized');
header('Content-Type: text/html; charset=UTF-8');
header('Cache-Control: no-store, must-revalidate');
header('X-Robots-Tag: noindex, nofollow, noarchive');
echo '<!DOCTYPE html>
      <html lang="fr">
       <head>
        <meta charset="UTF-8">
        <title>Accès non autorisé</title>
        <meta name="robots" content="noindex">
       </head>
       <body>
        <hgroup>
         <h1>Mon Super Site Free</h1>
         <h2>Accès non autorisé</h2>
        </hgroup>
        <p>La ressource que vous souhaitez consulter est protégée. Vous devez vous identifier.</p>
       </body>
      </html>';
exit;
}
echo '<p>Votre code pour les utilisateurs authentifiés.</p>';

Il est possible de modifier ce type d'authentification, pour gérer plusieurs couples login/mot de passe via une base de données SQL. Il est impératif de ne rien saisir (qui soit visible à l'utilisateur, pas même un caractère « espace ») avant une fonction header() afin de garantir son fonctionnement : si un caractère est saisi avant cette fonction, le script PHP envoie les en-têtes HTTP standard à une page Web, sans prendre en compte celles spécifiées par le script. ↥ top

4.5.9. Stockage

Les suspensions pour « stockage » ou « téléchargements de fichiers » sont assez facile à éviter, mais la réactivation des comptes peut être longue et fastidieuse. Il faut donc veiller à éviter au maximum le nombre de fichiers orphelins sur le serveur, c'est-à-dire n'ayant aucun lien avec au moins une des pages du site (par exemple des images affichées sur des forums hébergés sur votre compte).

Quelles sont, alors, les parades pour éviter la suspension du compte ?

  • Utiliser le service dl.free.fr (ou d'autres services comme Framadrop, Dropbox ou similaire) si vos documents ne sont pas dans la « thématique » du site Web ;
  • Si vous proposez des fichiers, images/photos ou des programmes en téléchargement, en relation avec le contenu éditorial de votre site, il est important de ne pas les servir « nus », mais de les associer à des forums, des pages d'explications et d'informations ;
  • Veillez à ne proposer que des documents dont vous disposez des droits de reproduction ou diffusion.

Si malgré ses précautions, votre site est suspendu, des prérequis simples doivent être appliqués pour permettre la levée du blocage. Vous trouverez toutes les informations nécessaires dans ce billet. ↥ top

4.5.10. Fichiers locaux comme base de données

Grâce aux langages de programmation actuels, de nombreux scripts, gestionnaires de contenus (CMS) ou compteurs de visite utilisent des fichiers locaux en lieu et place d'une base de données SQL. Si cette implémentation ne pose techniquement pas de problème sur des infrastructures avec peu d'utilisateurs ou généreusement dimensionnées, elle est à proscrire sur les serveurs d'hébergement de Free en raison de la très forte mutualisation des ressources disponibles. Les pages Web dynamiques affichées aux visiteurs de votre site sont générées principalement par trois « niveaux » de serveurs de manière totalement transparente pour le visiteur : le premier (les « frontaux » Web) fournit les ressources statiques (images, page html statiques, sources des scripts PHP, etc.), le « second », partagés entre plusieurs serveurs du premier niveau exécute le code des scripts PHP de votre site, en s'appuyant sur les données fournies par les serveurs hébergeant votre base SQL (le « troisième » niveau). On comprend donc aisément qu'il est important de partager le traitement de vos pages dynamiques entre les trois « niveaux » de serveurs pour bénéficier des meilleures performances.

Que se passe-t-il lorsque vos pages web sont générées dynamiquement à partir de fichiers « textes » ? Les serveurs de premier niveau « transmettent » le contenu des scripts PHP aux serveurs d'exécution et sont sollicités, en parallèle, pour lire ou écrire des données contenues dans d'autres fichiers textes, contenant les données à afficher ou écrire. Les disques durs des serveurs frontaux sont donc fortement sollicités, et cela ralentit l'ensemble des taches qu'ils doivent exécuter pour votre site, et ceux de vos colocataires. Si votre site Web à recours à l'un de ces procédés, il risque la suspension car « Les interfaces utilisant des fichiers locaux comme base de données/log sont interdites. »

Si vous avez installé sur vos pages un système de log, d'historique, de statistiques qui écrit dans un fichier texte les données qu'il collecte, il suffit de lire un autre billet de ce site pour suivre les bonnes pratiques à adopter pour remplacer votre script.

Il en est de même pour certains systèmes de sauvegarde, comme Akeeba, qui enregistrent dans un fichier texte l'ensemble des opérations de sauvegarde réalisée. Il importe donc de supprimer ce composant et d'utiliser une autre méthode de sauvegarde (ou les méthodes autorisées par Free).

Un certain nombre de CMS légers ou d'extensions (également connus sous les noms de plugins/add-ons/composants/modules externes…) de CMS n'utilisent pas de base de données SQL, ils stockent les informations dans des fichiers textes de type TXT, XML, PHP, LOG, HTML, SQLite… sans avoir recours à des bases de données MySQL ou PostgreSQL. Il faut impérativement éviter de les utiliser sur les serveurs de Free, sous peine de voir son compte suspendu. Pour éviter la suspension, il faudra migrer vos données vers un CMS, un livre d'or, un moteur de Wiki ou de blog utilisant une base de données MySQL ou PostgreSQL, après avoir demandé l'activation d'une telle base dans votre interface de gestion de compte. Parmi les CMS à éviter, tous les « Guppy like », livres d'or et moteurs de wiki sans base SQL. Une liste des CMS et scripts PHP interdits et autorisés est disponible sur ce site, avec toutes les réserves possibles.

Certains scripts et CMS « cachent » les données issues de la génération dynamiques des pages des sites pour les présenter plus rapidement aux visiteurs. Cette méthode possède l'avantage d'optimiser le temps de réponse de votre site. Il faut toutefois veiller à ce que le système de cache soit correctement configuré et ne surcharge pas les serveurs en cas d'accès disque constant. Certains CMS sont correctement optimisés pour cela, d'autres non. Il faut donc veiller à activer le cache de vos pages dynamiques que si votre CMS gère correctement celui-ci. Dans le cas contraire, il est préférable de le désactiver, puis de supprimer les fichiers cache éventuellement présent sur le serveur. Ne pas oublier que la version de PHP modifié par et pour Free ne permet pas de supprimer des répertoires. Si vos scripts cherchent à purger leur cache en supprimant simplement le répertoire contenant les données de cache (c'est le cas de Joomla!), il est normal que cela aboutisse à un nombre de fichiers très élevé, incompatible avec le service et entrainant donc une suspension du compte.

Un billet du site présente l'ensemble des recommandations à suivre et les prérequis à suivre en cas de suspension. ↥ top

4.5.11. Fichiers « masqués » en vrac

Il peut être tentant de recourir aux serveurs Pages Perso de Free pour échanger des fichiers, ou stocker des fichiers et documents facilement accessible dans un répertoire connu de vous seul ou derrière un site de façade destiné à déjouer la vigilance de l'admin avant de voir son compte suspendu ou, si la suspension est effective, plaider sa bonne foi en raison d'un site Web « en bonne et due forme ».

Le plus souvent, lorsque l'administrateur du service repère ce genre de compte, la sanction est immédiate : destruction, sans même passer par la case suspension. Vous voici prévenu. ↥ top

4.5.12. Proxy

Les scripts de proxy sont interdit sur les serveurs des Pages Perso. Les comptes utilisant ces scripts seront suspendus ou détruits par l'administrateur du service car, outre le fait qu'ils génèrent un trafic et un nombre de requêtes important, ils peuvent servir de relais à des attaques contre des serveurs ou des sites tiers. ↥ top

4.5.13. Répertoires contenant des centaines/milliers de fichiers

Un système de fichiers est une façon de stocker des informations et de les organiser dans des fichiers sur des média de stockage (disque-dur, CD-ROM, clef USB, SSD, disquette, etc.). Un système de fichiers permet de traiter, de conserver des quantités importantes de données ainsi que de les partager à travers des systèmes informatiques. Il offre à l'utilisateur une vue abstraite sur ses données et permet de les localiser à partir d'un chemin d'accès. Il existe d'autres façons d'organiser les données, par exemple les bases de données.

Sur des serveurs tels que ceux de Free, le système de fichier est clusterisé (réparti entre plusieurs machines physiques) afin de répondre aux millions de requêtes générées par les sites hébergés. Le contenu des différents répertoires est donc parcouru très fréquemment (notamment, par exemple, par le serveur Apache qui doit vérifier la présence de fichiers .htaccess dans les différents répertoires). Placer des centaines ou des milliers de fichier dans un même répertoire allonge considérablement le temps et les ressources nécessaires à l'accès au contenu du répertoire par le système de fichier pour satisfaire une requête. Vous devez donc veillez à ne pas recourir à ce type de pratique sur votre compte sous peine de voire votre site (et ceux de vos colocataires) fortement ralenti. De plus, votre compte peut être éventuellement suspendu si les abus sont manifestes. ↥ top

4.5.14. Compromissions / Virus / Phishing

Vous en êtes souvent pas à l'origine ; mais un compte présentant des failles de sécurité, des mots de passe trop faible ou des scripts non maintenus à jour pourra être suspendu car il sera considéré par l'administrateur comme « dangereux » pour les visiteurs qui s'y connectent, pour l'infrastructure des Pages Perso et pour le réseau Internet de manière générale.

Si vous êtes à l'origine de pages d'hameçonnage (pour « tester » ou « pour faire une blague »), parce que vous travaillez sur la sécurité informatique et présentez des exemples de vos travaux ou des tutoriaux, vous avez compilé une application repérée par un anti-virus… expliquez-vous directement sur le forum Usenet avec l'administrateur dans le cas où votre compte est suspendu.

Si votre compte est suspendu pour des problèmes de sécurité, vous trouverez des informations complémentaires et les procédures à suivre pour réactiver vos comptes dans les billets du site traitant de phishing et de compromissions et virus. ↥ top

4.5.15. Webcams

Il est interdit de déposer sur les serveurs de Free les images de vos webcam pour « plus de sécurité » ou pour « faire des tests » ou parce que « vous ne saviez pas que c'était interdit », sachez que l'admin des Pages Perso a décidé – devant le nombre de comptes concernés – qu'il ne réactiverait plus de compte dont la finalité est le stockage des images de camera IP.

Les webcam sont interdites pour deux raisons principales :

  1. La connexion par FTP génère des log de connexion que Free à l'obligation de conserver pendant un délai de quelques mois, une caméra se connectant à intervalle régulier génère des logs de connexion très importants ;
  2. La caméra enregistre ses fichiers images dans un même répertoire. Celui-ci peut rapidement contenir des milliers ou des dizaines de milliers de fichiers qui ralentissent considérablement les accès disques des serveurs hébergeant les données des utilisateurs lorsque Apache doit lire le contenu de ces répertoires.

Cependant, un usage respectueux du service est toléré : vous pouvez utiliser une image issue d'une webcam sur votre compte, si celle-ci est en accord avec le contenu de votre site et si vous raffraichissez la même image toutes les 10 minutes ; c'est-à-dire 6 fois par heure (délai le plus court pour ne pas être suspendu).

Vous trouverez toutes les informations complémentaires dans ce billet. ↥ top

4.5.16. Sites à vocation totalement commerciale

Les sites à vocation totalement commerciale, bien que tolérés sur l'infrastructure des Pages Perso, devraient être hébergés chez des hébergeurs payants (professionnels ou associatifs) en raison des spécificités de ces types de sites : réactivité et puissance du serveur demandées, garantie de service, accès sécurisés pour administration, maintenance du site et paiement en ligne… (cf. section correspondante de ce document). ↥ top

4.5.17. Base de données d'une taille démesurée par rapport au site

Le service des Pages Perso de Free est un service gratuit, optimisé pour des sites de taille « moyenne ». L'infrastructure est régulièrement soumise à des abus entrainant des erreurs lors de l'utilisation de scripts PHP. L'administrateur du service contrôle régulièrement que les sites occupent un espace sur disque et sur base SQL en accord avec leur importance. Il en est de même avec le nombre de visites, le nombre de pages servies, de requêtes vers les ressources du site, etc. Veillez à ne pas utiliser une base SQL « exagérément gonflée » par rapport à votre site ou votre compte risque d'être suspendu.

Il faut optimiser et nettoyer régulièrement votre base SQL. Vous réduirez ainsi sa taille totale, optimiserez le temps et le traitement des requêtes afin de servir les ressources de votre site plus rapidement vers vos visiteurs.

Si vous gérez les sessions de vos visiteurs depuis votre base SQL, il est important de nettoyer régulièrement la table de session. ↥ top

4.5.18. Fichiers binaires (BLOB, images, fichiers) en base de données

Les fichiers binaires sont des fichiers dont la place est sur votre espace Web (sur le serveur Apache), pas dans la base de données SQL. Vous pouvez cependant utiliser une base SQL pour gérer l'accès à ces fichiers (à l'exemple du CMS Mollify).

Parfois cependant, l'utilisation de BLOB est nécessaire, mais il faut restreindre leur utilisation au stricte nécessaire afin de ne pas surcharger les serveurs. Une utilisation raisonable de ces type de champs est tolérée par l'administrateur.

↥ top

4.5.19. Fichiers servis depuis PHP

Grâce à un langage tel que PHP, il est possible d'ouvrir, lire et modifier des fichiers avant de les envoyer à vos visiteurs. Cette opération est très consommatrice de ressources sur un hébergement mutualisé.

Nous avons vu précédemment que l'utilisation de fichiers comme base de données n'était pas autorisé sur les serveurs de Free. De même, l'envoi de fichiers binaires à vos visiteurs à travers des scripts PHP est interdit car cela monopolise le serveur PHP de votre « grappe » pour une tâche qui devrait normalement être dévolue aux serveurs frontaux Apache. Vous pouvez bien entendu utiliser des scripts PHP pour gérer vos téléchargements de fichiers, mais vous devez configurer ces scripts pour qu'ils fournissent au client le lien direct vers le fichier, notamment au travers de l'en-tête HTTP Location:, pas qu'ils lisent un fichier existant sur le disque pour l'envoyer à un visiteur.

La génération de petits fichiers « dynamique », tel que les images de captchas est cependant autorisé. ↥ top

4.5.20. Spam

Le spam est interdit sur les Pages Perso de Free, aussi bien affiché sur le site que présent en base (même modéré/masqué) ou envoyé depuis votre compte (au travers de vos scripts ou suite à une compromission). Le spam peut avoir plusieurs origines et conduire à la suspension du compte touché par celui-ci.

Le spam peut prendre plusieurs formes : message indésirable envoyé depuis des formulaires non protégés, spam de commentaires et de rétroliens sur des sites Web, notifications d'inscriptions d'utilisateurs fantômes ou de nouveaux commentaires postés par des robots (c'est du spam « indirect », publication de message sur des forums ou des blogs, etc.

Comme toujours en matière de sécurité (car la lutte contre le spam fait partie des règles de sécurité), il y a plusieurs actions à mener de concert :

  • Ne pas autoriser les messages ou les commentaires venant de participants non inscrits ;
  • À l'inscription, utiliser des dispositifs assurant que l'inscrit n'est pas un robot. Par exemple, une devignette (un captcha, quoi ; la majorité des gestionnaires de contenu dispose de fonctions ou de d'extensions permettant cela), et une validation de l'adresse e-mail par demande de réponse depuis celle-ci ;
  • Mettre à jour votre site vers la dernière version du CMS de forum / blog lui-même, mais aussi des éventuels plugins ;
  • À ce propos : supprimez les plugins qui ne servent pas, et penser à désactiver les statistiques des rapports de spam ;
  • Vérifier régulièrement qu'aucun spam n'a réussi à passer entre les mailles, et s'il y en a, les supprimer et chercher comment ils sont passés, au besoin en allant chercher de l'aide sur les forums consacrés à votre CMS de forum / blog, ou à défaut sur proxad.free.services.pagesperso.

Vous trouverez plus d'informations sur ce billet et, si votre compte est suspendu pour spam, la procédure de réactivation sur celui-ci. ↥ top

4.5.21. Comptes multiples miroir / doublon / divisions de sites

Il peut être tentant de chercher à « éclater » un site entre plusieurs comptes (un pour le forum, un pour le site, un pour les fichiers statiques, etc.), à réaliser un site miroir d'un autre site « au cas où… », a utiliser les fichiers hébergés sur un compte pour les afficher dans les pages d'un autre, etc.

Ces pratiques sont interdites sur l'infrastructure des Pages Perso. La règle est 1 compte = 1 site. ↥ top

4.5.22. Référencement déguisé

Les sites dont la finalité unique est de permettre le référencement et le positionnement d'un autre (ou d'autres) sites sont interdit sur l'infrastructure des Pages Perso. Par ailleurs, il s'agit là d'une technique de SEO douteuse de plus en plus sanctionnée par les moteurs de recherche. Au lieu de perdre du temps à créer des sites satellites, concentrez vos efforts sur la création de sites Web présentant du contenu intéressant, original, respectant des standards et permettant l'interopérabilité. Vous y gagnerez et le service des Pages Perso de Free également. ↥ top

5. Erreurs fréquentes

Quelques erreurs fréquentes sur les serveurs de Free sont assez simple à résoudre généralement, en voici une liste accompagnée de solutions pour les résoudre. ↥ top

5.1. L'erreur « Allowed memory limit »

L'erreur « Allowed memory size of 000 bytes exhausted (tried to allocate 000 bytes) in… » apparaît lorsque l'opération demandée requiert plus de mémoire que le serveur ne peut en fournir. Par défaut, cette valeur est réglée à 32 Mo (et 64 Mo avec PHP 5.6). Cette erreur n'apparaît que sur les pages du site qui dépassent la quantité de mémoire maximale autorisée pour l'opération de génération de la page depuis les scripts PHP et les bases SQL.

Pour corriger cela, il faut soit déterminer le script qui demande trop de mémoire afin de l'optimiser, soit trouver une alternative à ce script. L'hébergement des serveurs Pages Perso de Free ne permet pas à l'utilisateur d'augmenter la mémoire allouée aux scripts PHP. Free n'intervient pas sur les sites des utilisateurs, il lui est donc impossible de vous aider à définir comment optimiser vos scripts ou comment, par exemple, choisir un plugin Joomla! ou Wordpress moins consommateur de mémoire proposant la même fonctionnalité. Pour ces corrections et modifications, nous vous conseillons de consulter les forums ou les pages d'entraide des communautés des CMS que vous utilisez ou le forum Usenet des Pages Perso proxad.free.services.pagesperso. ↥ top

5.2. L'erreur « L'URL d'origine n'est pas compatible »

Le message d'erreur « L'URL d'origine n'est pas compatible » apparaît lorsque un firewall ou un antivirus est utilisé avec les formulaires de contact ou les livres d'or proposés par Free. Ce type de logiciel peut bloquer le fonctionnement des scripts si ils sont configurés pour masquer le « referer ». Il faut désactiver la fonctionnalité du logiciel qui masque cet élément (cf. notice d'utilisation de votre logiciel). ↥ top

5.3. Les erreurs « 500 Internal Server Error »

Suivez les informations présentées dans ce billet. ↥ top

5.4. Erreurs liées à la base de données ou aux fichiers et répertoires

Messages d'erreur :

  • Warning: mysql_connect(): Can't create a new thread (err no 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug in […] ;
  • Lost connection to MySQL server during query ;
  • Too many connections.

Il s'agit de problèmes temporaires que vous pouvez signaler dans le forum Usenet proxad.free.services.pagesperso si ils persistent.

Messages d'erreur :

  • Impossible de se connecter à la base de données ;
  • Could not connect to the database ;
  • Warning: mysql_connect(): Access denied for user 'votrecompte'@000.000.000.000 (using password: YES).

Vérifiez que le bon mot de passe a été indiqué dans la configuration du script PHP que vous utilisez ou dans la fonction d'accès à la base de données. Si le problème n'est pas lié au mot de passe, il s'agit d'un problème temporaire que vous pouvez signaler dans le forum Usenet proxad.free.services.pagesperso si il persiste.

Messages d'erreur :

  • Warning: mysql_connect(): Unknown MySQL server host 'login.sql.free.fr' (ou localhost ou sql.free.fr).

Votre base SQL n'est pas encore active ou le serveur SQL spécifié dans votre CMS ou vos scripts PHP n'est pas le bon.

Messages d'erreur :

  • Query failed: […] (Table 'votre_table' is marked as crashed and should be repaired).

Réparez la table en vous rendant sur les interfaces de gestion des bases SQL. Si la base n'est pas endommagée, le serveur SQL hébergeant votre base à un problème que vous pouvez signaler dans le forum Usenet proxad.free.services.pagesperso.

Messages d'erreur :

  • Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(/var/www/free.fr/X/Y/login/) is not within the allowed path(s): (/mnt/ABC/sdc/X/Y/login) in /mnt/ABC/sdc/X/Y/login/script.php on line X.

Le chemin d'accès absolu à votre compte a été modifié. Vous devez le modifier de nouveau à la main. Pour éviter ce genre de problème, nous vous conseillons d'utiliser la variable $_SERVER['DOCUMENT_ROOT'] dans la mesure du possible. Ainsi, lorsque votre site sera déplacé ou que vous le développez en local pour faire des tests, vous n'aurez pas à modifier les chemins absolus à chaque fois. De nombreux scripts PHP utilisent encore trop souvent la variable en dur. Il est difficile de dresser une liste exhaustive des modifications à effectuer pour chacun de ces scripts, référez-vous à la section correspondante de ce document dans un premier temps, ou renseignez-vous sur la marche à suivre pour modifier ce chemin sur les forums du CMS ou script concerné. Vous avez aussi la possibilité de poser la question sur le forum Usenet proxad.free.services.pagesperso.

Messages d'erreur :

  • Warning: file_exists() [function.file-exists]: Unable to access /mnt/ABC/free.fr/X/Y/fichier in /mnt/ABC/free.fr/X/Y/script.php on line X.

Une restriction empêche d'accéder aux fichiers avec les fonctions d'accès/lecture/écriture des fichiers de PHP. Pour le moment, n'accédez pas à ces fichiers avec les fonctions PHP.

Messages d'erreur :

  • Warning: main(http://login.free.fr/script.php) [function.main]: failed to open stream: Connection timed out in /mnt/ABC/sdc/X/Y/login/script.php on line X.

Vous ne pouvez pas accéder au fichier de votre compte Pages Perso par cette méthode. Utilisez l'include normal. ↥ top

5.5. Erreurs liées à la fonction mail()

Messages d'erreur :

  • mail(): Quota mail atteint
  • Warning: mail() [function.mail]: ligne incorrecte dans process_login! in /mnt/ABC/A/B/login/script.php on line C.

La fonction mail() est maintenant bloquée pour votre compte (cf. section correspondante de ce document) ou il s'agit d'un problème temporaire que vous pouvez signaler dans le forum Usenet proxad.free.services.pagesperso si il persiste.

L'envoi de courriels depuis les serveurs des pages perso est un problème fréquent pour bon nombre d'utilisateurs. Merci de vous reporter à ces quatres billets pour tenter de les résoudre ou signaler-le dans le forum Usenet proxad.free.services.pagesperso :

↥ top

5.6. Autres erreurs

Dans tous les autres cas, connectez-vous au forum Usenet proxad.free.services.pagesperso afin de décrire clairement le problème (script concerné, message d'erreur, URL sur laquelle le problème est reproductible et éventuellement le morceau de code concerné). Un certain nombre d'habitués pourront vous guider dans la résolution des problèmes que vous rencontrez. ↥ top

6. Signalements de comptes et cellule abuse

Si vous rencontrez un compte hébergé sur l'infrastructure des Pages Perso contrevenant manifestement aux règles d'usage des Pages Perso de Free de quelque nature que ce soit, contactez tout d'abord l'éditeur du site, afin qu'il puisse corriger les non-conformités constatées. Si l'éditeur du site ne réagit pas, n'accède pas à votre demande de droit de réponse, ou que l'adresse de courriel du site ne fonctionne plus, il vous est possible de contacter le service concerné de la société Free, la cellule Abuse, à l'adresse de courriel ou .

Sur signalisation de plaignants, les cellules Abuse interviennent auprès des clients fautifs (après confirmation technique de la validité d'une plainte). Cette intervention doit toujours être réalisée dans le respect de la Loi. Seules intervenants à pouvoir identifier les auteurs d'un incident opérés depuis leur réseau d'accès, les cellules Abuse interviennent directement par mail auprès des utilisateurs de leur services impliqués dans un incident Internet. Il est important de rappeler que ces incidents engagent la responsabilité du propriétaire du compte incriminé (cf. ce billet du site, la très bonne page de Timo Van Neerden ou le Guide juridique et responsabilités des blogueurs de {niko[pik]}).

Elles luttent ainsi contre :

  • L'émission de virus et malwares ;
  • L'émission de courrier non-sollicités ou spam ;
  • Les tentatives d'intrusion informatique ;
  • Les interventions non-conformes sur les forums, livres d'or, groupes de discussion… ;
  • La publication de contenus illégaux pour lesquelles elles se réservent le droit de signalement aux autorités judiciaires…

Selon la gravité de l'incident, les conditions spécifiques d'utilisation de leur réseau, le caractère répétitif des incidents, les cellules Abuse peuvent avertir un utilisateur de leur service et être amenées à :

  • Le rappeler au principe de bonne conduite sur Internet ;
  • Le sommer de cesser les actions problématiques ou de nettoyer son installation informatique ;
  • Suspendre éventuellement son accès au service par mesure de prévention ou fermer définitivement celui-ci par destruction du compte ;
  • Collaborer avec les autorités judiciaires.

Les cellules Abuse sont des opérateurs techniques et non des instances judiciaires. Elles tranchent sur la conformité d'un message, d'une requête sur les seuls caractères de la conformité aux règles de la Netiquette et de la législation. Elles mettent en œuvre des mesures techniques nécessaires à la protection de la communauté Internet (de l'avertissement à la suspension, voire à la destruction de compte) selon les procédures prévues par les CU et les CGU, en l'occurrence celles de la société Free.

Aussi, pour obtenir réparation d'un préjudice ou un jugement sur le fond d'un contenu publié (violation du droit d'auteur ou de votre droit à l'image, intervention sur un forum, blog, commentaires, page Web…), vous devez porter plainte auprès des autorités de Police, Gendarmerie ou Justice dont vous êtes justiciables. Ces actions doivent être entreprises trois mois maximum après la publication des contenus publiés.

Les courriers électroniques, les requêtes Internet que vous échangez sur Internet sont protégés, en France, par le secret de la correspondance. Les cellules Abuse interviennent donc uniquement sur signalisation de l'incident par des tiers ou par vous-même. Soyez concis lors de votre signalement et, notamment, ne réalisez qu'une seule signalisation par demande. Si vous devez contactez le service Abuse de Free, voici quelques conseils permettant d'accélérer et de simplifier les démarches :

  • Si votre demande concerne une violation de droits d'auteur : Signalez précisément le contenu objet de votre demande (compte et URL), la date et l'heure de consultation ainsi que les documents justifiant de vos droits sur le contenu signalé. Il est recommandé de suivre les procédures présentées sur la page de signalement de l'Association Française des Fournisseurs d'Accès (Free n'est pas membre de l'AFA) ou sur le site dédié du Ministère de l'Intérieur : Internet-Signalement. Vous pouvez également porter plainte auprès des autorités de Police, Gendarmerie ou Justice dont vous êtes justiciables ;
  • Si votre demande concerne des données personnelles : Ne recourir à la cellule Abuse que si tous les recours auprès de l'éditeur du site ont échoués. Dans ce cas, signalez précisément le contenu objet de votre demande, l'URL précise et le compte concerné, les démarches réalisées auprès de l'éditeur du site pour obtenir le retrait des contenus et leur date. Les réponses éventuelles de l'éditeur du site.
  • Si votre demande concerne des contenus injurieux, diffamatoires ou illégaux : Suivre les procédures présentées sur la page de signalement de l'Association Française des Fournisseurs d'Accès (Free n'est pas membre de l'AFA) ;
  • Si votre demande concerne des cas de phishing : Effectuez un copier/coller du code source de la page identifiée, pour disposer du contenu en texte brut (sans images ou fichier associés) en pièce-jointe, dans le courriel que vous envoyez à la cellule Abuse. Mentionnez l'URL complète de la page (pas seulement le nom du compte !), les liens éventuels que vous avez suivi depuis une page ou un courriel frauduleux, la date et l'heure de consultation. Pour les phishing d'autres fournisseurs d'accès ou de sociétés (banques, assurances…) contactez également leur service Abuse, qui est le seul habilité pour les poursuites ;
  • Si votre demande concerne des aspects techniques d'un site (failles de sécurité et compromissions, virus et malware, envoi de spam, tentative d'intrusion, etc.) : Cherchez, dans un premier temps, à rentrer en contact avec l'éditeur du site pour lui indiquer les problèmes rencontrés sur son site. Si ces démarches sont infructueuses, indiquez clairement le compte (et l'URL éventuelle), une description succincte des constatations et du type de problèmes rencontrés, la date et l'heure de la constatation, les démarches réalisées auprès de l'éditeur du site et restées infructueuses. Optionnellement, vous pouvez indiquer le port, le protocole ou le service visé, le nombre de requêtes et le type d'attaque constaté (DoS, Port scan, etc.).

Nous vous rappelons que les informations publiées dans les billets ce site ne constituent pas une aide « officielle » et peuvent se révéler erronées ou inexacte pour la société Free. Ce site donne des exemples connus de pratiques à suivre ou à éviter, mais ce ne sont que des exemples et pas une liste exhaustive ou officielle. Évitez donc de les utiliser comme « argument justificatif » lors de vos démarches auprès du service Abuse de la société Free. ↥ top

7. Suspensions / destruction et assistance

La société Free s'autorise le droit de suspendre ou détruire tout ou partie du contenu des sites Web hébergés sur son service de Pages Perso, sans préavis, si ceux-ci sont considéré comme incompatibles avec le Service (abus de ressources, spam, piratage, etc.) ou présentent un caractère illégal au regard de la loi française (phishing, téléchargement, arnaques financières, etc.). Il vous appartient de vérifier que votre site ne contrevient pas aux règles du service et aux CGU et que vous disposez en permanence de sauvegardes de vos données (espace web et base de données).

Pourquoi je n'ai pas reçu de courriel d'avertissement ? C'est très simple : par le passé, Free supprimait les comptes non-conformes. Puis, l'administrateur à testé une procédure d'avertissement par courriel à destination des gestionnaires des comptes non-conformes : « Nous avons constaté ceci sur votre compte, ce n'est pas conforme avec les règles du service. Merci de corriger dans les 15 jours ou nous seront dans l'obligation de suspendre votre site. ». Devant l'absence de réaction de 99,9% des utilisateurs du service, l'administrateur a décidé d'employer une méthode plus efficace : le compte peut-être suspendu deux fois (avec possibilité de réactivation par l'utilisateur depuis la console de gestion) puis, si le compte est suspendu une troisième fois, passage obligatoire par le forum Usenet pour obtenir la réactivation.

Pourquoi le site est suspendu soudainement ? Première possibilité, votre code n'a peut-être pas changé, mais entre temps votre site a évolué : il contient plus de données qu'avant, les requêtes SQL et les accès disques sont forcément plus lourds et prennent plus de temps. Certaines requêtes SQL peuvent verrouiller des tables (et donc les autres connexions se mettent en attente) et ce temps de verrouillage — autrefois négligeable — devient important. Deuxième possibilité, le serveur est globalement plus chargé avec le temps : depuis l'activation de votre compte, de nouveaux utilisateurs se sont installés et eux aussi ont des scripts qui consomment plus de ressources qu'auparavant. En conséquence, vos scripts disposent de moins de ressources qu'avant et donc ont plus de mal à s'exécuter. Néanmoins si vos scripts sont assez gourmands pour être repéré par l'admin, ils doivent sans doute pouvoir être optimisés. Dernière possibilité, vous utilisez des outils interdit sur le service : ces interdits évoluent avec le temps et un site qui fonctionnait depuis longtemps peut se retrouver suspendu du jour au lendemain, à partir de l'entrée en vigueur de ces nouvelles interdictions ou parce qu'ils génèrent maintenant suffisamment d'abus pour interférer avec le fonctionnement normal des serveurs hébergeant les sites.

Les comptes suspendus dont les titulaires ne se manifestent pas dans un délais de deux mois à compter de la date de suspension voient leurs comptes détruits. La destruction d'un compte Pages Perso n'entraine pas la suppression de l'adresse de courriel associée. L'utilisation de l'email est donc toujours possible, jusqu'à ce que l'utilisateur demande expressément la suppression de l'adresse de courriel concernée à Free (cf. section correspondante de ce document).

L'utilisateur est informé par un courriel de la suspension ou de la destruction de tout ou partie des données du compte. Ce courriel est envoyé à l'adresse de courriel associée au compte touché (si le compte touché est http://abc.free.fr alors le courriel d'information est envoyé à abc@free.fr). Il importe donc de surveiller tous vos comptes avec Pages Perso actives (ou les rediriger les comptes emails vers des adresses de courriel consultées régulièrement).

Nous rappelons également que la société Free désactive les adresses de courriel non consultées via Webmail, POP ou IMAP durant plus de 6 mois. Il sera alors impossible de recevoir un courriel d'information dans un tel cas. Les boites emails sont cependant réactivées lors d'une nouvelle connexion, mais vides de tout message antérieur à la date de réactivation.

La société Free n'assure aucun support officiel pour les Pages Perso. Néanmoins, elle met gracieusement à disposition un forum Usenet où des intervenants bénévoles guident les utilisateurs dans la résolution de leurs problèmes ou la réactivation de leur compte auprès de l'administrateur du service.

Si votre compte est suspendu (et que vous ne pouvez pas le réactiver via l'interface de gestion de votre compte), si vous rencontrez des problèmes ou si vous avez une question concernant le service des Pages Perso, le seul espace de discussion et d'assistance est le forum Usenet proxad.free.services.pagesperso. Ce forum est accessible sans identification depuis les connexions Free et, par identification (adresse de courriel Free et mot de passe associé), depuis les autres connexions. Il est lu par un grand nombre de bénévoles et par l'administrateur du service, Lionel. C'est là que sont annoncés les migrations, les problèmes de serveurs, les modifications, les changements dans les interdits…

En cas de suspension ou de problème avec vos Pages Perso, le recours à la Hotline et l'assistance email de Free est tout à la fois inutile et fortement déconseillé. En effet, elle n'ont pas compétence à résoudre les questions concernant les Pages Perso ; les réponses sont « variables » et peuvent même se révéler totalement erronées. Privilégiez donc le forum Usenet dédié, où vous trouverez toutes les réponses aux questions que vous vous posez en plus d'une information générale à propos du service.

En cas problème ou de suspension, consultez les billets du site Les Pages Perso Chez Free. Bien que non officiel, ce site est maintenu par des utilisateurs qui présentent les procédures à suivre pour lever les suspensions et blacklistage de compte, des astuces, des conseils et des bonnes pratiques pour vos Pages Perso.

En cas de suspension impliquant le passage par le forum Usenet, vous devez impérativement vérifier que tous vos comptes sont conformes aux règles d'usage de Free et aux CGU. Une méthode simple consisterait à vider vos comptes (espace FTP et SQL) et placer un fichier .htaccess à la racine, contenant la directive Options +Indexes ; bien que cette méthode rende vos comptes conformes (puisse que vides), elle ne vous permet pas de comprendre pourquoi tel ou tel compte était non-conforme. Chercher donc à vous documenter et à comprendre ce qui pose problème pour corriger vos sites avant de recourir à la « vidange » des données de vos comptes. Ainsi, vous ne répéterez pas ces erreurs.

Une fois votre demande de réactivation de site acceptée par l'administrateur, vous disposerez de l'accès FTP et SQL à votre compte. Profitez de ce temps pour réaliser les corrections nécessaires puis, une fois le site corrigé, rouvrez l'accès HTTP public en éditant correctement le fichier .htaccess qui se trouve à la racine de votre espace web. Il vous est évidement possible de limiter l'accès au site à votre seule adresse IP, le temps de réaliser les modifications et corrections nécessaires, avant d'ouvrir le site à tous les visiteurs. ↥ top

8. En cas d'incompréhension ou de désaccords avec ce document

Il est tout à fait normal de ne pas comprendre la totalité – ou une partie – de ce document. Ce n'est pas une raison pour ne pas vous lancer dans la création de votre propre site Web.

Si vous éprouvez des difficultés à comprendre ce document, vous pouvez rechercher la signification ou la définition d'un terme employé sur cette page sur le Web, privilégiez cependant les sites de « référence » tel que : Wikipedia.org, Wiktionary.org, Développez.com, AlsaCréations, OpenClassrooms, WebPlatform.org, Mozilla Developer Network, Dev.Opera ou encore StackExchange.

Ce document a été rédigé dans le but d'expliquer au plus grand nombre les spécificités de l'hébergement des Pages Perso de Free. Le Web étant « ouvert », de très nombreuses solutions peuvent être appliquées pour résoudre un même problème ou les effets d'une limitation des serveurs de Free. Ce texte se veut une « référence » – un bien grand mot ;-) –, mais chacun est libre de le suivre ou de ne pas le suivre, de rechercher ses propres solutions (et de les proposer ici).

Certains conseils et recommandations, largement admis sur la toile et proposés sur les sites Web précédemment cités dans ce document, peuvent être incompatibles avec le service ou inapplicables, utilisez-les avec précaution. Nous vous rappelons que ce document n'est pas issu de la société Free, les conseils et recommandations proposés ici ne constituent donc pas une aide « officielle » et peuvent se révéler inopérants ou erronés si Free modifie son infrastructure et ses logiciels serveurs. Ce document donne des exemples connus de pratiques à éviter, mais ce ne sont que des exemples et pas une liste exhaustive, et il suggère des solutions a priori admises, mais sans garantie. Vous pouvez également poser vos questions sur le forum Usenet de Free dédié aux Pages Perso, des bénévoles ou l'administrateur du service pourront vous répondre.

Ce document est fait pour évoluer, et il évoluera. Si vous souhaitez proposer une méthode alternative ou plus appropriée, ajouter des précisions ou faire part d'un oubli ou d'un désaccord avec une portion ou la totalité du texte, n'hésitez pas à le faire savoir à l'adresse courriel de ce site ou sur le forum Usenet. ↥ top

9. Remerciements

Merci à tous les contributeurs.

Les ressources ayant servies à la réalisation de ce document sont nombreuses. Il serait impossible de les citer toutes bien que la quasi totalité d'entre-elles soient référencées dans ce document. Je suis reconnaissant à leur(s) auteur(s) de les avoir publiées sur Internet (dont le Web n'est qu'un avatar), en libre consultation.