Le service support de Online mis à contribution
Publié le 15/12/2015 à 23:57:54 par Didier - Mise à jour de l'article le 19/12/2015
Ca faisait longtemps que j'avais envie d'installer un blog sur mon site. Pas pour raconter « my life » et faire comme tout le monde mais parce que c'est réellement important pour le référencement. Je vous en parlerais plus longuement dans d'autres billets mais ce n'est pas le sujet de celui-ci.
Venant d'installer un blog sur le site de mes deux derniers clients j'en étais très satisfait et ça m'a poussé à sauter le pas et à me mettre à la tâche le week-end dernier pour installer le même système sur mon propre site. Pour commencer il me fallait une base de donnée mySQL pour stocker les articles. Je me connecte donc à l'interface de mon hébergeur et je vais dans l'administration de l'hébergement. Depuis la console de Online.net l'installation d'une base de donnée est un jeu d'enfant. Et c'est là que je remarque dans le menu une entrée intitulée « Application Web (nouveau) ». Par curiosité je regarde ce que cette nouveauté propose...
Wordpress m'a tué
Dans la liste des application web proposées par l'hébergeur Online on trouve bonne douzaine d'applications largement utilisées par de nombreux internautes administrant leur propre site internet. Ca va de CMS de blogs tels que Wordpress ou DotClear jusqu'aux boutiques en ligne Prestashop. C'est très intéressant et les applications permettent de satisfaire tout type de client.
L'installation est automatisée et s'opère en quelques secondes.
Souhaitant ajouter une nouvelle fonctionnalité à mon site, un blog, je choisi donc d'installer le CMS Wordpress, toujours par curiosité et pour voir ce que je pourrais faire avec et essayer de la manipuler un peu. Je pense que l'installation va simplement copier les fichier dans le répertoire que j'ai choisi et effectuer un minimum de configuration de base. C'est toujours plus rapide que d'avoir à télécharger le produit et essayer de l'installer soi-même.
Je clique donc sur Worpress et ensuite sur « Install ».
Tout se passe très bien et très rapidement.
Je continue ensuite d'installer mon propre système de blog et une fois tous les fichiers requis uploadés sur le serveur je commence à faire quelques tests.
Et c'est là que surviennent les Erreurs 500 systématiques sur chaque page php. Plus rien ne fonctionne. Seules les pages HTML répondent encore. Même la page d'erreur 404 personnalisée ne fonctionne plus. TOUT EST CASSE !!!
Premier contact avec l'assistance Online
Je retourne voir la configuration de mon hébergement sur la console d'administration de mon hébergeur. Très vite je me rend compte que la version de PHP qui est installée est passée de la version 4 à la version 7. C'est sans doute l'installation de l'application web qui a changé la configuration de mon serveur sans même me prévenir. A aucun moment je n'ai été informé des risques que j'encourrais en installation une application web en automatique depuis l'outil mis à disposition par l'hébergeur. A mon niveau je n'avais aucun moyen de revenir à la situation antérieure car la console d'administration me proposais seulement de revenir à une version de PHP 5 et pas du tout d'annuler ce qui venait de se passer pour revenir à la situation d'avant.
J'ouvre donc un ticket pour expliquer mon problème et obtenir l'assistance du service support qui est normalement joignable 24h sur 24. Il était un peu plus de 18h. Ensuite, en consultant l'état des services pour m'assurer qu'il n'y avait pas de problème chez eux, j'apprends qu'exceptionnellement, ce jour là, l'assistance serait fermée de 18h à 22h. J'avais donc 4 heures d'attente avant d'espérer une réponse.
Les échanges avec l'assistance ont commencé samedi soir et ont duré une bonne partie du dimanche. Ils m'ont repassé en version de PHP 5.4 et finalement en version 4.9. Ce n'est que dans cette dernière configuration que toutes mes anciennes pages fonctionnaient. Mais un problème persistait concernant les nouvelles pages de mon blog et en particulier les pages de connexion. On me repasse alors en version 5.4 mais ça ne fonctionne pas mieux et de plus j'ai d'anciennes pages non compatibles avec PHP 5 qui ne fonctionnent plus.
Le lundi à 11 heures je suis basculé à nouveau en version 4. Je refais un test en commençant par les anciennes pages qui fonctionnaient jusqu'à samedi.
- pas d'erreur 500
- pas de redirections intempestives
- pas de PHPSESSID dans les liens
- Les formulaires fonctionne à nouveau
- J'ai également testé une page php d'upload de fichier et elle fonctionne
- Le formulaire de contact fonctionne
Donc la situation est rétablie comme à samedi matin
Un problème subsiste cependant concernant les nouvelles pages qui demandent une authentification et utilisent les variables de sessions. Apparemment le fonctionnement des sessions avec la variable super globale $_SESSION de php ne fonctionne pas. Pourtant j'ai un autre hébergement sur online.net qui est en même configuration de PHP et qui fonctionne avec le même code. C'est incompréhensible.
Soirée débugging
Ma soirée de lundi soir je la passe à débugger mes pages PHP pour faire afficher les informations pas à pas et essayer de comprendre ce qui se passe.
Le verdict est sans appel : les variables de session sont perdues quand je passe d'une page à l'autre. Mon formulaire de connexion à ma propre console d'administration ne fonctionne plus.
A l'aube du troisième jour mes échanges avec l'assistance Online reprennent. Cette fois j'ai vraiment du mal à me contenir car le malheureux prestataire sur qui je suis tombé me pose des questions au sujet de la version de Wordpress que j'utilise et ensuite veut savoir quel CMS j'ai installé. Mais non, je n'utilise pas Wordpress et je n'ai pas l'intention de l'utiliser. C'est Wordpress qui est justement la cause de tous mes problèmes actuels. La question est simplement d'arriver à faire passer les variables de session PHP d'une page à une autre.
La raison du problème
Ce n'est que dans l'après-midi du mardi que j'ai un éclair de lucidité et que je pense avoir trouvé une piste. Au mois de septembre, pour respecter la législation européenne concernant la protection des données personnelles, j'avais installé un bandeau pour demander à l'utilisateur son approbation concernant les cookies. La CNIL exige de recueillir l'autorisation des internautes avant de déposer des cookies. Vous pouvez télécharger mon script cookies CNIL gratuitement. Mais si les variables de session sont transmises par cookies il est possible que ce soit tout simplement ça qui bloque le passage des variables d'une page à une autre. C'est une bonne piste il me semble.
Stupidement je n'avais même jamais cliqué sur le bouton [OK] pour accepter les cookies sur mon propre site. Aussitôt j'effectue un ultime essai :
- aller sur ma page de connexion
- accepter les cookies en cliquant sur le bouton OK du bandeau
- tentative de connexion avec mon identifiant et mon mot de passe
Et là j'arrive sur la page suivante en étant reconnu comme administrateur. Un lien supplémentaire et je me retrouve dans l'interface d'administration de mon blog ! CA FONCTIONNE !!
C'était vraiment stupide. Pendant trois jours j'ai embêté l'assistance technique de mon hébergeur alors qu'il n'y a jamais eu aucun problème avec les sessions PHP, ni même aucun bug dans mon code. C'était tout simplement le fonctionnement normal. Je devais accepter les cookies.
Je remercie chaleureusement toute l'équipe de Online qui s'est occupé de moi pendant ces trois jours :
Yann G.
Julien M.
Anthony C.
Thibault C.
Jonathan L.
Etienne K.
Avec toutes mes excuses pour le dérangement.