logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement

Travail avec la base de données dans Drupal 7 - leçon 2 - Configuration de la base de données

06/07/2025, by Ivan

Le principal moyen de définir la connexion à la base de données est le tableau $databases dans settings.php. Comme son nom l’indique, $databases permet de définir plusieurs connexions à des bases de données. Il supporte également la définition de plusieurs cibles. La connexion n’est pas ouverte (l’objet connexion n’est pas créé) tant qu’un morceau de code n’a pas effectué une requête à la base pour la première fois.

Clé de connexion

La clé de connexion est un identifiant unique attribué à une connexion à la base de données. Cette clé doit être unique pour le site et doit être définie par défaut pour la base de données principale. Sur la plupart des sites, il s’agira d’une seule connexion.

Cible de connexion

La connexion peut avoir une ou plusieurs cibles. Une cible est un traitement optionnel de la base de données pour utiliser la base si elle est disponible. Si la cible demandée n’est pas définie, le système utilisera silencieusement la cible par défaut, qui doit toujours être définie.

Les cibles sont principalement utilisées pour la réplication maître/esclave. Par défaut, la cible est le serveur SQL principal. Une ou plusieurs cibles « esclave » peuvent aussi être définies. Les requêtes marquées tenteront d’utiliser un serveur SQL supplémentaire si possible. Si cela réussit, le serveur esclave sera utilisé, sinon ce sera le serveur par défaut.

Syntaxe de $databases

Le tableau $databases est un tableau imbriqué à 3 niveaux. Le premier niveau définit la clé de connexion. Le second définit la cible de connexion. La valeur de chaque cible est l’information de connexion pour la paire clé/cible. Voici un exemple pour illustrer :

<?php
$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'localhost',
);
?>

Ce tableau $databases définit une connexion unique avec la clé ("default") et la cible ("default"). Cette connexion utilise une base MySQL ("driver" - mysql) sur le serveur localhost, avec la base de données drupaldb, l’utilisateur username et le mot de passe secret. C’est généralement la configuration de la plupart des sites.

Pour configurer maître/esclave, on utilise la définition suivante :

<?php
$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb1',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver1',
);
$databases['default']['slave'][] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb2',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver2',
);
$databases['default']['slave'][] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb3',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver3',
);
?>

Cette configuration fournit un serveur "default" et deux serveurs "slave". Notez que la clé slave est un tableau. Si une cible est définie comme un tableau de connexions, un serveur sera choisi aléatoirement pour chaque requête de page. Cela signifie que, sur une même page, les requêtes peuvent aller vers dbserver2 ou dbserver3.

<?php
$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb1',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver1',
);
$databases['extra']['default'] = array(
  'driver' => 'sqlite',
  'database' => 'files/extradb.sqlite',
);
?>

Cette configuration définit une base de données principale Drupal et une base supplémentaire nommée "extra" utilisant SQLite. Notez que pour SQLite, les informations de connexion diffèrent de MySQL. Chaque driver peut avoir une configuration différente selon son usage. Quel que soit le nombre de connexions définies, Drupal n’ouvrira pas la connexion aux bases supplémentaires tant que la base par défaut est utilisée.

Drupal 7 nécessite PDO

La bibliothèque PHP PDO est désormais requise pour Drupal. Vous devrez disposer d’un hébergement supportant PDO pour lancer Drupal, ou installer la bibliothèque appropriée sur votre serveur.