Thivinfo présente un nouveau service: paroisse-catholique.fr

Aujourd’hui, je souhaite partager un nouveau projet qui pourra rendre de nombreux services je l’espère à certains d’entre vous.

Il était une fois 5p2p

J’ai travaillé un peu plus de 2 ans pour l’association 5 Pains et 2 Poissons qui avait pour but de faciliter le numérique auprès des associations ecclésiastiques.

En tant que développeur WordPress, je produisais des sites web pour des institutions et congrégations religieuses. Cette expérience m’a permis de découvrir un monde qui a besoin de communiquer et de façon efficace… mais qui n’en a pas les moyens.

WordPress au service de l’Église Catholique!

A la fin de cette expérience, l’idée m’est venu de créer un service permettant aux paroisses n’ayant pas trop de revenu d’accéder à un service web de qualité répondant aux standards du web d’aujourd’hui.

Et c’est ainsi qu’est né paroisse-catholique.fr !

Que propose Paroisse-catholique.fr?

Paroisse-catholique.fr propose une solution clé en main qui vous permettra de créer vous même sans connaissance technique le site qui ressemble à votre paroisse.

  • Publiez facilement de l’actualité a destination de vos paroissiens
  • Programmez vos évènements paroissiaux et locaux
  • libérez vous des contraintes, ne gérez que la communication de votre paroisses facilement.
  • Permettez a vos paroissiens de vous contacter facilement
  • Mettez facilement en place des campagnes de dons (denier du culte, donations…)

Quels sont les domaines disponible?

Pour le moment vous pourrez obtenir dans le cadre de votre abonnement un sous-domaine de l’un des domaines suivant:

  • paroisse-catholique.fr
  • paroisse-catholique.org
  • paroisse-catholique.net
  • paroisse-catholique.info
  • paroissial.fr
  • ma-paroisse.org
  • ma-paroisse.fr
  • votre domaine personnalisé…

Migrer un site d’un multisite vers une installation classique

Présentation du multisite WordPress.

La technique du Multisite permet de faire fonctionner plusieurs site WordPress ensemble au sein d’une seule et même installation.

Cette technique permet de mutualiser le Coeur de WordPress, les thèmes ainsi que les extensions.

En résulte un gain de temps non négligeable lors de la maintenance de vos sites puisque vous ne mettez à jour qu’une seule fois.

En savoir plus:

Extraire un site d’un multisite étape par étape.

Tout d’abord, ce tutoriel ne se veut pas LA méthode mais une méthode qui fonctionne et que j’ai mis en action aujourd’hui dans le cadre de mon poste de développeur WordPress.

Étape -1 – Sauvegarde

Saaaaauuuuuvvvvvveeeeegggggaaaaaarrrrrrdddddeeeeee

Sauvegardez vos fichiers (WP, extensions, thèmes, mu-plugins et base de données Mysql)

Étape 0 – Installation en local

Avoir le multisite en local, ce sera bien plus simple à gérer et en cas d’accident, ca ne génera que vous!

Étape 1 – Mises à jour

La première étape va consister a mettre votre multisite à jour:

  • WordPress
  • Thèmes
  • Extensions
  • Langues

Si cette étape n’est pas fondamentale, je me dis que:

  1. ça ne peut pas faire de mal
  2. ça peut éviter les conflits et les soucis par la suite quand vous importerez thèmes et extension dans votre site WordPress « Classique ».

Étape 2 – Installer WordPress

Installer un WordPress tout beau tout neuf… Pour cela je vous propose de le faire en 3 minutes grâce au script wp-cli que j’ai créé pour vous…

OK j’avoue, je l’ai créé pour moi… et je me suis dit que ça pourrait vous intéresser!

Étape 3 – Transférer les fichiers

Alors maintenant, va commencer un transfert de fichiers. Voilà pourquoi je vous ai demandé en étape 0 de travailler en local. e sera bien plus facile de déplacer des fichiers dans l’explorateur de votre machine qu’à distance via un sFTP ou autre.

Pensez à transférer:

  • Les thèmes (parent et enfants)
  • Les extensions
  • Les « mu-plugins »
  • le dossier « uploads »… mais lui je lui réserve l’étape 4!

Bien sur, sur le multisite peut être que toutes les extensions ou tous les thèmes n’étaient pas utiles pour le site que vous êtes en train d’extraire.

Ne transférez que ce dont vous avez besoin et n’activez rien

Étape 4 – le dossier « Uploads »

Le dossier Upload situé dans `wp-content` contient tous les médias téléversés sur votre site et disponible dans la médiathèque.

Avouez que ce serait ballot de ne pas les retrouver dans votre nouvelle installation.

Le dossier Upload est un peu différent à transférer puisque son architecture de dossiers et de sous-dossier est différent d’une installation classique.

Architecture du dossier Uploads en Multitisite
Architecture du dossier Uploads en Multitisite

Remarquez la différence avec une architecture classique. Dans « uploads », nous avons un dossier « sites » qui n’existe pas dans une installation classique de WordPress.

A l’intérieur de ce dossier « sites » nous avons un dossier nommé par l’id du site dans l’infrastructure multisite.

Ensuite, nous retrouvons le classement classique des médias par WordPress avec un dossier année et un dossier mois.

Retrouvez l’ID du site a extraire du multisite

J’estime que si vous faites cette manipulation alors vous avez les privilèges de super-administrateur.

Cette étape est assez simple, il faut se rendre dans l’administration réseau de votre multisite puis dans le sous-menu « Sites » au bout de la ligne concernant le site à migrer vous trouverez l’ID de celui-ci.

Trouvez l'ID du site à migrer
Trouvez l’ID du site à migrer

L’identifiant récupéré vous pouvez déplacer tout le contenu du dossier ayant l’id comme nom dans wp-content/uploads afin de retrouver l’arborescence classique d’un WP.

Étape 5 – exporter puis importer la base de données

C’est bien beau mais pour le moment, vous avez tout sauf votre contenu…. et dans un site, c’est bien le plus important la base de données.

Pour ce tutoriel, je vais estimer que vous avez le préfixe par défaut « wp_ ».

A l’image des médias, WordPress multisite ajoute l’id du site sur certaines tables.

Il va donc falloir exporter toutes les tables ayant l’ID ainsi que les tables wp_user et wp_usermeta qui elles n’ont pas d’id car dans un multisite, les utilisateurs sont commun à tous les sites.

Personnellement je le fais avec PHPmyAdmin si les tables ne sont pas trop volumineuses… on sélectionne les tables voulues (exemple: celle du site « 4 » wp_4_ ainsi que les 2 tables d’utilisateurs).

Avant d’importer, supprimez les tables wp_user et `wp_usermeta` de l’installation classique afin d’éviter les conflits avec les tables que vous allez importer.

Pour l’import dans le WP classique, utilisez également l’outils dont vous avez l’habitude.

Vous allez vous retrouver avec des tables en doublons: Celles de votre installation classique et celle que vous venez d’importer qui ont le préfixe `wp_4_`. Supprimez les tables en doublons de l’installation classique.

Importez vos tables « multisites »

A cette étape, si vous regardez votre base de données dans PHPmyadmin ou autres, vous devez remarquer des tables en wp_ et d’autres en wp_4_

Dans PhpMyadmin, cochez toutes les tables en `wp_4_` puis en bas de la page dans le menu déroulant sélectionnez « Remplacez le préfixe de table »

Si vous décidez de modifier le préfixe de table, n’oubliez pas de corriger le `wp-config.php` en conséquence.

On y est presque!

Étape 6 – Remplacer les URLs des médias en Base de données.

Pour cela j’utilise le script SRDB d’Interconnectit. Vous trouverez un guide de ce script chez mon ami Grégoire Noyelle.

Ici nous allons modifier les urls vers les medias et donc faire un recherche et remplace qui ressemblerait à ça:

Search: https://example.com/wp-content/uploads/site/4/2019/02/mon-image.jpg

Replace: https://example.com/wp-content/uploads/2019/02/mon-image.jpg

Étape 7 – la base utilisateur

Lors de l’import de la base de données, nous avons importé tous les utilisateurs du multisite… or, il y en a qui n’ont aucun rapport avec le site que vous venez d’extraire.

Je n’ai malheureusement pas encore trouvé une requête sql qui va bien … si vous avez une idée, soumettez la moi en commentaire, c’est avec joie que j’améliorerais ce tutoriel.

Étape 8 – Vérifications

Normalement, votre site classique est une copie exacte de votre site lorsqu’il était dans le multisite.

Selon vos installations, il peut y avoir 2/3 choses à régulariser. Exemple, remplacer des urls vers des images écrites en dur dans des fichiers css créé parle constructeur de page Elementor…

Vous avez peut être transférer des extensions qui n’ont un intérêt que dans le cadre d’un multisite…

Étape 10 – Se reposer!

Ouais y’a pas d’étape 9 car ça fait bien de s’arrêter sur un chiffre rond! une dizaine tout ça!

Normalement vous venez d’extraire sans encombre un site d’un multisite vers un site classique WordPress… vous avez bien mérité une petite mousse, un café ou n’importe qu’elle autre chose qui vous fera plaisir!

Et sinon, il y a la méthode simple! (ajout du 20 avril 2019)

Si comme moi vous êtes adepte de WP-CLI alors ce script vous permettra d’extraire un site du multisite en quelques secondes…

trepmal/blog-extractor

WP-CLI command. Extract single blog from multisite – trepmal/blog-extractor

https://github.com/trepmal/blog-extractor

Faire du Domain Mapping avec WordPress multisite

Dans l’épisode précédent, je vous présentais simplement (du moins je l’espère) comment mettre en place un multisite sous WordPress. Nous avons vu que nous pouvions donc créer sur la base d’une seule installation WordPress autant de site que nous voulions.

Les sites créés avaient alors 2 syntaxes possibles:

  1. en sous-domaine ex: site1.example.com
  2. en sous-dossier ex: example.com/site1

Avouez que c’est un bon début mais que si en plus on pouvait avoir une URL personnalisée… Alors ce serait parfait!

Quand je parle d’URL personnalisée, je veux dire une adresse de site comme thivinfo.com pour le 1er site et tartempion.com pour le second.

C’est précisément maintenant que le domain mapping intervient.

Mise en place coté registrar

Et oui, il va falloir paramétrer le ou les noms de domaines que vous voulez mapper chez votre registrar. Je ne peux pas vous détailler la façon de faire car elle est propre à chaque hébergeur selon le panel d’administration utilisé.

Sachez que, si votre nom de domaine est géré par votre hébergeur, il faut faire pointer ce domaine à la racine du dossier contenant votre installation WordPress.

Mise en place coté WordPress

Une fois que vos domaines pointent sur le bon dossier, il faut prévenir WordPress qu’il va devoir gérer 1 ou plusieurs autres domaines.

Concrètement, on va imaginer que j’ai un réseau de site WordPress sur le domaine tuto-multisite.local et que sur ce reseau de site j’ai un site https://tartempion.tuto-multisite.local. https://tartempion.tuto-multisite.local est une URL tout a fait accessible (en local mais le principe est identique sur une URL publique) et je pourrais rester comme ça. Sauf que pour communiquer il serait plus simple  de donner comme URL tartempion.com.

Le but est donc de faire pointer toutes les requêtes de tartempion.tuto-multisite.local et de les envoyer sur tartempion.com.

Installation de l’extension

Pour cela, nous allons utiliser une extension disponible gratuitement sur le dépot WordPress: https://fr.wordpress.org/plugins/wordpress-mu-domain-mapping/

Nous sommes en Multisite WordPress, l’installation des extensions se fait donc au niveau de l’administration réseau.

Ensuite, comme sur une site classique WordPress, vous recherchez l’extension WordPress MU Domain Mapping, l’installez et l’activez sur le réseau.

Rendez vous, toujours au niveau de l’admin réseau dans le menu « Domain Mapping ». Et là: Ça marche pas et vous avez une ligne disant:

« Please copy sunrise.php to /path/to/wp-content/sunrise.php and ensure the SUNRISE definition is in/path/to/wp-config.php »

Que l’on peut traduire par:

« Veuillez copier sunrise.php dans chemin/vers/wp-content/sunrise.php et assurez vous d’avoir défini SUNRISE dans votre fichier wp-config.php ».

Attention, voici LE passage compliqué de ce tutoriel consacré au domain mapping!

Dans le répertoire de l’extension sous wp-content/plugins/wordpress-mu-domain-mapping vous allez trouver le fichier sunrise.php

Prenez ce fichier et glissez le sous wp-content/

Il nous reste plus qu’a définir une constante PHP pour autoriser le domain mapping dans le wp-config.php

vers la partie où vous avez déclarez le multisite, ajoutez

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'tuto-multisite.local');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

define('SUNRISE', true);"}

Si vous retournez dans les réglages du Domain mapping vous verrez ce nouveau menu de réglages :

Sauvegardez bien vos paramétrage et… votre multi-site multi-domaine WordPress est prêt! \o/

Mappez son 1er domaine WordPress

On va donc mapper tartempion.com sur tartempion.tuto-multisite.local.

Etant en local et ne possédant pas réellement le domaine tartempion.com, je vais modifier le fichiers hosts de ma machine pour simuler ce domaine.

Je me rends sur l’administration de mon site à mapper https://tartempion.tuto-multisite.local/wp-admin/ puis dans le menu « Outils/Domain Mapping ».

Vous trouverez cette page:

Renseignez votre domaine à mapper (dons mon cas tartempion.com sans http ou https). Si le domaine sera le domaine principal alors cochez « Primary domain for this blog ». Vous pourrez ainsi avoir autant de domaine mappez pour un site (le www.tartempion.com par exemple) mais un seul sera servi.

Bravo! Vous avez mappé votre premier domaine !

Merci à Bruno Tritsch d’avoir réalisé le tutoriel vidéo suivant illustrant parfaitement mon tutoriel.

Paramétrer un WordPress multi site – multi domaines chez O2Switch

O2Switch est un hébergeur français proposant pour un tarif tout a fait compétitif un hébergement mutualisé de qualité avec de surcroît un support technique très réactif… ce qui n’est pas forcément le cas des grands noms de l’hébergement. Je suppose dans cet article que vous disposez d’un hébergement chez eux. Ce tutoriel WordPress fait suite aux 2 premiers consacrés à la création d’un WP multisite et au Domain Mapping sur WordPress qui ont été réalisé sur une instance locale. Je suppose que vous avez suivi ces 2 premiers tutoriels pour suivre celui ci et que vous disposez de 2 sites parfaitement fonctionnels sur un multisite. Pour ce tutoriel, nous nous servirons de https://site1.thivinfo.eu/ et https://site2.thivinfo.eu/

Le Multi domaine, Pourquoi faire?

Nous avons vu dans nos précédents tutoriels que nous pouvions disposer de plusieurs sites internet avec une seule installation WordPress mais tous avaient le même type d’url (en sous-domaine ou en sous-répertoire). Aujourd’hui, nous allons voir comment faire en sorte d’avoir des urls complètement différentes en l’occurrence sebastienserre.com au lieu de site1.thivinfo.eu et developpeur-wordpress.paris* au lieu de site2.thivinfo.eu.

Paramétrer les domaines chez O2Switch

Ici, le but est de diriger le trafique en provenance des 2 domaines developpeur-wordpress.paris* & sebastienserre.com vers le répertoire contenant votre installation de WordPress.
pointage du premier domaine sur le dossier contenant le WordPress Multisite
A ce stade, vos 2 domaines vont pointer sur le site principal sur votre WordPress. Il va falloir maintenant mapper les domaines avec les sites. Vous pouvez suivre le tutoriel « Faire du Domain Mapping avec WordPress multisite » pour paramétrer WordPress comme il faut. *developpeur-wordpress.paris ne réponds pas aux règles d’utilisation de la marque WordPress, il ne sera utilisé que pour ce tutoriel et a titre d’exemple.

Le multisite dans WordPress : Pourquoi? Comment?

Dans ce tutoriel, je vais vous expliquer ce qu’est un multi-site WordPress, pourquoi le mettre en place et surtout comment!

Le multi-site: qu’est ce que c’est?

La plupart d’entre vous doivent connaître WordPress « classique », WordPress « single » comme on lit aussi. C’est une installation de notre CMS qui va être utilisé pour propulser fièrement un site internet.

En activant la fonctionnalité « Multi-site », votre WordPress « classique » avec une installation unique va pouvoir propulser autant de sites web que votre serveur saura en supporter!

Le meilleur exemple dans ce domaine n’est autre que wordpress.com la plateforme de sites internet créé et gérée par Automaticc. Ce service commercial qui propulse aujourd’hui plusieurs millions de sites internet n’est en fait qu’une seule installation de WordPress!

Depuis WordPress 3.0, la fonctionnalité multi-site est complètement intégrée dans WordPress.

Dans quel cas utiliser un réseau de site ?

Il peut être intéressant de créer un réseau de site lorsque vous allez avoir plusieurs site a héberger… vous ne gérerez alors qu’une seule installation partageant thèmes et extension. Vous gagnerez du temps en maintenance puisque vous mettrez par exemple à jour un seul Core WordPress, une seule version d’extension ou de thème.

Différentes utilisation possible

On utilise aussi parfois le multi-site pour créer un site multilingue. On fera en sorte d’attribuer une langue par site et de rédiger du contenu du différent par site.

Les sites en réseau peuvent également servir pour créer un site par site d’entreprise, une holding et ses filiales par exemple.

Comment mettre en place un multi-site avec WordPress?

Sachez qu’il existe 2 façons de créer son réseau de site:

  • En sous-domaine: vos url seront de la forme site1.example.com, site2.example.com
  • En sous-dossier: vos url seront de la forme exmple.com/site1, example.com/site2

Si vous installez votre réseau sur une installation neuve, vous aurez le choix entre ces 2 structures. Si vous transformez une installation de WordPress existante, vous n’aurez pas d’autre choix que de choisir l’installation en sous-dossier.

A noter qu’il n’y a pas de chose que vous ne pouvez pas faire avec une des installations et que vous pouvez faire avec l’autre!

Création du réseau

Tout d’abord, pour cette exemple, je vais partir d’une installation locale de WordPress.

Bien sur, il est vivement conseillé de réaliser une sauvegarde complète ( fichiers  + base de données) à ce niveau.

En suivant la bible du développeur WordPress, j’ai nommé le Codex, on comprend qu’il faut créer une constante PHP dans le fichier de configuration de WordPress situé à la racine de votre installation.

/* Multisite */
define('WP_ALLOW_MULTISITE', true);
/* C’est tout, ne touchez pas à ce qui suit ! */

Cette constante aura pour but de signifier à WordPress que nous l’autorisons à créer un Multisite et concrètement ca donne cela:

Cliquons sur la nouvelle entrée du menu « Outils » nommée « Création du réseau ». Vous obtiendrez cette page:

C’est a cette étape que vous pourrez choisir la structure de vos URL. Soit en sous-domaine, soit en sous-dossier. Si vous désirez opter pour les URL en sous-domaine, il faudra créer une entrée WildCard dans vos enregistrements DNS.
Dans mon exemple ci-dessus, pour obtenir site1.tuto-multisite.local il vous faudra créer en DNS un wildcard avec le caractère astérisque (*) : *.tuto-multisite.local et le faire pointer sur le dossier contenant votre installation de WordPress.

Cliquez sur « Installer »

Ok donc là, j’ai un message d’erreur car j’ai demandé une installation de mon réseau WordPress en sous-domaine et je n’ai pas créé de domaine Wildcard comme demandé. Ceci car sur mon installation locale… ce n’est pas simple!
WordPress à donc essayé de créer à la volée le sous-domaine aléatoire 14b292.tuto-multisite.local et n’y est pas parvenu. Si vous êtes en installation local, vous pouvez créer le domaine en éditant votre fichier « Hosts » notamment.

L’installation est presque terminée, il vous suffit de copier les 2 blocs de code dans le .htaccess et le wp-config.php de votre installation. Remplacez bien le contenu de votre .htaccess avec le bloc ci dessus.

C’est fait? Cliquez donc sur le lien « Se Connecter »

Bravo! Votre réseau de site WordPress est installé!

Découvrons le nouveau Back-Office de notre WordPress multi-site fraîchement installé.

La principale modification, vous l’aurez peut être remarqué réside dans l’apparition d’un nouveau menu, le menu de l’administration réseau:

Ici seront listé tous les sites que vous pourrez créer sur votre réseau de site en tant que Super-admin. En effet, en activant le mode multi-site, un nouveau rôle à été créé, celui de « Super-Admin ».

Qu’est ce que le « Super Admin »?

Sur une installation classique de WordPress, nous avons les rôles « Abonné », « Contributeur », « Auteur », « Éditeur » et « Admnistrateur ». L’Administrateur étant le rôle le plus haut, celui ayant le plus de droit sur votre installation. C’est l’utilisateur ayant ce rôle qui pourra ajouter, activer, supprimer une extension ou un thème. Il pourra également paramétrer complètement votre installation.

Sur une installation multisite, l’installation d’extensions et de thème se fait au niveau de l’administration réseau et plus au niveau de chaque site. Il fallait donc un nouveau rôle, permettant de gérer ce nouveau niveau d’administration.

Si on résume, un administrateur pourra gérer son site tandis que le super-administrateur pourra lui gérer tous les sites du réseau ainsi qu’installer des thèmes et des extensions qui seront disponible sur tout le réseau.

Principes généraux de fonctionnement

Voilà votre Multisite est maintenant installé mais je ne vais pas vous laisser comme ca!

Sachez qu’une extension comme un thème s’installe en tant que Super-admin sur le tableau de bord de l’admin réseau.

Sachez qu’une extension activée au niveau du réseau sera disponible sur tous les sites de votre Multi-site MAIS vous pouvez activer une extension site par site, ou chaque administrateur de site peut activer une extension sur son site.

Pour les thèmes, le fonctionnement est un peu différent, il doit être actif sur le réseau pour être activable sur chaque site. Ainsi, si vous avez un thème et son enfant, vous pouvez n’activez que le thème enfant pour qu’aucune modification ne soit apportée au thème « parent ».

Un WordPress pour plusieurs site? Pourquoi ne pas passer au mapping de domaine ?

Paramétrer un WordPress multi site – multi domaines chez O2Switch