Sélectionner une page
Déclarer ses fichiers à la CNIL

Déclarer ses fichiers à la CNIL

Ca fait longtemps que je veux vérifier si je peux continuer à me considérer comme dispensée de toute déclaration de fichiers à la CNIL. Aujourd’hui j’ai vérifié, j’ai fait la déclaration et j’ai indiqué cette nouvelle information dans la page « mentions légales » de mon site professionnel. Cet article explique comment faire une déclaration CNIL simplifiée et propose un contenu pour les mentions légales.

On verra aussi en faisant cette déclaration qu’il est utile de concevoir une interface utilisateur cohérente pour des sites aux contenus complexes et variés… La CNIL ferait bien d’embaucher des spécialistes UX !

Qui doit déclarer ses fichiers à la CNIL ?

Un organisme, public ou privé, qui recueille des données peut se trouver dans l’une de ces trois catégories

  • dispense n°7
  • Norme simplifiée NS-048
  • déclaration normale

De manière très succincte, voici les cas d’utilisation des différentes déclaration :

Dispense n°7

Cette dispense concerne les traitements de données personnelles mis en œuvre par tout organisme privé ou public à des fins d’information et de communication externe.

A priori c’est mon cas pour le site knowledge.parcours-performance.com (même si actuellement je ne recueille pas de données). Pour en savoir plus, voir cette page de la CNIL.

Norme simplifiée NS-048

pour la gestion de clients et prospects, sous réserve de ne pas être dans la banque, l’assurance, la santé ou l’éducation. Pour vérifier qu’on relève bien de cette norme, voir cette page de la CNIL.

Déclaration normale

Pour tous les autres cas de figure.

Déclarer un fichier relevant de la norme simplifiée NS-048

En principe mon site professionnel http://parcours-performance.com relève de la dispense n°7 puisque je ne fais aucune prospection auprès des inscrits à la newsletter. Mais mon site a une vocation commerciale. Je vais quand même considérer qu’il relève de la norme simplifiée NS-048.

Accéder au formulaire de déclaration

La navigation sur le site CNIL n’est pas évidente. Voici le processus pour la plupart des entreprises. Sachez seulement que c’est presque toujours le choix le moins logique qu’il faut privilégier.

Sur la page CNIL «Déclarer un fichier »  , cliquer sur le bouton « vérifier votre situation et déclarez » du bloc « Déclarer ses fichiers clients – prospects ».

Déclaration simplifiée CNIL (1)

Lire attentivement tout le contenu de la page pour être sûr(e) que la déclaration nous concerne bien. Ensuite, on a deux boutons :

Déclaration simplifiée CNIL (2)

Télécharger le pdf = garder une copie des éléments de la norme NS-048 pour les fichiers clients et prospects.

Et (aussi étonnant que ça paraisse !), le bouton « ajouter à ma sélection » permet d’accéder à la déclaration. Il faut ensuite cliquer sur l’encart ‘ma sélection’ qui apparaît en haut de la fenêtre :

Déclaration simplifiée CNIL (3)

Le bouton « j’accède au formulaire », que je cherchais depuis un bout de temps me fait rentrer dans un formulaire de déclaration simplifiée :

Déclaration simplifiée CNIL (4)

Le parcours d’accès était un peu compliqué mais l’ergonomie du formulaire est plutôt bonne. Il y a même un bouton en haut pour augmenter ou réduire la taille du texte.

A la fin de chaque menu, il vaut mieux enregistrer avant de cliquer sur « étape suivante »

Dans le menu « finalité », on laisse les éléments par défaut (norme simplifiée / NS-48 et non pour le transfert d’informations hors de l’UE)

Dans le menu « engagement du responsable », il faut voir qu’il y a une case à cocher :

Déclaration simplifiée CNIL (5)

Si on n’a pas vu la case à cocher, on passe à l’étape suivante mais on a une erreur lors de la validation de la déclaration et on ne comprends pas ce qu’il faut faire…

Déclaration simplifiée CNIL (6)

En fait il suffit de cliquer sur le titre en rouge, de corriger (cocher la case) puis cliquer de nouveau sur étape suivante.

On a presque terminé !

Il faut maintenant que je dises que je ne suis pas un robot en remplissant le captcha :

Déclaration simplifiée CNIL (7)

Et voilà, le dernier écran du formulaire. Si on clique sur « impression de votre déclaration », on a un pdf et pas une impression. Et ce document n’est pas le justificatif attendu puisque n’y figure aucun numéro d’enregistrement.

On reçoit un mail à l’adresse indiquée pour le responsable. Ce mail contient le numéro de déclaration et l’accusé de réception de la déclaration en pdf. C’est ce pdf qu’il faut sauvegarder dans ses documents administratifs car il contient le numéro de déclaration.

Voilà la première page (sur 3 dont une vide) mon accusé de réception :

Déclaration simplifiée CNIL (9)

Mais qu’est-ce que je fais de ce numéro ?

Le mail reçu par la CNIL ne dit rien et il m’enjoint d’attendre le récépissé de déclaration (dans les meilleurs délais). Mais je voudrais mettre à jour les mentions légales de mes sites tout de suite pendant que j’y pense.

MAJ du 17/10/2016 :  J’ai fait ma déclaration en ligne le 13/10 à 14h. J’ai reçu aujourd’hui à 13h, par mail, le récépissé de déclaration. Il parait en tous points identique au document reçu le 13/10… Et le numéro est bien le même… J’ai eu bien raison de ne pas attendre. Cependant, j’ai sauvegardé ce nouveau document dans un endroit où je le retrouverai.

Sur le site de la CNIL, je vais maintenant dans la page de modèles de mentions.

Le bouton « FORMULAIRE DE COLLECTE DE DONNÉES PERSONNELLES » nous envoie à une page qui nous permet de constituer le texte qui devrait accompagner tout formulaire de collecte de données personnelles. Après validation, on peut recevoir la mention par email. Cette mention doit en principe apparaître en bas de tout formulaire où des données sont collectées.

Pour connaître la position de la CNIL sur les mentions légales, j’ai dû utiliser le formulaire de recherche du site. Et j’ai trouvé un lien vers cette page de service-public.fr sur les mentions légales.

On peut (c’est recommandé, mais non obligatoire), indiquer le numéro de déclaration simplifiée CNIL dans les mentions légales. Je trouve que c’est préférable, au moins pour ne pas oublier notre numéro de déclaration…

J’ai mis à jour les mentions légales de mon site principal ici. Je ne suis certaine de leur conformité légale, mais vous pouvez vous en inspirer si vous le souhaitez.

J’ai mis des exemples de mentions légales dans des articles distincts :

Je précise aussi que vous pouvez obtenir une fiche d’identité à jour de l’INSEE si vous connaissez votre numéro de SIREN (9 chiffres). On y obtient son code APE (NAF), le SIRET, la catégorie juridique, …

Et voilà !

J’ai eu le privilège de tester l’utilisation d’un site plutôt mal conçu, de déclarer mes fichiers commerciaux à la CNIL et de mettre à jour les mentions légales de mon site professionnel. C’était un peu laborieux, mais c’est fait maintenant. A vous !

un site à contenu privé sous WordPress

un site à contenu privé sous WordPress

Lorsque nous voulons réserver certains contenus d’un site WordPress à des personnes (ou groupes de personnes) spécifiques, il faut rendre certains contenus privés. Nous allons voir comment le faire avec trois extensions.

Chris Lema, une référence pour les extensions de « membership »

Chris Lema est un auteur prolifique, très connu dans le monde WordPress anglophone. Il a, entre autres, examiné une trentaine d’extensions de gestion des « memberships », qui permettent de créer des espaces réservés dans un site web. Et chacun des articles dédié à l’une de ces extensions est incroyablement complet et détaillé.

« Membership » ou « subscription » ?

Une extension de « membership » gérera toujours l’enregistrement d’utilisateur (moyennant paiement ou non) et la possibilité pour ces utilisateurs connectés de voir des contenus protégés.

Certaines gèreront également d’autres fonctionnalités utiles telles que :

  • gestion des renouvellement d’abonnement (payant ou pas) ;
  • créer une liste des abonnés ;
  • créer une page spéciale pour chaque abonné ;
  • associer des systèmes de paiement ;
  • gérer des évènements ;

Pour en savoir plus, on peut lire Don’t confuse Memberships and Subscriptions. Chris Lema y explique que les extensions de membership gère l’accès à des contenus. Mais l’inscription, ou le renouvellement d’un abonnement nécessite une extension de « subscription ».

Créer un espace réservé sur un site avec Members

Dans mon cas, je suis en phase d’expérimentation. Je privilégie donc le côté gratuit, ainsi que la possibilité de créer des extensions moi même pour étendre ses fonctions. J’ai donc choisi d’utiliser l’extension « Members », de Justin Tadlock. L’article de Chris Lema, Membership Plugin Review: Members, explique comment l’utiliser avec deux autres extensions pour créer des contenus réservés, gérer les login et mise à jour des profils des abonnés et enfin définir des menus pour les abonnés et les autres. C’est donc un excellent moyen de se familiariser avec la création d’un site à contenus réservés.

Je ne vais pas reprendre le contenu de l’article de Chris Lema de manière détaillée. J’ai réalisée les étapes telles qu’il les décrit.

étape 1, installer les trois extensions nécessaires

Installer (sans les activer) MembersNav Menu Roles et Profile Builder.

« Members » permettra d’attribuer des rôles aux utilisateurs du site puis de restreindre l’accès ou la modification de contenus (ou du site tout entier) selon les rôles.

« Nav Menu Roles »  va permettre de définir quels menus sont vus par qui (quels rôles).

« Profile Builder » facilite la gestion des comptes des utilisateurs. L’extension permet d’avoir une page spécifique pour se connecter ou s’enregistrer (en évitant l’affreuse page wp-login.php de WordPress). Elle autorise également l’utilisateur à mettre à jour son profil et son mot de passe.

Etape 2, activer « Members » et la paramétrer

Après avoir activé « Members », je crée un rôle spécifique « membre-site ». En dessous du champs dans lequel je crée le nom de ce rôle, je vois écrit « Rôle : membresite« , que je peux modifier. C’est ce nom qui servira ensuite pour définir dans du code ou des shortcode des actions spécifiques à ce rôle. Dans « modifier les capacités », je laisse la seule case cochée : « read ». Les personnes aux rôles « membre-site » ne pourront que lire des contenus. 

Etape 3, activer « Profile Builder » et la paramétrer

Les shortcode utilisables avec cette extension sont visibles dans le nouveau menu « Profile Builder » > « Informations de base ». D’autres shortcodes sont également listés dans la description de l’extension, sur WordPress.org.

Je crée les pages suivantes :

  • « accueil », qui sera réglée comme page d’accueil du site ;
  • « Connexion » contenant le short code [[wppb-login register_url= »http://exemple.com/page-enregistrement/ » lostpassword_url= »http://exemple.com/lost-password/ »] ] ;
  • « Enregistrement » avec le short code [[wppb-register role= »membresite »] ] ;
  • « votre profil » avec le short code [[wppb-edit-profile] ] ;
  • « renouvellement du mot de passe » avec le short code [[wppb-recover-password] ]
  • « contenu protégé », avec le contenu protégé, et par exemple des liens vers d’autres contenus protégés.

Attention, sur la page d’enregistrement, il faut préciser le rôle des personnes qui pourront s’enregistrer. On doit donc placer le short code [[wppb-register role= »desired_role »]], avec desired_role remplacé par le rôle correspondant

La page « contenu protégé » est protégée en cliquant sur « membre-site » sous l’éditeur de la page. On peut également définir un message d’erreur qui sera affiché si une personne non connectée tente d’accéder à cette page. Si on veut un message d’erreur commun à toutes les pages dont le contenu est protégé, on la définit dans « Réglages » > « Members ».

Dans un widget de la barre latérale, on peut ajouter le widget « Profile Builder Login Widget » afin de permettre aux utilisateurs de se connecter, déconnecter, être redirigé sur les contenus protégés une fois connecté.

Etape 4, gestion des menus

La structure de menu doit permettre d’avoir des éléments affichés seulement pour les membres, d’autres pour tous.

Après activation de « Nav Menu Roles« , lorsqu’on va dans « Apparence » > « Menus », on peut choisir ce qui s’affiche selon les rôles.

Par exemple, pour l’élément « contenu protégé », on clique sur « utilisateurs connectés » et on choisit les rôles « membre-site » et « administrateur ».

Par contre, l’élément « login » doit être visible pour les utilisateurs non connectés seulement.

Et voilà, j’ai maintenant un site web avec du contenu protégé !

Exploration rapide des fonctionnalités

Profile Builder a d’autres fonctionnalités utiles :

  • Dans « Profile Builder » > « Paramètres généraux », on peut définir la Longueur minimale du Mot de Passe et surtout régler la Sûreté minimale du Mot de Passe. J’ai essayé avec 8 caractères minimum et une sureté minimale sur « moyen » ;
  • Dans « Profile Builder » > « Paramètres généraux »,  on peut cocher « Confirmation par e-mail » puis régler le contenu des emails expédiés ;
  • Dans « Profile Builder » > « Paramètres de la barre Administration », on peut (et on devrait) régler sur « masquer » pour tous les rôles qui ne sont pas administrateur ou éditeur.

Il est possible d’autoriser l’enregistrement en ligne via les réglages de WordPress (« Réglages » > « Général ») : il suffit de cocher « tout le monde peut s’enregistrer » et de définir le rôle par défaut des personnes qui s’enregistrent. Mais avec les extensions installées, il n’est pas possible de limiter les enregistrements à ceux qui sont autorisés par l’administrateur. Profile Builder propose de recourir à une extension payante pour celà.

Il serait intéressant d’essayer l’extension (gratuite) New User Approve. Sur cette extension, voir aussi « How to Moderate New User Registrations in WordPress« .

Members a également d’autres fonctionnalités intéressantes :

  • On peut activer des widgets spécifiques dans la page « Réglages » > « Members », en cochant « Activer le widget du formulaire de connexion » et/ou « Activer le widget utilisateurs ». Le deuxième widget permet de voir la liste des autres utilisateurs qui ont le rôle défini dans le widget. Je préfère les widgets de Profile Builder.
  • on peut cocher « Activer site privé » : lorsque la case est cochée, c’est l’ensemble du site qui devient privé. Toute personne non connectée qui essaie de lire un contenu du site est automatiquement redirigée sur la page de connexion WordPress par défaut ;
  • on peut cocher « Désactiver le flux » : pour afficher un message d’erreur pour le flux RSS du site. Ça paraît essentiel en effet ;
  • Si on restreint l’accès à une page, toutes ses pages « enfant » ont par défaut le même réglage (cf cette question sur le forum themehybrid.com).
  • Avec un peu de code additionnel, on peut régler WordPress pour afficher les résumés à tous les internautes et restreindre l’accès au reste de l’article (ou de la page) : cf cette question et cette autre question sur le forum themehybrid.com ;

Autres extensions en complément

Si je veux faire payer l’accès au contenu réservé, je pourrai utiliser Membership & Content Restriction – Paid Member Subscriptions, qui fonctionne avec Profile Builder que j’utilise ici. Mais logiquement je peux utiliser n’importe quel autre extension de « souscription ».

Le gros avantage de Members est qu’il s’intègre très bien avec d’autres extensions, même si elles ne le disent pas explicitement. En effet, Members utilise des fonctions de WordPress pour créer les rôles. Par exemple Event espresso 4 permet aux différents rôles créés avec Members d’accéder aux contenus liés aux événements selon leurs rôles. Il est également possible d’utiliser Learndash avec Members, comme indiqué dans cette question sur le forum themehybrid.com.

L’extension gratuite MailChimp User Sync devrait permettre de synchroniser des listes MailChimp selon les rôles.

Et maintenant ?

Je vais créer un site à contenu privé pour explorer un peu plus ce qu’il est possible de faire.

Un nom de domaine sans hébergement ou plan MX : la solution avec Google Apps

Un nom de domaine sans hébergement ou plan MX : la solution avec Google Apps

Ce billet est le troisième de la série . Nous avons vu comment utiliser Gmail dans deux cas déjà :

  • Le cas où on fait gérer les mails d’un nom de domaine par OVH (hébergement ou plan MX) et on utilise Gmail dans sa version gratuite pour lire et expédier des mails venant de, ou provenant de, l’une de ces adresses créées sur OVH. C’était l’objet du premier article de cette série, Utiliser sa boîte gmail avec des mails d’un hébergement OVH ;
  • Un cas où l’on gère les mails d’un nom de domaine par OVH et où l’on a un compte Google Apps (son nom est devenu récemment G Suite) et l’on utilise un alias de nom de domaine pour faire gérer certaines adresses du domaine directement par Google. C’est ce dont il était question dans l’article Transférer la gestion des emails d’un domaine de google apps à OVH

Nous allons maintenant voir un troisième cas : le cas où on a un compte Google Apps ET des noms de domaine sans hébergement et sans plan MX chez OVH.

Le contexte

Sur OVH, j’ai un nom de domaine, potentiel-web.com, qui n’a pas son propre hébergement. Je ne peux donc pas y créer d’adresse mail.

Mais comme j’ai un compte Google Apps, je peux créer des adresses mail pour ce domaine et Google les gère !

Etape 1 : régler les enregistrements MX du domaine

Dans l’espace client OVH, menu Domaines / le domaine qu’on veut régler, aller dans l’onglet « zones DNS ».

Au dessus de la liste des zones DNS, remplacer « tous » dans le filtre par « MX ». On ne voit plus que les enregistrements MX pour le domaine et ses sous-domaines éventuels.

Modifier ou ajouter des enregistrements MX pour avoir :

MX Adresse du serveur Priorité
ASPMX.L.GOOGLE.COM. 1
ALT1.ASPMX.L.GOOGLE.COM. 5
ALT2.ASPMX.L.GOOGLE.COM. 5
ASPMX2.GOOGLEMAIL.COM. 10
ASPMX3.GOOGLEMAIL.COM. 10

Ces 5 enregistrements MX disent à tout internet « si tu reçois un mail de ce domaine, voici le serveur qui doit le prendre en charge« .

Il semble également préférable de faire les modifications suivantes dans les zones DNS sur le compte OVH :

  • supprimer le champ SPF pour le domaine (qui contient « v=spf1 include:mx.ovh.com ~all ») ;
  • ajouter un champ TXT pour le domaine avec le contenu « v=spf1 include:_spf.google.com ~all ».

Les deux dernières modifications disent à tout internet « ce mail émis par un serveur google est authentifié par google ». Ca limite le risque de voir ce mail classé en spam.

Il faut attendre 24h pour que ces 7 modifications soient diffusées : on peut regarder sur whatsmydns.net la vitesse de propagation. C’est instructif !

Il vaut donc mieux attendre ces 24h avant de faire la suite de ce tutoriel.

Créer un domaine dans la console Google Apps

Dans la console d’administration google apps, menu Domaines cliquer sur le bouton « ajouter un domaine ou un alias de domaine ».

J’ai ainsi créé potentiel-web.com. Je clique ensuite sur le lien « configurer les enregistrements MX pour Google »

Google Apps (G Suite) Créer un alias de domaine - 2

Google Apps (G Suite) Créer un alias de domaine – 2

Comme j’ai déjà fait l’opération sur mon compte OVH, il me suffit de descendre tout en bas e la page qui s’ouvre et cliquer sur « j’ai effectué cette procédure ». Google vérifie puis la ligne correspondante au domaine devient « actif »

Google Apps (G Suite) Vérifier un alias de domaine 2

Google Apps (G Suite) Vérifier un alias de domaine 2

 

Créer un alias d’email dans Google Apps

Dans la console d’administration google apps, menu utilisateur, cliquer sur mon nom puis sur « compte »

Je vois alors une liste d’alias. Je peux en ajouter (par exemple contact@potentiel-web.com »).

A ce stade Gmail lit automatiquement tous les mails adressés à l’alias d’email créé. Mais il faut maintenant paramétrer Gmail pour qu’il accepte d’expédier ces mails en tant que l’alias. 

Paramétrer pour expédier « en tant que » cet alias

Dans Gmail, paramètres, onglet comptes, cliquer sur « ajouter une autre adresse mail » dans le champs correspondant à « Envoyer des e-mails en tant que : ». La fenêtre suivante s’ouvre (lorsqu’on crée, l’adresse mail est un champ qu’on peut modifier) :

Gmail gérer un alias d'adresse mail 2

Gmail gérer un alias d’adresse mail 2

 

On remplit avec l’adresse mail correspondant à l’alias d’e-mail créé précédemment puis on clique sur le bouton « Etape suivante ».

Ca y est, c’est fini ! Gmail lit les mails adressés à contact@potentiel-web.com et en expédie sous ce nom alors qu’OVH gère le nom de domaine mais pas les mails.

Et maintenant ?

Cette série est en principe terminée. J’ai exploré les 3 cas d’utilisation de Gmail.

Transférer la gestion des emails d’un domaine de google apps à OVH

Transférer la gestion des emails d’un domaine de google apps à OVH

Je gérais les mails du domaine parcours-performance.com avec mon compte google apps. Mais c’était un peu compliqué d’ajouter de nouvelles adresses. J’ai donc supprimé les enregistrements MX du domaine qui transféraient la gestion des mails de ce domaine et OVH les gère de nouveau. J’explique ici comment j’ai procédé, avec l’aide du SAV de Google.

Le contexte

Mon compte google for work (G Suite maintenant) dispose d’un seul utilisateur, dont l’adresse mail pour accéder au compte Google était (ce n’est pas la véritable adresse !) « moi@parcours-performance.com ». Cette adresse mail étant mon adresse professionnelle principale, il n’était pas question de la supprimer.

Les mails du domaine « parcours-performance.com » étaient gérés par Google car j’avais réglé les enregistrements MX d’OVH ainsi :

Domaine TTL Type Cible
parcours-performance.com. 0 MX 5 alt1.aspmx.l.google.com.
parcours-performance.com. 0 MX 5 alt2.aspmx.l.google.com.
parcours-performance.com. 0 MX 1 aspmx.l.google.com.
parcours-performance.com. 0 MX 10 aspmx2.googlemail.com.
parcours-performance.com. 0 MX 10 aspmx3.googlemail.com.

Dans Google Apps, j’avais créé deux adresses mail : « moi@parcours-performance.com » et « contact@parcours-performance.com » et j’avais complètement oublié comment.

Dans l’espace client OVH, je pouvais créer de nouvelles adresses sur le domaine parcours-performance.com mais elles ne fonctionnaient pas puisque ce n’était plus OVH qui gérait les mails…

Avec l’aide du SAV de Google (très bien, gratuit pour les abonnés de G Suite), j’ai transféré la gestion des mails à OVH et demandé à gmail de gérer les mails correspondants.

Les actions à mener pour transférer la gestion des mails

Activer la double distribution de Google

Ce document d’aide de Google en explique le principe.

Dans la console d’administration google apps, menu Domaines, cliquer sur le bouton « ajouter un domaine ou un alias de domaine ». J’ai créé whatever.parcours-performance.com.

Google Apps (G Suite) Créer un alias de domaine

Google Apps (G Suite) Créer un alias de domaine

Ensuite je clique sur le lien « configurer les enregistrements MX pour Google » pour avoir les instructions.

Dans un autre onglet, je me connecte à l’espace client OVH, menu « domaines » et j’ajoute (ou modifie) les enregistrements MX de cet alias de domaine pour que :

MX Adresse du serveur Priorité
ASPMX.L.GOOGLE.COM. 1
ALT1.ASPMX.L.GOOGLE.COM. 5
ALT2.ASPMX.L.GOOGLE.COM. 5
ASPMX2.GOOGLEMAIL.COM. 10
ASPMX3.GOOGLEMAIL.COM. 10

Lorsque c’est fait dans OVH, je retourne dans l’onglet Google Apps, et tout en bas de la page « configurer les enregistrements MX pour Google », je clique tout en bas sur « j’ai effectué cette procédure ». Google vérifie puis la ligne correspondante au domaine devient « actif »

Google Apps (G Suite) Vérifier un alias de domaine

Google Apps (G Suite) Vérifier un alias de domaine

 

Il vaut mieux attendre 24 h que les enregistrements MX se diffusent dans le monde. Une fois que c’est fait, tout mail adressé @whatever.parcours-performance.com sera géré par Google et non par OVH.

Pour l’adresse principale créer un alias d’adresse email dans google apps

Dans mon compte Google Apps (console d’administration google apps, menu utilisateurs), je clique sur le nom de mon compte. Ca ouvre une fenêtre avec des informations sur ce compte. En cliquant sur l’élément « compte », je vois les alias d’email que j’ai déjà.

A ce stade, « moi@parcours-performance.com » est défini parmi les alias dans Google Apps. Je n’y touche pas.

Ensuite, dans le compte OVH, je crée un compte « test.al@parcours-performance.com ». Toujours dans OVH, je crée une redirection de ce compte vers « test@whatever.parcours-performance.com » (noter que j’utilise l’alias de nom de domaine, pas le nom de domaine) :

A ce stade, si j’envoie un mail à « test.al@parcours-performance.com », je ne le reçois pas car je n’ai pas défini où il doit être lu.

Pour qu’il arrive automatiquement dans ma boîte mail GMail, il faut que je paramètre Gmail pour qu’il lise test@whatever.parcours-performance.com :

Dans gmail, Paramètres puis onglet comptes, cliquer sur « ajouter une autre adresse mail »

Google Apps Créer un alias d'adresse mail

Noter que j’indique l’alias de domaine pour l’adresse email.

Lorsque je clique sur le bouton « étape suivante », c’est fini. Gmail est maintenant capable de gérer cet alias d’email.

Maintenant si quelqu’un envoie un mail à l’adresse test.al@parcours-performance.com, gérée par OVH, elle est automatiquement redirigée dans ma boîte gmail. Pour moi c’est totalement transparent (je n’ai même pas à me souvenir du nom de l’alias) et je réponds en tant que test.al@parcours-performance.com par défaut.

Evidemment, ceci était un test pour vérifier le bon fonctionnement du système avec alias et je peux supprimer l’adresse test.al@parcours-performance.com dans l’espace OVH.  Il faut maintenant qu’OVH reprenne la gestion des mails du domaine Parcours-Performance.com.

Gérer mon adresse principale par OVH et non google

Dans mon espace client OVH, menu « Emails » du domaine (parcours-performance.com pour moi), enlever le filtrage qui transfère la gestion des mails à Google. Merci au support OVH de m’avoir expliqué celà !

Il suffit d’éditer le champ « filtrage antispam/antivirus et le régler sur « OVH sans protection ». On notera que si ce n’est pas Gmail qui est utilisé ensuite pour recevoir les mails, il vaut sans doute mieux mettre une protection antispam.

OVH enlever le filtre MX

Tout à l’heure, on avait regardé les alias d’emails dans le compte Google Apps. J’avais noté que deux adresse du domaine parcours-performance.com étaient définies comme des alias : « moi@parcours-performance.com » et « contact@parcours-performance.com ».

transfert de gestion des mails d'un domaine, de google for work à ovh

Je ne touche pas aux alias d’emails définis dans Google Apps pour l’instant.

Mais je vais créer dans l’espace OVH les deux mêmes adresses mail. Je crée les deux adresses dans OVH puis je les redirige respectivement vers moi@whatever.parcours-performance.com et contact@whatever.parcours-performance.com (noter que c’est toujours l’alias de nom de domaine que j’utilise.

OVH : rediriger une adresse mail ovh vers un alias de domaine

OVH : rediriger une adresse mail ovh vers un alias de domaine

On peut préférer que la redirection fasse conserver une copie du mail dans les boîtes OVH pour gérer les prochaines 24h et être certains que les mails ne se perdront pas.

A ce stade, comme mon Gmail récupérait déjà les adresses « moi@parcours-performance.com » et « contact@parcours-performance.com », il récupère sans difficulté les mails.

supprimer des alias du compte Google Apps

Pour faire cette opération, il faut IMPERATIVEMENT attendre 24h après la modification des enregistrements MX de parcours-performance.com d’une part, et de l’alias whatever.parcours-performance.com.

Lorsque les 24h depuis le changement le plus récent sont finies, on va supprimer les alias « moi@parcours-performance.com » et « contact@parcours-performance.com » dans notre compte Google Apps.

Et si on avait fait une redirection sur OVH qui conservait une copie des mails, on peut maintenant aller la modifier (il suffit de supprimer la redirection de « moi@parcours-performance.com » vers « moi@parcours-performance.com » et conserver celle qui va vers « moi@whatever.parcours-performance.com »

Et si je veux créer une nouvelle adresse mail ?

Deux options : si c’est une adresse très utilisée, pour laquelle il faut prévoir un gros espace disque, il est plus simple d’utiliser un alias de domaine, avec gestion des mails de ce domaine par google. Pour les autres cas, on paramètre simplement Gmail.

Par exemple, j’ai créé test-al2@parcours-performance.com dans OVH, avec redirection sans copie vers moi@whatever.parcours-performance.com.

Ensuite, je suis allée dans Gmail « paramètres, onglet compte » et j’ai choisi « ajouter une autre adresse mail ». Ca se passe ensuite exactement comme pour un compte gmail classique (cf le premier article de cette série, « Utiliser sa boîte gmail avec des mails d’un hébergement OVH« ), sauf que si le domaine de l’email fait partie des domaines enregistrés pour le compte Google Apps, il n’y a pas l’écran dans lequel on doit définir les paramètres SMTP. Et comme j’ai fait une redirection, je reçois le mail avec le code de confirmation directement dans ma boîte gmail.

Et maintenant ?

Il reste un cas particulier d’utilisation de google Apps (G Suite), c’est le cas où on a un domaine chez OVH mais pas d’hébergement et pas de « plan MX ». G Suite nous permet de créer des adresses mail sans supplément de coût, avec un paramétrage plutôt simple. Ce sera l’objet du troisième article de cette série .

wordpress multisite : gestion des utilisateurs

wordpress multisite : gestion des utilisateurs

Vous avez crée votre réseau de site WordPress avec la fonctionnalité multisites. Jusqu’à présent, il était possible d’avoir le même identifiant (même adresse mail) en tant qu’utilisateur de différents sites. Mais sur un multisite, si j’utilise le même identifiant pour créer des contenus dans plusieurs sites, ils auront tous les mêmes renseignements biographiques.

Pourquoi éviter d’avoir un seul identifiant ?

Pour des renseignements biographiques ciblés sur les thématiques du site

Par exemple sur ce site, knowledge.parcours-performance.com, j’utilise la même adresse mail comme administrateur que pour mon site parcours-performance.com et je n’y ai pas mis les mêmes renseignements biographiques. C’est logique puisque mon parcours « maker » n’intéresse pas les lecteurs de l’autre site et mon parcours « organisation et lean management » ne vous intéresse pas. En multisite, si je veux avoir des renseignements biographiques différents pour le même auteur, il faut des identifiants différents (donc des adresses mail différentes).

Car WordPress est fait comme ça…

WordPress gère les utilisateurs pour l’ensemble des sites du réseau avec un identifiant unique et une adresse mail unique. On ne peut donc pas se créer plusieurs fois…

Pour des raisons de sécurité

Les identifiants et mots de passe des super administrateurs donnent l’accès à toute la machinerie du site. Ils doivent donc être protégés, et jamais enregistrés sur l’ordinateur. Imaginez ce qui se passerait si votre nièce ou votre fils allait modifier des éléments du tableau de bord du réseau !

Pour éviter les erreurs

Social network (Flickr)

https://c5.staticflickr.com/9/8085/8562448300_2a5c7b1e59.jpg

Une erreur sur un site isolé est déjà très embêtante, alors sur un ensemble de sites…

Lorsqu’on met notre « casquette » d’éditeur, on peut rédiger et publier des contenus.

Lorsqu’on met notre « casquette » d’administrateur d’un site, on peut modifier la structure du site (avec quelques limites).

Et lorsqu’on est enregistré en tant que super administrateur, on a tous les droits : on peut ajouter des extensions sans même s’être préoccupé de leurs compatibilité multisite ou de leur sécurité, on peut faire des mises à jour sans avoir au préalable vérifié les impacts sur un site de développement, …, on peut casser plusieurs sites d’un clic !

Il est donc préférable d’avoir l’esprit tranquille lorsqu’on est éditeur : on ne peut rien faire de très grave. Lorsqu’on est administrateur, on doit déjà réfléchir à deux fois aux conséquences d’un clic. Et lorsqu’on est super administrateur, on doit être ultra-vigilant, presque paranoïaque, et systématiquement tester nos choix avant de les mettre en oeuvre.

Les bonnes pratiques adoptées sur mes sites multisites

Principe n°1 : une même personne peut avoir plusieurs rôles mais elle a un identifiant par rôle (et donc une adresse mail différente par rôle).

Principe n°2 : sur deux sites différents d’un même multisite, un même auteur (ou éditeur) a un identifiant différent et donc une adresse mail différente. Il/elle peut ainsi avoir des renseignements biographiques différents et choisir des couleurs de tableau de bord différentes pour limiter les erreurs.

Principe n°3 : une personne qui peut avoir accès à l’ensemble du multisite est super administrateur. Elle peut avoir les fonctions d’administrateur dans n’importe quel site sans changer d’identifiant. A l’inverse, une personne qui peut être administrateur d’un ou plusieurs sites ne dispose pas des droits de super-administrateur.

Nota : pour éviter de mémoriser un nombre délirant d’identifiants et mots de passe, il est possible d’utiliser une extension comme « user switching« , qui permet de changer de rôle simplement. On peut aussi explorer des gestionnaires de mot de passe comme LastPass ou KeePass, voire Dashlane.

Créer les bons utilisateurs aux bons endroits dans un multisite

Pour l’instant, je vais considérer que nous avons assez d’adresses mail distinctes, et que nous en recevons tous les messages au fur et à mesure. Dans un article à venir, j’en parlerai plus précisément.

Le contexte :

Je suis dans un multisite dont le site principal contient une centaine d’articles écrits par moi lorsque je n’étais que « administrateur » de ce site solo. Maintenant, ce même identifiant est devenu « super administrateur ».

D’autres sites sont venus s’ajouter dans le multisite et il faut que je reste l’auteure de ses contenus, mais avec un autre profil pour ne pas être obligée d’avoir des renseignements biographiques uniques.

Ce que je vais faire :

Je vais définir des adresses différentes pour tous les rôles suivants.

Pour le site principal (PRINCIPAL.com) :

rôle adresse mail correspondante
Super administrateur SUPER-ADMIN@PRINCIPAL.com
administrateur ADMIN@PRINCIPAL.com
éditeur (ou autre) EDITEUR@PRINCIPAL.com

pour les « sous » sites du réseau « SOUS.PRINCIPAL.com, on peut être administrateur avec l’identifiant du site principal mais si on produit des contenus on le fera sous l’identifiant de l’éditeur spécifique à ce sous site.

rôle adresse mail correspondante
éditeur (ou autre) EDITEUR-SOUS@PRINCIPAL.com

Mon site de test est composé de trois sites :

  1. le site principal, potentiel-web.com
  2. un site secondaire, test1.potentiel-web.com
  3. un site secondaire, test1.parcours-performance.com

Il va donc falloir que je crée les utilisateurs avec des mails ressemblant à ce qui suit :

Pour potentiel-web.com :

Super administrateur super-admin[a]potentiel-web.com
administrateur admin[a]potentiel-web.com
éditeur editeur[a]potentiel-web.com

Pour test1.potentiel-web.com

éditeur editeur-test1[a]potentiel-web.com

Pour test1.parcours-performance.com, j’utilise le nom de domaine principal, pas celui du site principal.

éditeur editeur-test1[a]parcours-performance.com

Comment je le fais :

Comme les deux sites ajoutés dans le réseau sont des sites tous neufs, il n’y aucun contenu dedans. Je n’ai donc pas à me préoccuper de transférer les contenus à un nouvel utilisateur. Mais pour le site principal, il faut que je puisse transférer le contenu du super administrateur actuel à un simple éditeur.

créer les utilisateurs dans l’administration du réseau

Pour tous les sites, principal ou pas, je vais dans « Mes sites » > « Admin du réseau » > « Utilisateurs » et j’y crée un à un les 7 comptes indiqués ci-dessous avec le bouton « ajouter ».

WordPress multisite : ajouter un utilisateur

Lorsque j’ai créé les trois premiers, la liste de mes utilisateurs devient comme ci-dessous. Pour des raisons évidentes de sécurité, ce sont des identifiants que je n’utiliserai pas, pas plus que les adresses mails indiquées. Et il faut noter que je suis connectée en tant que super administrateur avec un identifiant qui n’est pas affiché dans cette liste mais qui le sera pour vous.

WordPress multisite : liste des utilisateurs

Pour l’instant ces utilisateurs n’ont aucun rôle (et ils n’en auront jamais puisque les adresses mail n’existent pas, je ne pourrai donc jamais générer un mot de passe…).

Pour le super administrateur, je clique sur modifier puis je coche la case « Donner les privilèges de super-admin à cet utilisateur pour le réseau. ». superadminwhatever est maintenant devenu super administrateur !

Donner des rôles aux utilisateurs dans les différents sites

Les 2 autres utilisateurs ci-dessus doivent avoir des rôles dans le site primaire, potentiel-web.com.

Dans « Mes sites » > « Admin du réseau » > « Sites », j’ai la liste des sites du réseau. Lorsque je survole le nom d’un site, je vois apparaître des liens.

Je clique sur « modifier » en dessous du nom du site principal. Je vois alors un écran avec 4 onglets. Je vais dans « utilisateurs ».

Sous la liste des utilisateurs déjà affectés, il y a la possibilité d’ajouter un utilisateur existant. Je tape les premiers caractères d’un utilisateur et WordPress me propose un utilisateur. Je lui donne le rôle correspondant. Je fais ça pour l’éditeur et l’administrateur de chaque site.

transférer les contenus du super administrateur actuel à l’éditeur

Il faut avant avoir rempli le prénom et le nom de l’utilisateur, relié le compte à une photo (gravatar), et rempli les renseignements biographiques du compte éditeur.

Lorsqu’on supprime le super administrateur (il faut s’être reconnecté au préalable sous l’identifiant du nouveau superadministrateur), WordPress demande à qui on veut attribuer le contenu de cet utilisateur. On l’attribue à editeurwhatever et le tour est joué !

Et maintenant ?

Il faudra apprendre à gérer de nombreux identifiants et mots de passe…

Transformer un site WordPress existant en multisite

Transformer un site WordPress existant en multisite

Je souhaite transformer un site existant (https) en un site multisite WordPress. En principe, c’est exactement comme ce que j’ai fait avec le site de test dans le premier article de cette série. La seule différence, c’est que je ne peux pas me permettre d’erreur puisque le site est utilisé

Je fais comme indiqué dans le premier article de cette série , avec en plus des sauvagardes et la gestion des extensions existantes.

Sauvegarder les éléments du site existant

  1. En premier, faire une sauvegarde de la base de données du site et la conserver dans un endroit sûr.
  2. Avec Filezilla ou équivalent, faire une copie des fichiers .htaccess  (en .htaccessOLD) et wp-config.php  (en wp-configOLD.php).
  3. Dans le tableau de bord WordPress du site existant, aller dans le menu « extensions » puis choisir la vue « extensions activées ». Copier le tableau dans Word ou autre pour disposer d’une liste de toutes les extensions activées du site.

Transformer le site en site multisite WordPress

Ca fonctionne exactement comme dans l’article « Un site ‘multisite’ WordPress sur OVH mutualisé ».

(1) Dans wp-config.php , j’ajoute les deux lignes suivantes :

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Dans le tableau de bord WordPress, (2) je désactive toutes les extensions puis je vais dans le menu « outils » > « création du réseau ». Là je ne peux que choisir « sous-domaines », je met mes coordonnées d’administrateur comme nom de super-administrateur et je sauvegarde.

(3) Je modifie  wp-config.php pour que les lignes correspondant aux multisite soient maintenant (attention dans la ligne 6 surlignée, le nom du domaine doit être le bon) :

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'monsite.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* HTTPS only for admin access */
define( 'FORCE_SSL_ADMIN', true );

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

(4) Je modifie .htaccess  qui contient maintenant (c’est un site en https) :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

# direct everything to https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress

(5) Je me reconnecte au tableau de bord WordPress du site.

Je sélectionne toutes les extensions qui doivent être réactivées puis (6), je les active pour les reseau.

Je vérifie et tout va bien. Du point de vue de l’internaute, le site est comme avant. Evidemment, du point de vue de l’administrateur devenu super-administrateur, il y a quelques changements.

Et maintenant ?

Il faut que je voies quelles sont les différences entre ‘super-administrateur’ et ‘administrateur’ pour voir quels sont les points de vigilance à prévoir. Ce sera l’objet d’un autre article de cette série .

Connaissances et compétences d’un bon développeur web

Connaissances et compétences d’un bon développeur web

Je progresse en informatique et en développement web mais j’aimerais pouvoir mesurer où j’en suis et ce qu’il me reste à apprendre. J’entreprends donc de dresser la liste des connaissances et compétences d’un bon développeur web. Cette liste me servira ensuite pour définir mes prochaines actions d’amélioration.

Mes sources d’information et d’inspiration

Les critères « soft skills »

  1. Capacité à entrer en relation avec les autres (empathie, communication, …)
  2. Gestion du stress
  3. Gestion du temps
  4. Prendre du recul : pourquoi je fais ça, qu’est-ce que je fais au delà des tâches concrètes ? Ca peut-être « je résoud des problèmes complexes et intéressants », « je travaille dans un environnement intellectuellement stimulant », « je construis des choses qui me plaisent », …
  5. identifier ce qui apportera de la valeur au client (et donc aux clients du client)
  6. identifier le niveau d’expertise que peut atteindre le client pour créer un site toujours actuel (si possible souvent actualisé) sans recourir à des compétences trop coûteuses pour celà
  7. Définir ce que l’internaute voudra (conception de l’interface utilisateur)
  8. pas de peur d’échouer au point que ça bloque les approches créatives et nouvelles, mais assez pour faire des tests sérieux.

L’aptitude au code

Source : https://medium.com/@sgarcia.dev/

 

Maîtrise des « langages »

  1. Maîtriser la programmation (hors syntaxe)
    1. Maîtrise des concepts de l’informatique tels que Model – View – Controller, Programmation orientée objet, …)
    2. Savoir créer des algorithmes
  2. Maîtrise des outils actuels de base
    1. des langages sous-jacents tels que PHP (côté serveur), Javascript (côté client), SQL pour les bases de données ;
    2. du codage de pages web (html5, css3, ….) ;
    3. des outils de test : du code, des caractéristiques responsive, firebug ou chrome dev tools, des rendus sur des moteurs différents (Gecko tel que Firefox, WebKit tel que SafariChrome, Internet Explorer et Opera) ;
    4. Autres tels que utilisation de SVG.
  3. Maîtrise d’outils plus sophistiqués
    1. des outils d’automatisation tels que Sass & Less, Grunt & Gulp (ces deux derniers nécessitent de savoir faire fonctionner NodeJS) ;
    2. compréhension du DOM (document Object model) et d’AJAX
    3. utilisation de Ruby, angularJS, REACT (voir son utilisation avec l’API Rest de WordPress dans Building a better WordPress) & Redux
Monter en compétences

Source : https://pixabay.com/fr/ascenseur-berlin-ludwig-erhard-haus-1598431/

capacité à obtenir des résultats

  1. savoir créer un thème wordpress
  2. savoir créer une extension wordpress
  3. concevoir un site rapide, sûr
  4. créer un site crypté en SSL (https)
  5. gérer l’accessibilité, les cookies, si nécessaire prévoir une version pour les imprimantes (css)…
  6. administration du serveur (hébergement)
  7. API

Méthodes de travail

Connaissance du workflow le mieux adapté au cas présent.

  1. Savoir déployer un environnement de test puis le transférer à l’environnement de production
  2. choisir ses outils de développement et debogage – voir aussi https://atom.io/
  3. gérer les versions (git ou Subversion )
  4. gestion de projet

L’aptitude au design

Aptitude à identifier ses limites techniques, à estimer le temps requis et la faisabilité d’un choix d’interface.

Comprendre les bases du design telles que la typographie, les choix de couleurs, les conceptions de grilles sous un angle visuel (et pas technique).

L’idée est « d’en savoir assez pour savoir quand on n’en sait pas assez » (Tim Wright dans The 5 Most Important Skills a Web Developer Needs).

L’utilisation d’autres outils / concepts essentiels

  1. Maîtrise du SEO
  2. Savoir choisir et régler des extensions wordpress
  3. Savoir utiliser wordpress (de l’activation d’un thème ou d’une extension à la création d’un « multisite » ou réseau de site)
  4. Utiliser google analytics
  5. utiliser OVH
  6. utiliser google for webmasters tools
  7. savoir maintenir un site
  8. traiter l’information, la mettre en perspective, la rendre intéressante
  9. savoir créer un site marchand efficace
  10. Savoir créer un site multilingue

Comment s’évaluer ?

Comme point de départ et jalons intermédiaires, il faudra lire cet article sur le syndrome de l’imposteur… : Breaking Out of Imposter Syndrome and Isolation ;

Après avoir lu attentivement l’article My journey to becoming a web developer from scratch without a CS degree, 2 years later (and what I learned from it), j’ai identifié des actions à mener pour mieux voir ce que je sais / ne sais pas :

Je liste quelques pistes, que je vais explorer :

Et maintenant ?

Il n’y a plus qu’à chercher à m’évaluer et apprendre ce qui correspondra à la prochaine étape du développement de mes compétences informatiques !

Associer un nom de domaine à un site d’un réseau WordPress (multisite)

Associer un nom de domaine à un site d’un réseau WordPress (multisite)

Dans le premier article de cette série « « , nous avons vu comment créer un réseau de sites sur une seule installation de WordPress et une seule base de données. Jusqu’à présent, les sites du réseau ont tous une url sous la forme d’un sous-domaine du site principal (http(s)://prefix.domain-principal.com et le site principal est http(s)://domain-principal.com). Je veux qu’un des sites du réseau utilise un autre nom de domaine, et pas un sous-domaine du domaine principal.

Pour celà, l’usage est d’utiliser une extension de « domain mapping », telle que WordPress MU Domain Mapping. Dans ce billet, je vais parler de cette extension et d’une méthode encore plus simple.

Préparation du nom de domaine à associer

Le site WordPress multisite dans lequel je veux insérer un nouveau domaine est dans un répertoire intitulé « multi-test ». Le domaine que je veux y insérer est  test1.parcours-performance.com

Sur l’espace client OVH, dans l’hébergement qui contient le multisite, cliquer sur l’onglet « multisites » puis sur le bouton « ajouter un domaine ou un sous-domaine ».

Association d'un domaine tiers à un WordPress multisite - 1

Là je n’aurais pas dû cocher « créer également … www… ». Je l’ai supprimé après pour ne pas multiplier les noms de domaine dans mon espace client…

Association d'un domaine tiers à un WordPress multisite - 2

Association d'un domaine tiers à un WordPress multisite - 3

Mon site WordPress multisite avant

J’ai déjà créé les sites test1.potentiel-web.com et test2.potentiel-web.com selon la méthodologie décrite dans l’article précédent de cette série . Je vais les laisser tels quels.

Je pars donc d’un réseau de sites contenant 3 sites :

  • le site principal (potentiel-web.com)
  • deux sites ayant pour nom un sous-domaine du site principal (test1.potentiel-web.com et test2.potentiel-web.com).

Je viens de créer un sous-domaine, test1.parcours-performance.com, dans mon espace client OVH et il est relié à l’hébergement du multisite.

J’ai maintenant deux options pour créer un site dans le réseau multisite :

  1. avec l’extension  WordPress MU Domain Mapping ;
  2. Sans extension – c’est la solution que je recommande.

Avec une extension de « domain mapping »

On installe WordPress MU Domain Mapping de façon normale avec « admin du réseau » > « extensions » > « ajouter » puis on cliquer sur « activer sur le réseau ».

Configurer WordPress MU Domain Mapping

Pour être certaine de comprendre les instructions d’installation de l’extension, j’ai également lu WordPress 3.0: Multisite Domain Mapping Tutorial.

Modification de fichiers

  1. Avec Filezilla (ou autre client FTP), aller dans /multi-test/wp-content/plugins/wordpress-mu-domain-mapping  et déplacer sunrise.php  pour le mettre dans /multi-test/wp-content .
  2. éditer wp-config.php  et décommenter ou ajouter la ligne suivante, au dessus de dernier « require_once ».
/* for the multisite WordPress MU Domain Mapping extension */
define( 'SUNRISE', 'on' );

Réglages de l’extension

Dans « admin du réseau » > « Tableau de bord », on voit dans les menus à gauche « Réglages ». Cliquer sur son sous-menu « domain mapping ».

Configuration du domain mapping

L’adresse IP se trouve à droite du nom de l’hébergement dans l’espace client OVH. Dans WordPress, « Réglages » > « Domains », on saisit cette adresse IP puis on définit les options du domaine.

Spontanément, je n’aurais coché que la case 2, comme dans la copie d’écran ci-dessus.

Mais après quelques essais, j’ai vu que je dois cocher la case 5, « Disable primary domain check. Sites will not redirect to one domain name. May cause duplicate content issues.« .  En effet, si j’utilise des domaines externes (qui ne sont pas des sous-domaines du site principal), l’internaute voit le nom du site d’origine car la redirection est visible. Ainsi, après avoir « mappé » https://test1.parcours-performance.com à https://test2.potentiel-web.com (opération décrite plus loin),  si je tape https://test1.parcours-performance.com dans un navigateur, le site s’ouvre mais l’url visible est devenue https://test2.potentiel-web.com…

Il faut donc cocher la case 5 si on veut que la redirection soit invisible pour les internautes.

Je coche donc les cases 2 et 5.

Mapper un site à un autre

En tant que super administrateur, je vais dans  « admin du réseau » > « Sites » et je vois la liste des sites déjà créés :

WordPress multisite : liste des sites

Lorsqu’on passe la souris sur le nom d’un des sites, son adresse complète apparaît tout en bas du navigateur et on peut relever son ID :

WordPress multisite : obtenir l'ID d'un site

Ici le site test1.potentiel-web.com affiche l’adresse « https://potentiel-web.com/wp-admin/network/site-info.php?id=3 ». L’ID est donc 3.

Maintenant, je vais dans « Réglages » > « Domains » et pour l’ID 3, je définis le domaine comme « test1.parcours-performance.com » :

WordPress multisite : map a domain

Ensuite si je retourne dans la liste des sites et que je cliques sur « modifier » en  dessous de test1.potentiel-web.com, je vois que l’adresse du site est restée https://test1.potentiel-web.com/ mais la liste indique un « mapping » vers test1.parcours-performance.com

Dans un navigateur, si je tape :

  • https://test1.potentiel-web.com/ m’affiche le site correspondant, dont le titre est test 1;
  • https://test1.parcours-performance.com, j’accède bien au site correspondant (dont le titre est toujours test1…) et son url visible dans le navigateur est restée https://test1.parcours-performance.com, si j’ai coché la case 5 des options de domaine (voir réglages ci-dessus).

Bilan de cette solution avec extension

Cette solution parait simple mais elle a deux inconvénients majeurs selon moi :

  • on est obligé de cocher l’option 5 si on veut que l’internaute ne voit pas la redirection. Ca génère un risque de contenu dupliqué pour les moteurs de recherche et ça ne me paraît pas acceptable.
  • Pour chaque domaine externe, on doit créer un sous-domaine du site principal ET le domaine externe. Ca prend un peu plus de temps et le risque d’erreur s’accroît.

C’est pour ces raisons que lorsque j’ai lu  un sujet épinglé par l’auteur de l’extension qui expliquait qu’on n’a même pas besoin de l’extension, j’ai sauté dessus et je suis aller explorer la solution.

Sans extension – solution recommandée

créer un nouveau site

En tant que super administrateur, je vais dans  « admin du réseau » > « Sites » et je vois la liste des sites déjà créés :

WordPress multisite : liste des sites

Je veux créer un nouveau site dans le réseau, avec l’url https://test1.parcours-performance.com. Dans la fenêtre des sites, je clique sur « ajouter » et je définis l’adresse web du site à RIEN (!) :

WordPress multisite : ajouter un nouveau site (1)

J’ai créé un site rien.potentiel-web.com, qui ne peut évidemment pas fonctionner puisque je n’ai pas créé ce sous-domaine dans mon espace client OVH. Il est visible dans la liste des sites du réseau WordPress :

WordPress multisite : ajouter un nouveau site (2)

Si je passe ma souris sur rien.potentiel-web.com, je vois apparaître « modifier ». Je clique dessus et dans « adresse web du site (URL) je remplace http://rien.potentiel-web.com/ par https://test1.parcours-performance.com. Après avoir sauvegardé la modification, je peux visiter le site et il fonctionne :

WordPress multisite : ajouter un nouveau site (3)

Maintenant un internaute peut accéder au site  https://test1.parcours-performance.com. Mais je ne peux pas accéder à son tableau de bord pour l’instant !

Régler wp-config.php

Je ne peux pas accéder au tableau de bord du nouveau site car il y a un problème de « cookies » qui interdit la connexion. Dans le navigateur Chrome ou Firefox, j’obtiens un message « ERREUR  les cookies sont bloqués ou ne sont pas reconnus par votre navigateur ». La seule solution est de modifier wp-config.php  comme indiqué dans cet article de Tom McFarlin.

Dasn wp-config.php, les lignes relatives au multisite sont maintenant les suivantes, avec les 4 lignes surlignées qui règlent le problème de cookies :

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'potentiel-web.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

/* HTTPS only for admin access */
define( 'FORCE_SSL_ADMIN', true );

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

/* That's all, stop editing! Happy blogging. */

Une troisième solution pour ajouter un site

Dans le tableau de bord WordPress, je supprime le site test2.potentiel-web.com mais je le laisse associé à l’hébergement potentiel-web.com dans mon espace client OVH.

Si je tape https://test2.potentiel-web.com dans un navigateur, je suis redirigée vers l’url https://potentiel-web.com/wp-signup.php?new=test2

Si je ne suis pas connectée en tant que super administrateur (c’est le cas dans le navigateur Firefox ci-dessous), je tombe sur une page m’informant que les inscriptions sont désactivées.

WordPress multisite : ajouter un nouveau site (4)

Lorsque les inscriptions sont désactivées, c’est que dans le tableau de bord du réseau de site, dans Réglages > Réglages du réseau, j’ai coché la case « Les inscriptions ne sont pas autorisées pour le moment ». Comme je ne prévois pas de laisser des utilisateurs externes créer des sites, et que mon hébergement OVH me contraint à aller créer les noms de domaine un à un (pas de « wildcard » *), je n’ai aucun intérêt à changer ce réglage.

Et maintenant ?

Dans les prochains articles de cette série , nous verrons comment sauvegarder un multisite, y insérer un site existant ou en sortir un.

migration d’un site WordPress en http vers https (SSL)

migration d’un site WordPress en http vers https (SSL)

Dans un précédent article (WordPress avec un SSL Let’s encrypt sur OVH mutualisé) j’ai exploré la création de zéro d’un site encrypté. Maintenant, je veux voir ce qu’il se passe si je transforme un site existant.

Pour minimiser les risques, j’ai cloné un site existant http://monsite.com dans http://prefix.monsite.com. J’ai d’abord essayé tout ce qui suit avant de le refaire sur un site opérationnel. Et je recommande à toute personne qui veut faire la même chose de faire d’abord un essai sur un site sans risque avant de se lancer sur un site en activité.

Quelques lectures avant de commencer !

Avant de démarrer, j’ai lu les 2 documents suivants :

Nota 1 : Dans l’article de référence, une bonne partie des 23 actions concernent les CDN (content delivery network selon Wikipedia). Comme je ne suis pas concernée, je les ai shuntées. Mais j’y ai ajoutée la création du certificat SSL.

Nota 2 : pour un site qui utilise un cache, il faut le vider avant de procéder aux étapes qui suivent.

étape 1 : créer un certificat ssl pour le site

Comme dans l’article (WordPress avec un SSL Let’s encrypt sur OVH mutualisé), je vais dans l’espace client de l’hébergement (OVH ici).

Pour chaque domaine et sous-domaine concerné, dans hébergement, onglet « multisite », j’édite le nom de domaine et je coche SSL. ATTENTION : il faut impérativement que le sous-domaine www soit également couvert par le certificat si on veut ensuite pouvoir faire une rédirection de www vers non www (ça n’est pas logique mais c’est comme ça) ! Une fois que j’ai modifié tous les domaines, je clique sur le bouton « régénérer le certificat ssl ». Si on vient juste de créer un domaine ou d’activer le ssl sur un domaine, il faut attendre plusieurs heures avant que le site puisse être lu en https.

A ce stade, si on ne fait pas les étapes suivantes, le site fonctionne parfaitement en http (http://nom-de-mon-site.com). On a intérêt à attendre que le certificat SSL soit régénéré avant de commencer les étapes suivantes.

Une fois que le certificat SSL est régénéré, si on tape https://nom-de-mon-site.com, le site s’affiche sans message d’erreur mais il n’y a pas le petit verrou vert à gauche du lien. Avec l’inspecteur de Chrome, je vois qu’il y a du « mixed content« . Le site est en https mais fait appel à des contenus issus de http. Le navigateur considère que le site n’est pas complètement sécurisé. Nous allons donc supprimer ces liens http et les remplacer par des https.

étape 2 : des liens https dans la base de données

L’article How to Migrate from HTTP to HTTPS – Complete Tutorial propose d’utiliser « Database search and replace script in php« , d’Interconnect IT. L’intérêt est que les contenus « sérialisés », comme les options ne sont pas altérés par le changement. J’essaie donc.

Tout est expliqué en français dans cet article de Grégoire Noyelle : WordPress :: Migrer son site avec le script d’Interconnectit.

  1. Répertoire search-replace-db-masterSauvegarder la base de données du site !
  2. Télécharger le script d’Interconnectit ;
  3. L’extraire et placer le répertoire Search-Replace-DB-master  dans un sous-répertoire du répertoire WordPress du site à modifier, c’est à dire un répertoire au même niveau que wp-content, wp-admin ou wp-includes. Renommer le répertoire, de  Search-Replace-DB-master vers par exemple migrer comme dans la copie d’écran à droite.
  4. On lance le script en tapant http://nom-de-mon-site.com/migrer/
  5. On cherche http://nom-de-mon-site.com, à remplacer par https://nom-de-mon-site.com
  6. Lancer dryrun pour voir ce qui va être modifier sans procéder à la modification
  7. Si tout semble correct (et que la base de données a été sauvegardée avant), lancer « live run » pour réaliser effectivement les modifications. Dans mon cas, 712 entrées ont été modifiées.
  8. Lorsqu’on a cloné un autre site, il est utile aussi de remplacer d’éventuels liens vers l’autre site par https://nom-de-mon-site.com. Dans mon cas, ça a modifié 8294 entrées

Ca y est, le petit verrou vert est maintenant à gauche du lien lorsque je visionne https://nom-de-mon-site.com !

Si vous avez du « mixed content », la solution merveilleuse est whynopadlock, qui scanne le site et nous dit quels sont les contenus en http et ce qui les charge.

Mais si je clique sur un article du site de test, j’ai un message d’erreur indiquant que le lien n’existe pas.

SUPPRIMER le répertoire « migrer » avant de continuer !

étape 3 : changer les adresses du site

Dans le tableau de bord WordPress, menu « Réglages » > « Général », modifier les liens « Adresse web de WordPress (URL) » et « Adresse web du site (URL) » en remplaçant l’adresse http par https.

Si on rafraichit (F5) le navigateur, les liens du site devraient fonctionner mais ce n’est pas le cas. Il faudra attendre l’étape 5 pour que ça fonctionne !

étape 4 : mise à jour des permaliens

Dans le tableau de bord WordPress, menu « Réglages » > « Permaliens », vérifier que la case cochée est la bonne puis cliquer sur « enregistrer les modifications », même si on n’en a pas fait.

Si on rafraichit (F5) le navigateur, les liens du site devraient fonctionner mais ce n’est pas le cas. Il faudra attendre l’étape 5 pour que ça fonctionne !

étape 5 : MAJ des librairies JS ou Ajax

J’ai vérifié avec les parties « scripts » et « styles » de l’extension Query Monitor (cf cet article, sur ce site, sur les outils de débogage) et aucun script ou style externe n’est appelé par une url non encryptée. Je n’ai donc pas besoin de réaliser cette étape.

étape 6 : ajouter des redirections 301

On veut que les sites en www.mondomaine.com soient redirigés vers https://mondomaine.com et que les http:// soient redirigés vers https.

Pour celà, ajouter ces instructions dans le fichier .htaccess, au dessus de la ligne # BEGIN WordPress  :

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Note : Cette instruction ne fonctionne que si le certificat ssl a également été généré pour la version www du site. 
Le meilleur moyen de vérifier est de cliquer sur un élément du menu vers une page existante. Elle va s’afficher en https. Ensuite, dans le navigateur, enlever « https:// » et taper <entrée>. L’adresse non https entrée doit renvoyer vers l’adresse https. 

Et voilà, mon site fonctionne correctement en https !

étape 7 : forcer l’accès SSL pour l’admin

Dans wp-config.php, ajouter les lignes

/* HTTPS only for admin access and login */
define( 'FORCE_SSL_ADMIN', true );

Ainsi, personne ne pourra accéder au tableau de bord WordPress en mode non sécurisé et tous les login seront en https.

A ce stade le site est parfaitement configurer pour fonctionner de manière sécurisée.

étape 8 : régler les réseaux sociaux et autres

Ma référence est toujours l’article How to Migrate from HTTP to HTTPS – Complete Tutorial et je suis sur un site réel, auquel des réseaux sociaux font des liens, que google analytics suit et qui est paramétré dans Google Webmaster Tools.

mettre à jour les sitemaps

Avec Yoast SEO, les sitemaps sont maintenant automatiquement en https, par exemple « https://nom-de-mon-site.com/page-sitemap.xml ».

Mettre à jour le compte Google Analytics

Dans votre compte Google Analytics, il faut modifier l’url du site.

Cliquer sur l’onglet « Administration ». Dans cet onglet, on voit trois colonnes, « compte », « propriété » et « vue ».

Passer en HTTPS sur Google AnalyticsDans la colonne « propriété », cliquer sur « Paramètres de la propriété ». Modifier l’adresse du site comme sur la copie d’écran à droite puis cliquer sur « enregistrer ». Comme ça on ne perd pas l’historique de l’ancien site non sécurisé. Attention, dans le cas présent, j’ai dû régler « vue par défaut », juste en dessous à « toutes les données du site web » pour que ça fonctionne correctement (affichage « opération réussie » après avoir cliqué sur « enregistrer »).

Faire la même chose dans la colonne « vue », en cliquant sur « Paramètres de la vue » pour modifier l’adresse du site.

Dans la colonne « propriété », cliquer sur « Paramètres de la propriété », puis tout en bas, dans « Paramétrer la search console », vérifier que c’est bien le site en https qui est la cible. Cette opération relie les comptes google webmasters tools et google analytics du site.

Attention, on reçoit un message disant que l’ancien site (http) est déconnecté. Il ne faut pas en tenir compte.

créer un nouveau site sur google webmaster tools

Il semblerait que l’on soit obligé de faire ça. Dans Google Webmaster Tools, ajouter un nouveau site en cliquant sur le bouton « ajouter une propriété ». On ajoute le site https://nom-de-mon-site.com. Ensuite, on suit les instructions reçues dans un mail. En particulier, il faut sélectionner le pays cible.

Soumettre les sitemaps à Google Webmaster tools

Il faut soumettre les sitemaps à Google Webmaster tools pour le nouveau site en https. On vérifie ainsi qu’il n’y a pas d’erreurs.

 

Vérifier que les robots peuvent circuler dans le site

Dans le menu « explorer » > « explorer comme Google » de Google Webmasters Tools, cliquer sur le bouton « explorer ». Il ne doit pas y avoir d’erreur.

Il pourrait être utile de cliquer ensuite sur « envoyer pour indexation » mais je ne le fais pas…

 

Soumettre les sitemaps à d’autres moteurs de recherche

On peut les soumettre à Bing Webmaster Tools ou à Yandex (“How to Submit Your Website to Yandex Webmaster Tools“).

Autres éléments à mettre à jour

Il faudra mettre l’adresse en htpps partout où elle est en http :

  • Compte Youtube : modifier le nom de domaine associé (copie d’écran ci-dessous)
  • Campagnes Maichimp (ou autre outil marketing) : modifier l’url ;
  • page Facebook
  • compte Twitter, Pinterest, Google+,
  • liens de signature des mails, liens des pieds de page de courriers, …

Modifier le compte associé à Youtube

Et voilà !

Un site « multisite » WordPress sur OVH mutualisé

Un site « multisite » WordPress sur OVH mutualisé

WordPress est habituellement utilisé pour un seul site. C’est plus simple mais ça présente aussi des inconvénients :

  • si vous un hébergement mutualisé (Pro OVH par exemple) avec seulement 4 bases de données, vous ne pouvez pas créer plus de 4 sites.
  • Si vous gérez 4 sites, il faudra faire autant de fois les installations de WordPress, les mises à jour de WordPress et des extensions.

J’expérimente ici la création d’un site multisite à partir d’un nom de domaine « potentiel-web.com » sur un hébergement Pro mutualisé d’OVH. Ce site a déjà été créé, avec un certificat SSL « Let’s Encrypt » (voir l’article WordPress avec un SSL Let’s encrypt sur OVH mutualisé). Nous allons maintenant le rendre multisites. 

Qu’est-ce que WordPress multisite ?

Un réseau WordPress multisite, c’est un ensemble de sites internet distincts qui partagent une seule installation de WordPress. Le site WordPress.org, qui est composé de millions de sites en est un exemple. Chaque site du réseau est en fait un site virtuel, qui dispose cependant de son propre répertoire « upload » pour les médias et de ses propres tables dans la base de données.

Les extensions et thèmes sont installées au niveau de la tête de réseau mais chaque site peut les activer ou les désactiver.

Un réseau de sites peut fonctionner selon deux principes distincts :

  • en « sous-domaines » : les sites auront des url du type site1.domaine.com, site2.domaine.com ;
  • en « sous-répertoires » : les sites auront des url du type domaine.com/site1, domaine.com/site2.

A quoi ça sert ?

Un seul individu (ou entreprise) peut avoir plusieurs sites ou blogs. Ca devient vite compliqué de les gérer chacun individuellement, de les mettre à jour, d’ajouter la même extension dans chacun. On peut donc utiliser la fonctionnalité multi-sites de WordPress pour n’avoir qu’une seule installation de WordPress, des extensions et des thèmes pour plusieurs sites distincts.

Un développeur, ou une agence web, pourra aussi avoir un réseau de sites de clients installés et administrés d’un seul endroit. Les clients peuvent avoir un accès administrateur à leur propre site s’ils le souhaitent. L’avantage est qu’ils ne pourront pas ajouter des thèmes ou des extensions.

On peut également avoir un réseau dans lequel des gens peuvent ajouter leur propre site, gratuitement ou moyennant paiement.

Dans tous les cas, une extension spécialisée permet le « domain mapping » et autorise l’utilisation de noms de domaines différents pour chaque site du réseau.

étape 1 : régler WordPress

C’est WordPress qui gérera les sous-domaines, pas notre espace client OVH. Je ne crée donc pas de sous-domaine sur OVH.

Pour cette étape, je m’inspire des tutoriels suivants :

Activation du réseau: dans wp-config.php

Ajouter les deux lignes suivantes dans wp-config.php , juste avant la ligne « /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ » :

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Créer le réseau, dans WordPress

Dans le menu « outils » du tableau de bord WordPress, il y a maintenant un menu « création du réseau ». Les extensions éventuellement présentes doivent avoir été désactivées avant.

Régler et activité un WordPress Multisite

Il faut (1) choisir entre le mode « sous-domaines » et le mode « sous-répertoires ». J’ai choisi « sous-domaines » car j’ai le sentiment que c’est mieux adapté, mais je ne suis pas certaine d’avoir tout compris. J’ai lu que c’était compliqué de transformer un site existant en mode multisite avec sous-répertoires car les anciennes url ne vont plus fonctionner correctement. Comme ces essai est un préalable à la transformation d’un site existant, il m’a semblé plus simple d’essayer tout de suite en sous-domaines.

Il faut également indiquer (2) le titre du réseau et (3) l’adresse email de l’administrateur du réseau (le super administrateur).

Ensuite, on clique sur « installer ». Pour cet essai, je pars d’un site vide, mais évidemment, si on part d’un site existant, il faut impérativement sauvegarder la base de données et les fichiers avant de réaliser cette modification.

Après avoir cliqué sur « installer », nous arrivons à une page assez effrayante…

Avant d'activer un WordPress Multisite

Dans l’écran qui s’affiche, on voit trois éléments :

  1. Une alerte « Attention ! L’enregistrement DNS générique (joker) peut ne pas être configuré correctement ! ». Pour l’instant, nous ne nous en préoccupons pas.
  2. du code qu’il faudra ajouter à  wp-config.php
  3. du code qu’il faudra ajouter au fichier .htaccess

Modifier wp-config.php

Je copie puis colle le contenu indiqué dans l’écran WordPress dans mon fichier  wp-config.php , sous la ligne contenant define(‘WP_ALLOW_MULTISITE’, true);

Modifier le fichier .htaccess

Le nouveau contenu de ce fichier est maintenant :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

Se reconnecter

Une fois les modifications faites, j’ai cliqué sur « reconnecter » en bas de la page WordPress qui contenait les instructions.

Mon tableau de bord WordPress contient maintenant un nouveau menu « mes sites ».

Le menu "mes sites" dans le tableau de bord WordPress Multisite

Créer un nouveau site dans le réseau

Attention : si on utilise un certificat SSL pour le site principal, voire pour les sites du réseau, il y a des spécificités. Voir plus bas le chapitre « Spécificités du SSL (https) »

Nous allons créer un sous-domaine test1.potentiel-web.com.

Dans le tableau de bord WordPress

Lorsque je me connecte à potentiel-web.com/wp-admin, j’ai une interface WordPress qui paraît identique à celle d’un site unique classique. Mais il y a des différences :

  • sous le menu « tableau de bord », il y a maintenant un menu « mes sites », comme vu précédemment.
  • Mais surtout, maintenant si je place ma souris tout en haut sur le titre du site, j’ai un sous-menu « admin du réseau » qui apparaît.

Menu "admin du réseau de WordPress mutisite

Si je vais dans le sous-menu « Sites », je peux créer, supprimer, modifier des sites du réseau, comme si c’était des articles ou des pages !

Je crée donc le site test1.potentiel-web.com :

Création d'un nouveau site dans un WordPress mutisite

Après avoir cliqué sur « ajouter un site », ce nouveau site apparaît dans la liste de mes sites. J’ai reçu aussi plusieurs mail :

  • des mails à mon adresse donnée lorsque j’ai créé le multisite, mon adresse de « super admin » !
  • des mails à l’adresse que je viens de donner comme administrateur de test1.potentiel-web.com. Ces mails m’informent de la création du site et indiquent où aller pour configurer mon mot de passe.

Mais si je met « test1.potentiel-web.com » dans un navigateur , j’obtiens une page d’erreur « Impossible de trouver l’adresse DNS du serveur test1.potentiel-web.com ». Il faut que je crée le nom de domaine dans OVH. 

Création du sous-domaine dans l’espace client OVH

dans l’espace client d’OVH. Je clique sur l’hébergement auquel est rattaché mon site multisite puis sur l’onglet « multisite ». Ensuite je clique sur le bouton « ajouter un domaine ou un sous-domaine ».

OVH ajouter un sous-domaine à un WordPress multisite - 2

Dans l’étape 2, il n’y a aucune raison de créer également le sous-domaine avec le www. Je ne le fais donc pas.

Le répertoire cible doit être celui du domaine principal du réseau de sites (multi-test pour moi – la copie d’écran ci-dessous indique www mais c’est multi-test qu’il faut lire, le répertoire où est installé potentiel-web.com).

Je choisis l’option SSL puisque je veux que tous mes sites soient encryptés.

Je choisis log séparé car c’est plus clair.

OVH ajouter un sous-domaine à un WordPress multisite - 3 OVH ajouter un sous-domaine à un WordPress multisite - 1

OVH affiche « La modification du ou des domaines associé(s) à votre hébergement mutualisé est en cours … » et quelques minutes plus tard, il devient possible d’accéder à http://test1.potentiel-web.com. Il n’est toujours pas possible d’accéder à  https://test1.potentiel-web.com (la version encryptée) car je n’ai pas encore régénéré le certificat ssl.

Accéder au nouveau site et le modifier

Si je me connecte au nouveau site test1 (j’ai été créée comme administrateur en tant que « test1 »), je perds ma connexion de super administrateur, ce qui est normal puisque j’ai indiqué un autre email que celui du super administrateur comme administrateur du site test1…

En tant qu’administrateur de test1.potentiel-web.com, je peux faire tout ce que peux faire un administrateur d’un site unique, sauf installer des thèmes ou des extensions. Ces installations, le super administrateur est seul habilité à les réaliser.

Modifier les utilisateurs en tant que super administrateur

Dans le menu « admin du réseau », sous-menu « Sites », je peux modifier les sites du réseau.

Si je clique sur « modifier » pour le site test1, j’ai accès à 4 onglets, dont l’onglet utilisateurs. Je peux ajouter un utilisateur existant ou un nouvel utilisateur.

J’y ajoute l’utilisateur que je suis en tant que super administrateur. Maintenant avec un seul utilisateur, je peux aussi bien agir dans le site test1, que dans le site principal ou administrer le réseau de site.

Installer des thèmes et extensions en tant que super administrateur

En tant que super administrateur, je peux installer un nouveau thème ou une nouvelle extension.

Installer un nouveau thème

soit avec « ajouter », dans le menu « admin du réseau » > « thèmes », pour un thème présent dans les thèmes de wordpress.org ou par ajout de fichiers dans le répertoire /racine/wp-content/themes  comme dans un site unique.

Activation d’un nouveau thème

Dans la liste des thèmes, chacun peut être activé ou désactivé pour le réseau dans le menu « admin du réseau » > « thèmes ».

Si je souhaite qu’un thème soit disponible pour tous les sites du réseau : je clique sur « activer pour le réseau ».

Si au contraire je ne souhaite mettre ce thème à disposition que de certains site, je vais dans le menu « admin du réseau » > « sites » et, pour chaque site, je clique sur modifier et je vais dans l’onglet thème.

Ainsi j’ai installé le thème stargazer et je l’ai activé pour tous les sites. Ensuite j’ai installé un thème enfant de stargazer (par transfert de fichiers) et je l’ai activé dans le site « test1 » seulement.

Installer une extension

dans le menu « admin du réseau » > « extensions », je peux ajouter une extension avec le bouton « ajouter » pour pour une extension présente dans les extensions de wordpress.org ou par ajout de fichiers dans le répertoire /racine/wp-content/plugins  comme dans un site unique.

Activation d’une extension

Attention, une extension qui ajoute des tables dans WordPress doit être compatible multisite pour fonctionner correctement (voir l’article Make WordPress Plugin compatible with Multisite). Si une extension n’est pas compatible multisite, on pourra l’activer dans chaque site du réseau mais pas pour tout le réseau.

J’installe l’extension « Yoast SEO » qui dit être compatible multisites et « HMS Testimonials » qui est ancienne et n’indique pas de compatibilité multisite, tout en créant des tables.

Lorsque j’active ces deux extensions sur le réseau, dans le menu « admin du réseau » > « extensions », je n’ai aucun message d’erreur.

Et lorsque je vais voir le contenu de la base de données du réseau de site, elle contient autant de tables que de sites, tous avec un préfixe du genre prefixe_nom_table : prefixe tout court pour le site principal, prefixe_1 pour le premier site ajouté, etc… Et HMS Testimonials a ajouté plusieurs tables pour chaque site. Il n’y a donc pas de souci.

Spécificités du SSL (https)

Comme le site principal est crypté, les liens vers les autres sites sont en https. Le certificat SSL doit donc les inclure : J’ai ajouté un deuxième site, test2.potentiel-web.com, j’ai attendu deux heures comme indiqué par OVH puis j’ai régénéré le certificat ssl sur mon espace client OVH.

La régénération est assez longue mais pendant ce temps les sites qui étaient déjà encryptés conservent leurs certificats SSL et fonctionnent donc correctement.

Au bout d’une dizaine de minutes le certificat est régénéré. Au départ, j’ai un problème car le site https://test1.potentiel-web.com est annoncé comme non sécurisé…

La solution : retourner dans le menu « admin du réseau » > « sites » et modifier l’adresse du site de destination. C’était http://test1.potentiel-web.com. J’ajoute un s à la fin de http, et ça y est c’est bon !

Il faut également effectuer des redirections lorsqu’une url est appelée sans rien devant ou en http. Mais on ne doit pas rediriger une url contenant à la fin wp-admin.*, wp-config.* ou wp-includes.*

Donc on modifie .htacess pour que (merci aux auteurs des réponses à cette question sur Stackoverflow) :

  • quand le port est 80 (si la connexion était sécurisée elle utiliserait le port 443. Quand elle utilise le port 80, elle est en http)
  • ET l’url appelée (%{REQUEST_URI} ) n’est ni wp-content, ni wp-admin, ni wp-includes suivi de n’importe quoi,
  • ALORS on redirige vers la version https de l’url.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

# direct everything to https
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !(wp-(content|admin|includes).*)$ 
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

Noter qu’il faut parfois vider le cache du navigateur pour que la réécriture des url sans http se fasse correctement… J’ai Chrome réglé pour conserver les historiques et Firefox qui ne les conserve pas. Je teste donc dans Firefox puis quand ça fonctionne, j’efface les données de navigation de moins d’une heure dans chrome, en ne sélectionnant que « cookies et autres données » et « images en fichiers en cache ».

et dans wp-config.php , il est préférable d’ajouter une ligne qui force l’usage du SSL pour l’administration :

/* HTTPS only for admin access */
define( 'FORCE_SSL_ADMIN', true );

Et maintenant ?

J’ai donc réussi à créer un réseau de sites avec la fonctionnalité multi sites de WordPress. Ca me semble pratique. Je vais maintenant devoir migrer mes sites existants sur un réseau, apprendre à bien utiliser les réseaux multisite et surtout à les sauvegarder et restaurer si nécessaire…

Je prévois de faire les articles suivants pour compléter mon apprentissage des réseaux multisites WordPress :

Ces sujets feront l’objet de plusieurs articles pour cette série .