usines à site avec drupal - meetup drupal strasbourg
DESCRIPTION
"Usine à sites avec Drupal : comment choisir la meilleure approche ?" Slides de la présentation de Nicolas Loye et Jurgen Pecher au premier Meetup Drupal de l'Est, 19/06/2014, Strasbourg. Une usine à site permet de créer plusieurs sites sur le même serveur avec la même installation Drupal, et de pouvoir les dupliquer pour les adapter facilement à un nouveau besoin.TRANSCRIPT
![Page 1: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/1.jpg)
usine à sitesavec
DrupalDrupal Meetup Strasbourg
19-06-2014
Nicolas LOYEJürgen PECHER
@ACTENCY
![Page 2: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/2.jpg)
Quoi, qui et comment ?
J / JN
![Page 3: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/3.jpg)
Le programme
Première mi-temps :
○ Intro / Présentation
○ Usine à sites – les besoins
○ Architectures et exemples
○ Comment choisir ?
○ Les solutions Drupal
○ Questions & réponses
Deuxième mi-temps :
○ Installation profiles
○ Drush
○ Organic groups
○ Domain access
○ Aegir
JN / N
![Page 4: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/4.jpg)
Présentation - Nicolas
Chef de projet technique & Lead Développeur Drupal @ Actency
Drupal-addict depuis 2006
Projets professionnels sur Drupal 4.5 à 7
Distrib standard / Pressflow / Commerce kickstart / Open Atrium
Module contrib Drupal 8
Présence régulière en Drupalcon
Patch, module & translation contribs & reviews.
Jeux de rôles, jeux vidéos, heavy metal.N / J
![Page 5: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/5.jpg)
Présentation - Jürgen
Directeur Technique @ Actency
Drupal-addict depuis 2006.
J’ai piloté des projets de D4.6 à D7, des petits aux grands, de 5K€ à plus d’1M€.
Je porte les casquettes de Capitaine, Navigateur, Architecte, Consultant et éternel insatisfait.
J’aime l’esprit Open Source de la communauté Drupal, j’adore les DrupalCon’s.
Et pour prendre un break, je pratique la plongée, le fitness et je suis fan de Metal...
Mais il me reste toujours suffisamment d’énergie pour mon ultime passion :
Drupal bien sûr… ;-)
J / J
![Page 6: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/6.jpg)
Pourquoi une usine à sites?
J / J
![Page 7: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/7.jpg)
La promesse … ?!?
J / J
![Page 8: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/8.jpg)
Pourquoi une usine à sites?
Les besoins - client :
○ Temps - Mise en production dans un délai plus court
○ Réduction du coût de fabrication
○ Réduction du coût de maintenance
○ Respect d’un catalogue de fonctionnalités et de layout communs
○ “Recyclage” d’un site existant
J / N
![Page 9: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/9.jpg)
Pourquoi une usine à sites?
Les besoins - agence :
○ Temps -
Mise en production dans un délai plus
court
○ Utilisation d’un catalogue de
fonctionnalités et layouts testés, validés
et approuvés
○ Réduction du coût de fabrication
N / J
![Page 10: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/10.jpg)
Les architectures potentielles
J / J
![Page 11: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/11.jpg)
Les architectures potentielles
Sur la base de ces éléments Code + base de données
on distingue trois types d’architecture :
1. Sites 100 % indépendants - chaque site dispose de son propre code- chaque site dispose de sa propre base de données
2. Sites 50% indépendants- les sites partagent le même code- chaque site dispose de sa propre base de données
3. Sites 0% indépendants- les sites partagent le même code et la même base de données
J / N
![Page 12: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/12.jpg)
Exemple 01Sites 100 % indépendants
Socle des sites de productionune agence / drupal-shop
Chaque nouveau projet se base sur le même set de modules, de configurations, de themes… qui ont été validés et représentent le socle de chaque nouveau site.
Le site évoluera ensuite (enrichissement du code, configurations différenciées) et aura sa propre base de données.
N / N
![Page 13: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/13.jpg)
Exemple 02Sites 50 % indépendants
Sites d’administration / portail avec microsites
○ Ensemble de sites ayant leurs fonctionnalités propres mais partageant des éléments (configurations, contenus, utilisateurs.)
○ Code base commune, les mises à jour du code sont partagées, le même thème peut être utilisé sur tous les sites, etc.
○ Configurations indépendantes, modules actifs différents.
○ Possibilité de partager tout ou partie de la base entre les différentes instances.
N / J
![Page 14: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/14.jpg)
Exemple 03Sites 0 % indépendants
Site d’une école nationale
○ Une présentation commune (home-page, pages institutionnelles)
○ Des sections dédiées à chaque école avec leur propres contenus, publication-workflows, fonctionnalités, administrateurs et permissions d’utilisateur. (CRUD)
○ Les différentes sections des sites sont définies dans l’url-pattern comme par exemple :http://www.epitech.eu/strasbourg/ecole-informatique-
strasbourg.aspx
J / J
![Page 15: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/15.jpg)
Les solutions Drupal
J / J
![Page 16: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/16.jpg)
Solutions drupal
Sites 100% indépendants
○ Installation profiles + outils de deployment
Sites 50% indépendants
○ Multi-sites + Installation profiles+ outils de deployment
Sites 0% indépendants
○ Organic groups + modules d’extension
○ Domain access + modules d’extension
J / N
![Page 17: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/17.jpg)
Installation profiles+ outils de deployment
Les profils d’installation de Drupal …
... offrent des caractéristiques et fonctionnalités pour un type spécifique de site packagé en une seule code base contenant Drupal, les modules, thèmes et configurations prédéfinies souhaitées.
Ils permettent de mettre en place rapidement un site complexe d'utilisation spécifique en moins d'étapes que si l'installation et la configuration des éléments étaient faits individuellement.
N / N
![Page 18: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/18.jpg)
Profile d’installation + outils de deployment
N / J
![Page 19: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/19.jpg)
Multi-sitesLa promesse :
Si vous utilisez plus d'un site Drupal, vous pouvez simplifier la gestion et la mise à niveau de vos sites en utilisant l’architecture multi-site.
Multi-site vous permet de partager une seule installation Drupal (la code base, les modules contrib et thèmes) entre plusieurs sites.
J / J
![Page 20: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/20.jpg)
Multi-sitesLe concept
Site unique : Multi-sites
J / J
![Page 21: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/21.jpg)
Multi-sites“The good, the bad and the ugly”
J / J
![Page 22: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/22.jpg)
Multi-sites“des instances distincts … THE GOOD, … ”
J / N
![Page 23: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/23.jpg)
Multi-sites“… le partage de certaines tables ... THE BAD ”
Exemple :Le site 02 partage certaines tables de la base de données du site 01. Cette configuration sera définie dans le fichier settings.php du site 02.
Des erreurs multiples sont possibles :○ Désynchronisation de la
configuration et du fichier settings.php.
○ Certains custom hooks peuvent ne plus fonctionner comme attendu.
○ Problèmes de caching.
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'dev_xxxx_xxxxxxxx',
'username' => 'xxxx-xxxx-user',
'password' => '***************',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => array(
'default' => '',
//user_tables shared
'users' => 'dev_xxxx_public.',
'sessions' => 'dev_xxxx_public.',
'role' => 'dev_xxxx_public.',
'users_roles' => 'dev_xxxx_public.',
// user authentification tokens shared
'tokenauth_tokens' => 'dev_xxxx_public.',
//user_fields shared
...
N / N
![Page 24: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/24.jpg)
Multi-sites“Connection temporaire à une autre base de données... THE UGLY”
Exemple :Le site 02 se connecte temporairement à une autre base de données.
Des erreurs multiples sont possibles :○ Désynchronisation de la
configuration et du fichier settings.php.
○ Certains custom hooks peuvent ne plus fonctionner comme attendu.
○ Le code custom contient un risque supplémentaire : requêter la “mauvaise” table/base de données.
○ Problèmes de caching.
Dans le fichier settings.php :<?php$databases = array();$databases['default']['default'] = array( // Drupal's default credentials here. // This is where the Drupal core will store its data.);$databases['my_other_db']['default'] = array( // Your secondary database's credentials here. // You will be able to explicitly connect to this database from your modules.);?>
Dans votre module custom :<?php// Use the database we set up earlierdb_set_active('my_other_db');// Run some queries, process some data// ...// Go back to the default database,// otherwise Drupal will not be able to access its own data later on.db_set_active();?>
N / N
![Page 25: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/25.jpg)
Domain access + modules d’extension
Le projet Domain Access est une suite de modules qui fournissent des outils pour l'exécution de groupes de sites affiliés au sein d'une installation Drupal avec code et base de données uniques.
Par défaut, ces sites partagent toutes les tables de l’installation Drupal.
Toutes les différences de configuration sont assignées à des contextes basés sur des domaines différents.
N / N
![Page 26: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/26.jpg)
Domain access + modules d’extension
N / N
![Page 27: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/27.jpg)
Domain access + modules d’extension - création d’un “site”
N / N
![Page 28: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/28.jpg)
Domain access + modules d’extension - settings per “site”
N / J
![Page 29: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/29.jpg)
Organic Groups+ modules d’extension
Cette suite de modules permet aux utilisateurs de créer et de gérer leurs propres «groupes».
Un groupe est créé par un utilisateur propriétaire unique, qui dispose de permissions spéciales, y compris la possibilité de supprimer le groupe.
Les administrateurs de groupe ont également des permissions spéciales, mais ne peuvent pas supprimer le groupe, sauf s'ils sont définis comme propriétaires du groupe.
J / J
![Page 30: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/30.jpg)
Organic Groups+ modules d’extension
J / J
![Page 31: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/31.jpg)
Organic Groups+ modules d’extension - création d’une “site”
J / J
![Page 32: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/32.jpg)
Organic Groups+ modules d’extension -settings per “site”
J / J
![Page 33: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/33.jpg)
Les critères de choix
J / J
![Page 34: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/34.jpg)
Comparaison :
Indépendance sites 100% 50% 0%
Partage du code non oui oui
Partage de la bdd non non oui
Facilité de création d’un nouveau site non non oui/non
Facilité de maintenance non oui/non oui
SSO “par défaut” non non oui
Partage des utilisateurs “par défaut” non non oui
Partage des contenus “par défaut” non non oui
Partage des configurations “par défaut” non non oui
BO/administration partagée non non oui
Indépendance de code et déploiement oui non non
Indépendance d’hébergement oui non non
Pas de “single point of failure” oui non non
J / J
![Page 35: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/35.jpg)
Organic Groups VS. Domain Access
Fonctionnalités OrganicGroups
DomainAccess
Facilité de création d’un nouveau “site” oui non
Chaque site possède sa propre URL non oui
Rôles et permissions spécifiques oui oui
Chaque site peut utiliser son propre theme oui oui
Intégration d’un Variable realm oui oui
Intégration de workbench moderation oui oui
Intégration i18n oui oui
Vocabularies dédiés oui oui
Menus dédiés oui oui
Block-visibilité par “site” oui oui
J / J
![Page 36: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/36.jpg)
Vos questions ...
![Page 37: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/37.jpg)
Deuxième mi-temps ...
J / N
![Page 38: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/38.jpg)
Installation profiles ...
N / N
![Page 39: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/39.jpg)
Installation profiles
Le profil embarque toutes les configurations et modules testés et validés dont vous avez besoin.
Permet de modifier les formulaires d’installation standards pour adapter la configuration aux inputs fournis.
Des contenus pré-définis peuvent être créés dès l’installation.
N / N
![Page 40: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/40.jpg)
Installation profiles
Fichier .info > identique à un module
1. name = MyDrupalProfile
2. description = Install my most commonly used modules and configurations.
3. version = VERSION
4. core = 7.x
5. ; STANDARD
6. dependencies[] = block
7. dependencies[] = color
8. dependencies[] = comment
9. ; CUSTOM
10. dependencies[] = my_module
N / N
![Page 41: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/41.jpg)
Installation profiles
Fichier .install > identique à un module
Mêmes opérations qu’un .install standard :
○ Création de schemas customs
○ Modifications de configs
○ Création de contenus
○ Définitions de permissions
○ Possibilité de définir des hook_update_N()
○ Etc.
N / N
![Page 42: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/42.jpg)
Installation profiles
Fichier .profile
Opérations spécifiques réalisées pendant l’installation :
○ Modification des étapes de l’installation en soi (ajout/altération des étapes de l’install)
○ Altération des formulaires présentés à l’utilisateur pendant l’install
○ Autres modifications diverses
N / J
![Page 43: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/43.jpg)
Drush ...
J / J
![Page 44: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/44.jpg)
Drush
En quelques mots :
○ Drush ou “drupal shell” est un outil de ligne de commandes qui facilite la création de site et les processus de maintenance.
○ Package de commandes CLI spécifiques Drupal.
○ Gain de temps.
○ Extensible par simple écriture de hooks.
○ Accès à des fonctionnalités avancées de Drupal.
○ Cool & rock’n’roll !
J / N
![Page 45: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/45.jpg)
Drush
N / N
![Page 46: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/46.jpg)
Drush / make
Fichier .make / Dites à Drush quoi installer
1. ; This file was auto-generated by drush make
2. core = 7.x
3. api = 2
4. defaults[projects][subdir] = contrib
5. projects[drupal][version] = 7.28
6. ; Modules
7. projects[] = views_bulk_operations
8. projects[admin_menu][version] = 3.0-rc4
9. projects[admin_menu][patch][1961178] = "http://drupal.org/files/admin_menu-ie6detect-1961178-1.patch"
10. projects[] = views
11. projects[] = backup_migrate
12. projects[] = ctools
13. projects[] = content_access
N / N
![Page 47: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/47.jpg)
Drush / make
Installation rapide et personnalisée
drush site-install drupency --db-url="mysql://USER:PASS@localhost/DB_NAME" --site-name="My drupal site" --account-name="hodor" --account-pass="hodor" -y
Projet information for drupal retrieved.[ok]
Projet information for views_bulk_operations retrieved.[ok]
Projet information for admin_menu retrieved.[ok]
Projet information for views retrieved.[ok]
Projet information for backup_migrate retrieved.[ok]
Projet information for ctools retrieved.[ok]
Projet information for content_access retrieved.[ok]
drupal download from http://ftp.drupal.org/files/projects/XXXX[ok]
views_bulk_operations download from http://ftp.drupal.org/files/projects/XXXX [ok]
admin_menu download from http://ftp.drupal.org/files/projects/XXXX[ok]
N / J
![Page 48: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/48.jpg)
Drush / Core-quick-install
Génère une instance Drupal standard dans un dossier avec la base de données associée.
○ Installation rapide
○ Permet de spécifier un profil d’installation
○ Plusieurs arguments permettent de customiser l’installation.
drush qd -y
Starting drupal installation. This takes a few seconds ...
J / J
![Page 49: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/49.jpg)
Variables realm ...
J / J
![Page 50: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/50.jpg)
Variable API 011. /**
2. * Implements hook_variable_info().
3. */
4. function mymodule_variable_info($options) {
5. $variable['needed_variable'] = array(
6. 'title' => t('my needed variable', array(), $options),
7. 'description' => t('myneeded_variable for the og and ad realms', array(), $options),
8. 'type' => 'properties',
9. 'default callback' => 'color_bartik_variable_defaults',
10. 'group' => 'meetup_demo',
11. 'localize' => TRUE,
12. 'multidomain' => TRUE,
13. );
14. ;
15. );
16. return $variable;
17. }
18. /**
19. * Callback for default theme settings
20. */
21. function color_bartik_variable_defaults($variable, $options) {
22. return array(
23. 'taa' => ‘’,
24. 'bb' => ‘’,
25. }
26. );
27. }
J / J
![Page 51: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/51.jpg)
Variable API 02function mymodule_variable_group_info() {
$groups['meetup_demo'] = array(
'title' => t('Meetup Demo'),
'description' => t('variables made accessible by a custom module using the variable API'),
'access' => 'administer site configuration',
);
return $groups;
}
J / N
![Page 52: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/52.jpg)
Variable API 03
J / N
![Page 53: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/53.jpg)
Aegir ...
N / N
![Page 54: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/54.jpg)
Aegir
Logiciel de gestion de déploiement et de maintenance d’instances drupal.
○ Gestion de plusieurs versions / distrib du core.
○ Gestion des updates de modules et du core (spécification de la version de destination pour chaque update).
○ Contrôle des code base et bases de données.
○ Gestion des queues, batch, cron, etc.
○ Compatible drush.
○ Requiert une infrastructure assez spécifique.
N / N
![Page 55: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/55.jpg)
Aegir
N
![Page 56: Usines à site avec Drupal - Meetup Drupal Strasbourg](https://reader035.vdocuments.mx/reader035/viewer/2022062405/5586e9c7d8b42a7b198b4655/html5/thumbnails/56.jpg)
Merci de votre attentionVos questions ...