Rubrique:
Pratique
Difficultée:
Facile
Sommaire
Dans cet article, nous allons voir diverses opérations de préparation de votre installation Drupal. Pour installer Drupal 8 de manière classique pour créer un site sur internet, aucune de ces opérations n'est nécessaire. En revanche, pour un site de test présent sur internet et dont vous voudrez limiter l'accès, vous pouvez "bloquer les moteurs de recherche" et "bloquer les visiteurs". Pour un site local, vous aurez besoin (optionnellement) "d'activer les URLs propre" mais surtout de "configurer wamp". Pour une installation avancée de Drupal pour gérer plusieurs sites à partir d'une même installation, vous découvrirez comment "préparer une installation Drupal multisite". Enfin, pour ceux travaillant en local derrière un pare-feux (au sein de votre entreprise par exemple), vous verrez comment traduire manuellement Drupal dans le cas où la procédure automatique échoue.
Bloquer les moteurs de recherche
Le fichier robots.txt fichier n'a pas besoin d'être modifié dans le cas où votre plateforme de test est locale, comme c'est le cas si vous suivez le cours de ce site. En revanche, si vous utilisez un hébergeur web comme serveur test - c'est à dire si votre site de test est accessible depuis internet - vous souhaitez certainement que Google et les autres moteurs de recherche ne le référencent pas, au moins le temps de la mise en place du site ! Pour cela, éditez le fichier robots.txt pour qu'il contienne uniquement les lignes suivantes :
User-agent: *
Disallow: /
Disallow: /
Bloquer les visiteurs
Toujours dans le cas où vous travaillez directement sur un hébergeur web, vous pouvez n'autoriser que quelques personnes choisies à visiter votre site de test. Pour celà, vous pouvez en protéger l'accès avec un mot de passe à l'aide de quelques lignes à ajouter dans les fichiers .htaccess et .htpasswd (le second est à créer vous même). Ces fichiers devront être situés à la racine de votre site, c'est à dire directement dans le dossier de votre serveur contenant votre site drupal (les dossiers core, sites, modules, etc...). Reportez vous à l'article "Comprendre l'architecture Drupal" si vous ne vous y retrouvez pas !
Lorsque l'utilisateur cherchera à se connecter à votre site de test, il sera alors confronté à une fenêtre de connexion comme suit:
Pour réaliser ceci, vous pouvez suivre le court tutoriel suivant: Protéger un dossier avec un .htaccess
Préparer l'architecture de mes sites
En ce qui nous concerne, le dossier sites est le plus important de votre installation Drupal. En effet, c'est lui qui va contenir l'ensemble de nos sites.

Comment ça de MES sites ? Tu veux dire de MON site ?
Et bien non ! Et c'est pour cela que le nom du dossier est au pluriel ! Drupal gère en effet le multi-site. C'est à dire que sur une seule et même copie des fichiers de Drupal, nous pouvons construire plusieurs sites, entièrement indépendants. L'intérêt est que vous n'avez à gérer Drupal core qu'une seule et même fois pour l'ensemble de vos sites. Imaginez que vous gériez trois sites Drupal différents sur un même serveur. Au lieu de faire un dossier par site Drupal (comme dans votre dossier www), vous pouvez créer trois dossiers dans le dossier sites de Drupal comme nous allons le voir ci-dessous. La mise à jour de Drupal core et des modules communs aux trois installations n'aura à être faite qu'une seule et même fois pour les trois sites: un gain de temps et d'effort parfois non négligeables !
Dans le dossier sites, vous pouvez créer les dossiers suivants :
- all : dans ce dossier se trouveront modules, thèmes et profils communs à tous les sites de l'installation Drupal. La mise à jour d'un module ou thème commun se répercutera sur l'ensemble des sites de l'installation.
- default : ce dossier contiendra les informations de configuration (identifiants d'accès à la base de données) définies par défaut. Chacun de vos sites peut avoir ses propres informations de configuration mais si vous n'en définissez pas, ce sont ces informations par défaut qui seront utilisées.
- mon-site.com : en créant simplement un dossier ayant pour nom l'adresse du site à configurer (sans le http:// devant), vous pourrez configurer individuellement un site en particulier de votre installation. C'est dans ce dossier que vous placerez les modules, thèmes et informations de configuration qui lui soit propre.

Les modules se placent dans un dossier modules et les thèmes dans un dossier themes. Les dossiers modules et themes seront crées par vos soins dans le dossier correspondant à leur usage. (sites/all s'ils doivent être utilisés par tout des sites de l'installation. sites/mon-site.com s'ils ne doivent être utilisés que sur http://mon-site.com). Les informations de configurations seront quant à elles contenues dans un fichier nommé settings.php.

Et si je ne veux faire qu'un seul site ?
Dans ce cas-ci, pas besoin de vous embêter avec tout ça ! Placez simplement vos modules dans le dossier modules existant déjà à la racine de votre installation, les thèmes dans le dossier themes et les profiles dans le dossiers profiles. Vous pouvez laisser de côté le dossier sites !
Exemple :
Vous avez deux sites à votre actif :
- www.dora.fr : site spécialisé sur Dora l'exploratrice, utilisant le thème barbie-rose.
- www.physique-quantique.fr : site spécialisé sur votre seconde passion dans la vie, la physique quantique utilisant le thème geeky.
Les deux sites ont un livre d'or. Vous téléchargez le module livre d'or qui s'appelera pour l'exemple livredor et vous le placez donc dans sites/all/modules/livredor. La fonctionnalité de livre d'or est alors installée pour les deux sites. Elle aura par contre une apparence différente, puisque http://dora.fr utilise le thème barbie-rose qui se trouve dans sites/dora.fr/themes/barbie-rose et que http://physique-quantique.fr utilise le thème geeky placé dans sites/physique-quantique.fr/themes/geeky ! Simple non ?!
En résumé...
Si j'ai un seul site web utilisant Drupal, je n'ai rien de spécial à faire !
Mais si j'ai trois sites utilisant la même installation Drupal :
je crée trois dossiers dans le dossier sites, chacun ayant pour nom l'adresse du site qu'il configure ;
si deux de ces sites utilisent le module bidule, je le place dans sites/all/modules ;
si le site 1 dont l'adresse est http://truc.fr utilise le theme brilliant, je place ce thème dans sites/truc.fr/themes
En guise d’exercice, vous pouvez essayer de créer une installation multi-sites. Pour la suite des articles de ce site, nous continuerons cependant sur une installation classique.
Pré-configurer mon installation
Depuis un moment, nous parlons d'informations de configuration. Celles-ci sont des données qui devront être stockés dans un fichier settings.php.

Pour une installation simple, vous n'avez rien à faire : Drupal s'occupe de tout. La manipulation ci-dessous s'adresse aux configurations multi-sites.
Pour vous faciliter le travail, Drupal à créé un fichier default.settings.php qui contient déjà le code nécessaire. Préparez alors votre installation multi-site comme suit :
- Dans sites/default, dupliquez (copier-coller au même endroit) le fichier default.settings.php.
- Renommez la copie settings.php.
- Déplacez settings.php dans le dossier de votre installation (dans le dossier sites/votre-site).

Exemple de création du fichier de configuration pour le site www.truc.fr
Réécriture d'URL
Voici une manipulation pour les utilisateurs d'un serveur local: nous allons activer la réécriture d'URL. Vous allez certainement avoir l'impression que l'on pinaille sur du détail, mais c'est une fonctionnalité à configurer dans notre serveur local pour que l'installation de Drupal la prenne en compte. Nous allons donc le faire dès maintenant.

Concrètement, ça sert à quoi ?
Le point d'entrée de Drupal est index.php, ça nous l'avons déjà vu. Lorsque vous vous rendez sur un site Drupal, par exemple sur www.axiomcafe.fr, mettons que vous visitiez l'article expliquant pourquoi le CD a pour diamètre 12 centimètres. Par défaut, l'adresse de cet article est:
Celà signifie que l'on accède au site AxiomCafe via la page d'entrée index.php. Sur cette page, nous faisons une requête "?q=" pour demander le noeud (nom technique donnée à un article par drupal, nous y reviendrons) "node" numéro 69: "/69".
En utilisant un serveur de type Apache, index.php est le point d'entrée par défaut d'un site. Nous pouvons donc l'omettre, ce qui donne :
Il est possible de réécrire dynamiquement les URL. L'option la plus simple - et celle qui est gérée par défaut par Drupal - suit le principe dit "d'URL propre". Une telle URL masquera la requête PHP pour obtenir simplement l'adresse :
En activant l'option d'URL propre, nous pourrons accéder à l'article de notre site via cette URL. L'intérêt est qu'elle est plus simple à donner à quelqu'un que la version compète /index.php?q=node/69 !!
Nous pourrons même faire mieux par la suite, en demandant l'URL :
N'est-ce pas encore plus beau. Ce coup-ci, avant même de cliquer sur le lien, vous saurez de quoi l'arricle parlera !

Et comment qu'on fait pour avoir cette trop bien fonctionnalité ?
Pour pouvoir faire cela, il faut que votre serveur soit capable de réécrire dynamiquement les URL. C'est tout prêt par défaut lorsque vous payez un hébergeur web. Mais dans notre cas, en local, WAMP n'a pas cette option activée par défaut. Pour activer l'option, il suffit d'activer le module Apache rewrite_module. Pour cela :
- Clic gauche sur l'icône WAMP.
- Allez dans Apache / Module Apache.
- Cliquez sur "rewrite_module" de sorte que l'option soit activée.
Quelques modifs WAMP !
Il reste quelques changements à faire pour configurer WAMP dans le cadre de l'usage de Drupal en local.
1- De la même façon que pour le rewrite_module, activez le module php_gd2 pour la gestion des images via PHP :
- Clic gauche sur l'icône WAMP.
- Allez dans PHP/ PHP extensions.
- Cliquez sur "php_gd2" de sorte que l'option soit activée.
2- Encore une fois, de la même façon activer le module php_curl :
- Clic gauche sur l'icône WAMP.
- Allez dans PHP/ PHP extensions.
- Cliquez sur "php_curl" pour activer l'option.
3- Modifiez enfin le temps maximal d’exécution des scripts PHP :
- Clic gauche sur l'icône WAMP.
- Allez dans PHP / php.ini
- Dans le fichier texte qui vient de s'ouvrir, changez max_execution_time = 30 en max_execution_time = 300.
Traduire manuellement mon installation Drupal
Cette étape va vous montrer comment traduire manuellement votre installation Drupal. Autrefois nécessaire dans Drupal 7, cette étape est maintenant obsolète sous Drupal 8. Vous pouvez donc la passer. Elle reste notée ici dans les rares cas d'erreur de la procédure automatique (en local derrière un proxy par exemple), vous le découvrirez lors de l'installation de Drupal.
Par défaut, Drupal et son installation sont en anglais. Toutefois, il est possible de traduire votre site en français ou dans tout autre langue souhaitée.
Si vous souhaitez configurer manuellement une autre langue que l'anglais en traduisant Drupal dans son intégralité, y compris l'installation, il vous faudra effectuer quelques manipulations :
- Rendez-vous sur le sous-site localize de Drupal à l'adresse: http://localize.drupal.org.
- Dans la colonne de droite, sélectionnez la langue souhaitée pour accéder à la page des traductions.
- Téléchargez la traduction pour votre version de Drupal
Vous aurez alors téléchargé un fichier ".po" que vous placerez dans le dossier (à créer vous même) sites/default/files/translations. Un fichier ".po" est une sorte de dictionnaire de traduction qui indique que telle phrase dans une langue se traduira par telle phrase dans une autre langue. Ici, ce sont donc des phrases en anglais qui seront traduites en français. Placez le fichier de traduction dans sites/default/files/translations.
- Connectez-vous ou inscrivez-vous pour publier un commentaire
Commentaires
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation
P { margin-bottom: 0.21cm; }
Bonjour,
J'essaie de transposer ce que lis sur cette page en tentant de faire l'équivalent avec MAMP.
Pour WAMP, il avait été précisé que le contenu du dossier drupal (et non le dossier) devait être dans www.
J'ai donc mis le contenu de drupal dans MAMP/htdocs
Pourtant dans l'exemple ci dessus sur cette page, le contenu du dossier drupal est dans un dossier intermédiaire 'TutoDrupalAddict' =>faut il forcément, de la même façon, créer un dossier intermédiaire dans htdocs ? J'ai tenté, mais quand je lance http://localhost/TutoDrupalAddict, la page install.php qui s'affiche est entièrement blanche. Je n'arrive donc pas à configurer drupal.
Par ailleurs, je n'arrive pas non plus à éditer le fichier php.ini dans une console "terminal" pour activer php_gd2 et php_curl (j'avoue être un peu novice dans l'utilisation du terminal)
D'avance merci pour votre aide
Re: Préparer son installation
Re: Préparer son installation
L'hebegeur m'a fait ajouté au .htaccess la ligne
AddHandler php55-fcgi .php
Hosteur me dit qu'il s'agit d'un problème de développement de drupal.
Je ne trouve rien dans les forum drupal.
Merci D'avance.
Drupal 8.0.0-beta14 du 3/8/2015 (dernière versoin disponible)
Hébergeur : Hosteur
PHP 5.5.13
Web server: apache 2.2.27
Warning: session_start(): Cannot find save handler 'memcache' - session startup failed in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 148 of core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php).
Drupal\Core\Session\SessionManager->startNow()
Drupal\Core\Session\SessionManager->save()
Symfony\Component\HttpFoundation\Session\Session->save()
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)
RuntimeException: Failed to start the session in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 149 of core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php).
Drupal\Core\Session\SessionManager->startNow()
Drupal\Core\Session\SessionManager->save()
Symfony\Component\HttpFoundation\Session\Session->save()
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)
Re: Préparer son installation
Re: Préparer son installation
Re: Préparer son installation