Migration de mon site vers Infomaniak

J’avais pris la décision l’année dernière de changer d’hébergeur, car l’actuel (One.com) commençait à me décevoir depuis quelque temps.

En dehors du prix qui augmentait régulièrement chaque année, je recevais chaque année deux mois avant l’échéance un mail me menaçant d’effacer toutes mes données car la carte de paiement de mon compte n’était plus valide. Et pour cause, j’utilise toujours une carte virtuelle à chaque échéance.

C’est le genre de truc qui m’énerve, je paie chaque année sans aucun problème, mais « ce mail est automatique, ils ne peuvent rien y faire, je ne dois pas en tenir compte ». Très bien : je me suis dit que finalement j’allais en tenir compte en allant voir ailleurs si l’herbe était plus verte.

Et j’ai choisi Infomaniak, « The Ethical Cloud », un hébergeur situé en Suisse (je rapatrie mes données en Europe ! :smile:). Ce n’est pas forcément l’offre la moins chère (je vais tout de même faire baisser la facture pour une meilleure offre), mais ils sont réputés pour leur sérieux, je les connaissais déjà par leur offre KDrive (15 Gb gratuits que j’avais envisagé d’utiliser à un moment), et ils ont une bonne réputation sur le Web. Enfin ils incluent dans l’offre plus de 100 CMS, dont WordPress bien sûr, mais aussi Zenphoto (ma galerie photo, ce qui était une belle surprise) et cerise sur le gâteau Nextcloud, que j’utilise déjà en auto-hébergement, et dont les possibilités sont très larges.

Reprenons tout ça et voyons comment la migration s’est passée. En résumé, ça a été vraiment facile, plus que je ne le pensais, et en quelques jours tout a été réglé (malgré une mauvaise approche avec Baïkal, mon serveur CalDav/CardDav).

Les hébergeurs

One.com

Mon blog était donc hébergé chez One.com depuis fin 2014. C’est un hébergement web partagé, cela suffit à mes besoins, avoir une machine dédiée (vHost) coûte beaucoup plus cher. C’est assez minimaliste, pas de service fourni (à part une sauvegarde journalière, mais ça tout le monde le propose). Leur interface (Panneau de configuration) est également très minimaliste.

J’en étais assez satisfait en terme de fonctionnement, de toutes façons je suis assez autonome et mes besoins sont basiques, mais les rares fois où j’ai contacté le support, il ne fallait pas attendre grand chose d’eux : tout est automatisé, et rien n’est permis en dehors de ce qui est accessible par l’interface.

Commercialement, ils pouvaient néanmoins modifier votre offre de manière unilatérale et changer le prix par la même occasion sans que vous ayez votre mot à dire, tout en vous ajoutant par exemple une galerie photo qui ne présentait aucun intérêt (basique, propriétaire, aucune possibilité d’export ou d’import, etc…), ou en augmentant votre espace disque de 25 Go à 50 Go (alors que je n’en utilise que 5 Go).

Et donc au moment de la facture annuelle, celle-ci augmentait régulièrement tous les ans d’environ 20%, nouvelle offre ou pas. J’étais ainsi passé d’une cinquantaine d’euros par an en 2020 à plus de cent euros l’année dernière. Cette année, je m’attendais donc à une facture de 120 €.

Côté technique, il me manquait tout de même un accès en SSH qui peut se révéler bien pratique (je n’avais que SFTP pour copier des fichiers). J’avais également eu besoin une fois d’un service de type cron pour rafraîchir un serveur de flux RSS que je testais, mais c’était impossible.

Infomaniak

L’offre d’Infomaniak est vraiment complète : en plus de ce que j’avais chez One, je passe à 250 Go d’espace, avec accès SSH et service WebCron. Et plus de 100 CMS et services Web que l’on peut installer en un clic (liste). Avoir les mises à jour de Zenphoto gérées automatiquement sera bien agréable, et disposer d’un Nextcloud dans l’offre est un énorme plus quand on compare les offres (et celle des concurrents d’ailleurs).

Tout ça pour environ 90€ TTC par an. Comparaison avec les tarifs de One cette année :

Nom de domaine Hébergement Total
Infomaniak 2024 8,40 € 82,80 € 91,20 €
One 2023 15,59 € 86,26 € 101,85 €

Je vais donc payer un peu moins cher pour une offre largement meilleure ! 😎

La migration

Reste à effectuer la migration : pour cela, Infomaniak offre un mois gratuit et c’est extrêmement pratique. Je vais pouvoir créer mon site WordPress, y transférer les données et vérifier que tout fonctionne avant de lancer la migration du nom de domaine qui fera tout pointer sur le nouvel hébergeur (pour cela, Infomaniak propose une URL temporaire). Idem pour Zenphoto, et dans la foulée, je testerai aussi mon serveur Baikal (CalDav/CardDav) qui me permet de synchroniser mes agendas.

Premiers pas

En cliquant sur « Démarrer 30 jours gratuits », la première chose demandée est un nom de domaine. On l’indique (donc pled.fr), et comme on ne souhaite pas le transfert immédiatement, on clique sur le petit menu à droite du bouton « Transférer », et l’on choisit « Commander un hébergement web uniquement » :

On va pouvoir ainsi installer une instance WordPress puis la faire pointer sur une adresse temporaire jusqu’à ce que l’on soit prêt à transférer le nom de domaine.

Le vrai nom de domaine est prêt à être utilisé…

C’est super bien fait, même s’il faut un peu de temps pour s’habituer à l’interface et s’y retrouver (à ce stade, on peut effacer le CMS installé et recommencer en cas d’erreur), on a vite un site WordPress fonctionnel prêt à recevoir le backup du site courant.

WordPress

Pour transférer le contenu de mon site WordPress, j’ai d’abord voulu utiliser le plugin UpdraftPlus, un des rares plugins de ce type gratuit et complet (comme All-in-One qui est paraît-il très performant, mais si le backup est gratuit, il faut payer pour la restauration !). Mais hélas, UpdraftPlus n’a pas fonctionné : j’ai eu des erreurs SQL lors de l’import de la BDD, et côté fichiers il m’a effacé des plugins préinstallés par Infomaniak… Résultat : site corrompu, j’étais bon pour l’effacer et tout reprendre de zéro.

J’ai donc tout fait « à l’ancienne ». En fait, j’ai globalement suivi ce très bon document : https://knowledge.parcours-performance.com/transfert-site-wordpress-vers-infomaniak/

Après l’installation par Infomaniak du nouveau WordPress, j’ai créé une nouvelle base (une autre occasion d’appréhender leur interface), puis importé un simple export via PHPMyAdmin du site chez One. Il a juste fallu éditer le fichier .sql avant l’import pour modifier le nom de la nouvelle base : en effet, Infomaniak ajoute un préfixe à la base de donnée créée, qu’il faut ajouter sur les deux lignes concernées en début de fichier, à savoir :

CREATE DATABASE IF NOT EXISTS xxxxxx_dbname
USE xxx
xxx_dbname

L’import s’est alors déroulé sans erreur, il ne reste plus qu’à s’occuper des fichiers, et donc du dossier wp-content à recopier en totalité (j’ai fait ça avec FileZilla en les copiant d’abord sur mon PC puis en les transférant chez Infomaniak. J’ai procédé sous-dossier par sous-dossier, en laissant l’existant et en ajoutant mes thèmes, mes plugins, et bien sûr tout le dossier uploads.

À partir de là, il ne reste plus qu’à éditer le fichier situé à la racine wp-config.php pour y indiquer les bonnes infos pour DB_NAME, DB_USER, DB_PASSWORD, $table_prefix.

Et voilà, on peut afficher le site WordPress (avec l’adresse temporaire que fournit Infomaniak) qui est désormais la réplique exacte du site original. 😎

Problèmes rencontrés

À première vue, pratiquement aucun problème, mais quelques plugins ne fonctionnaient plus (tous obsolètes, c’est d’ailleurs surprenant qu’ils fonctionnaient encore sur l’ancien site, peut-être qu’au fil des mises à jours, le fonctionnement reste assuré d’une façon ou d’une autre ?) :

  • le plugin « Subscribe to Comments » générait des erreurs PHP. En fait ce plugin était très ancien (2015) et n’était plus maintenu, je me demande même comment il fonctionnait encore sur l’ancien site. Il est en fait remplacé par Subscribe to Comments Reloaded que j’ai installé à sa place et qui fonctionne très bien en offrant plus d’options.
  • le plugin « Thumbnails for excerpt » ne fonctionnait plus, pour les mêmes raisons. Et le plugin Advanced Excerpt le remplace avantageusement.
  • le plugin « WordPress Video plugin » générait des erreurs PHP. Cette fois, j’ai du repasser sur tous mes articles dans la catégorie « Vidéos » pour remplacer l’utilisation du plugin par un bloc « youtube » désormais intégré à WordPress (ce qui n’était pas le cas il y a quelques années). Heureusement, ça a été assez rapide : 25 articles concernés.

Lien erroné pour l’album photo

Par la suite, en parcourant les pages, j’ai vu que les liens d’articles pointant sur l’album photo ne fonctionnaient plus : en effet, avec Infomaniak, j’ai créé un sous-domaine pour Zenphoto (voir plus bas) puisque j’utilisais leur installeur. C’est aussi bien comme ça, mais ce n’était pas le cas chez One, zenphoto n’était qu’un sous-dossier sur mon hébergeur précédent.

Il m’a donc fallu remplacer dans tous les articles la chaîne de caractère pled.fr/zenphoto par zenphoto.pled.fr. Ce qui donne en SQL :

UPDATE 0_posts 
SET post_content = REPLACE(post_content, 'pled.fr/zenphoto', 'zenphoto.pled.fr')

Gramps – Baïkal

Pour Gramps, il s’agit d’un site généré par l’application, en pur HTML, et donc juste un dossier à recopier à la racine du même site, ce qui correspond à ce que j’avais chez One.

Pour Baïkal, c’est à peine différent, une fois le dossier de la dernière version copié sur le site, il faut juste lancer le setup qui dure deux secondes, puis recréer à la main les calendriers et le carnet d’adresse avec les mêmes noms que précédemment. En plaçant le dossier au même endroit, et en appliquant le même mot de passe, c’est ensuite totalement transparent, tout se synchronisera (avec le même mot de passe bien sûr) sans avoir rien d’autre à faire. Du moins c’est ce que je croyais…

Problèmes rencontrés

Parce que quelques jours plus tard, je me suis rendu compte que je n’avais plus de données côté PC : contacts et agendas étaient vides ! 😳 Je pouvais créer de nouveaux évènements ou de nouveaux contacts et les synchroniser avec le smartphone, mais tout l’existant n’apparaissait plus sur le PC (dans Evolution). De son côté, Baïkal affichait 0 Contacts, ou 0 Events… J’avais beau synchroniser le smartphone, rien à faire.

En fait j’aurais du suivre les instructions comme pour une upgrade, et au moins sauvegarder/restaurer la base de données ! Là, j’ai vraiment mal abordé la migration, j’étais persuadé qu’en synchronisant côté smartphone, la BdD allait être repeuplée. Mais non, cela ne fonctionne pas pour les évènements censés être déjà à jour (si j’ai bien compris).

Heureusement que côté smartphone, tous était resté intact. J’ai donc fini par exporter mes calendriers un par un au format .ics, puis les importer dans Evolution pour retrouver la situation d’avant la migration. Mais j’ai perdu mes « tâches », parce que l’export du calendrier ne propose de sauvegarder que les évènements ! 🙁

Pour les contacts, ça a été un peu plus compliqué : j’avais bien exporté mes contacts au format .vcf à partir du tel, mais Evolution était incapable de l’importer (plus de réponse de l’application au moment où j’indiquais le fichier à importer, obligé de la tuer). Puis j’ai vu que le fichier VCARD était en version 2.1 alors que la version 4 existe. J’ai cherché de ce côté, et trouvé un convertisseur en v3 écrit en python ici. J’ai donc suivi les instructions :

$ cd 
$ git clone https://github.com/jowave/vcard2to3.git
$ cd vcard2to3/
$ ./vcard2to3.py ~/contacts.vcf 

J’ai ainsi récupéré un fichier contacts.vcf.converted (en v3) et cette fois l’import dans Evolution est passé sans problème. Ouf !

Zenphoto

Là, il faut un se familiariser avec le fonctionnement d’Infomaniak. Je n’ai qu’un nom de domaine, il va donc falloir utiliser un sous-domaine car l’installateur automatique d’Infomaniak va automatiquement vous créer un nouveau site pour chaque application installée.

Je vais donc dans « Gestion des Sites », et je choisis « Ajouter un site ». Sur la page qui s’affiche, je choisis alors « l’option « Continuez sans installer d’outil » :

Et dans le fenêtre suivante, je choisis « Utiliser un sous-domaine », et renseigne le nom du sous-domaine souhaité, ainsi que le nom de mon domaine :

Une fois ce site créé dans un sous-domaine, je peux alors utiliser leur outil d’installation et choisir Zenphoto pour ce site.

À terme, vous retrouvez cette arborescence sur le site FTP (ici après avoir aussi installé Nextcloud, voir plus bas) :

Concernant la migration du site Zenphoto, j’ai suivi la procédure indiquée dans la documentation : Infomaniak m’ayant installé la dernière version 1.6.4, j’ai du commencer par mettre la mienne à niveau :

  • mise à jour de ma version chez One de 1.6.0 à 1.6.4 pour faire la migration à partir de 2 versions identiques.
  • Copie du fichier index.php à la racine et du dossier zp-core sur le nouveau serveur.
  • Copiez tous les thèmes ou plugins personnalisés de l’ancienne installation vers la nouvelle.
  • Exportez la base de données de l’ancienne installation en utilisant l’outil de sauvegarde de la base de données sur la page d’aperçu de l’administrateur.
  • Copiez les dossiers suivants de l’ancienne installation vers la nouvelle :
    • backup
    • albums
    • cache
    • uploaded (facultatif si vous l’avez utilisé)
  • Lancez maintenant le setup (/zp-core/setup.php). Il fournira l’option d’importer la sauvegarde de la base de données.

Tout a parfaitement fonctionné, même si la copie est très longue entre le dossier albums et le dossier cache, selon le nombre d’albums, cela peut prendre du temps.

Problèmes rencontrés

J’avais un album qui s’affichait mal à cause d’un caractère accentué (É) dans le nom du dossier. C’est de ma faute, car si l’on crée les albums via l’interface de Zenphoto, ce dernier remplace tous les caractères de ce type par des tirets (-) afin d’éviter ce genre de problème assez fréquents avec ce type de caractères (j’avais créé ce dossier à la main via SFTP).

J’ai recréé cet album manuellement, c’est assez rapide. Ce qui m’a donné l’occasion de tomber sur un bug avec les données EXIF qui ne sont plus ajoutées dans la BDD, ce qui fait que la belle géolocalisation que j’avais mis en place n’est plus affichée. Mais le bug est déjà identifié et corrigé, et sera disponible dans la version 1.6.5. J’attends donc cette prochaine version, il n’y a rien de critique ni d’urgent !

Nom de domaine

À ce stade, il en reste plus qu’à migrer le nom de domaine.

Je commence par aller chez One.com récupérer l’Auth-ID : aller dans le Panneau de Configuration, puis Mes produits, à droite « Gérer » puis « Obtenir l’Auth-ID ». On récupère le code nécessaire. C’est bien sûr différent pour chaque hébergeur.

Ensuite, côté Infomaniak, cela a été une pure formalité, j’ai juste demandé la migration du domaine pled.fr que j’avais indiqué dès le départ quand j’avais démarré mon essai gratuit. Il faut fournir le Auth-ID afin de prouver que je suis bien le propriétaire du nom de domaine, puis on paie le transfert (8,40 €), et environ une heure après tout est terminé. On peut éventuellement suivre le transfert sur le site whatismydns.net :

Conclusion

Et voilà, une migration vraiment facile et sans heurts, mis à part les soucis avec le serveur Baïkal : ce qui me paraissait le plus simple au départ s’est révélé ce que j’ai le plus mal géré ! Je m’attendais à quelque chose de beaucoup plus compliqué, de problèmes de transfert WordPress, et encore plus de galères avec Zenphoto, mais non, tout a été plutôt facile de ce côté là.

Cet article est donc le premier à avoir été écrit sur ce nouvel hébergeur ! 😎

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *