- Comment utiliser la toute nouvelle gestion de configuration sous Drupal 8 ?
- Comment adopter de bonnes pratiques de gestion de configuration et utiliser un workflow basé sur drush config-export, config-import et config-pull ?
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
Nous verrons comment construire un environnement de développement et de production à la demande en utilisant Amazon Web Service, Chef, Vagrant et Docker.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
Nous verrons comment construire un environnement de développement et de production à la demande en utilisant Amazon Web Service, Chef, Vagrant et Docker.
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 1 : mise en place d'un serveur web
Introduction au serveur web Apache2
Présentation, installation, configuration
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
Présentation par Nicolas Lalevée des modèles de gestion de dépendances Maven, Ivy et OSGi au Toulouse Jug du 26 Mai 2011.
Abstract:
La gestion des dépendances, sac de noeuds presque par définition, on va essayer de démêler tout ça.
Après avoir fait un état des lieux avec Maven car il est l'incontournable du moment, nous irons voir comment Ivy peut décrire assez finement et gérer avec souplesse des dépendances. Nous verrons ensuite comment le modèle de dépendances d'OSGi est original et apporte encore de nouveaux concepts. Deux mondes s'affrontent alors, celui de Maven et Ivy face à celui d'OSGi; on tentera enfin d'esquisser un meilleur des deux mondes.
08 02 mise en place de serveurs virtuels apache 2Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 2 : mise en place de serveurs virtuels apache 2
Topic 208.2 partie 1
Supports créées par Noël Macé sous Licence Creative Commons BY-NC-SA.
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
L’un des enjeux principaux de Docker est de rapprocher les équipes de développement de celles de la production. Docker permet, en effet, d’aisément installer une application, mais également de la modifier rapidement.
Ce livre blanc s’adresse donc à la fois aux opérationnels et aux développeurs mais aussi à tous ceux qui organisent la DSI ou les différents projets.
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Going through the details of each platform when managing computer is a time consuming task; configuration management software can help lightens the burden of the repetitive tasks and let you keep a tracked record of all modification on your systems.
Cfengine is a cross-platform configuration management software written in C that is autonomous, automated and aims at keeping the computer in the promised state.
Based on the Promise Theory, if offers solution for security, provisioning, compliance, monitoring and IT automation.
The document is licensed under the terms of cc by-nc-sa
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 1 : mise en place d'un serveur web
Introduction au serveur web Apache2
Présentation, installation, configuration
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
Présentation par Nicolas Lalevée des modèles de gestion de dépendances Maven, Ivy et OSGi au Toulouse Jug du 26 Mai 2011.
Abstract:
La gestion des dépendances, sac de noeuds presque par définition, on va essayer de démêler tout ça.
Après avoir fait un état des lieux avec Maven car il est l'incontournable du moment, nous irons voir comment Ivy peut décrire assez finement et gérer avec souplesse des dépendances. Nous verrons ensuite comment le modèle de dépendances d'OSGi est original et apporte encore de nouveaux concepts. Deux mondes s'affrontent alors, celui de Maven et Ivy face à celui d'OSGi; on tentera enfin d'esquisser un meilleur des deux mondes.
08 02 mise en place de serveurs virtuels apache 2Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 2 : mise en place de serveurs virtuels apache 2
Topic 208.2 partie 1
Supports créées par Noël Macé sous Licence Creative Commons BY-NC-SA.
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
L’un des enjeux principaux de Docker est de rapprocher les équipes de développement de celles de la production. Docker permet, en effet, d’aisément installer une application, mais également de la modifier rapidement.
Ce livre blanc s’adresse donc à la fois aux opérationnels et aux développeurs mais aussi à tous ceux qui organisent la DSI ou les différents projets.
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Going through the details of each platform when managing computer is a time consuming task; configuration management software can help lightens the burden of the repetitive tasks and let you keep a tracked record of all modification on your systems.
Cfengine is a cross-platform configuration management software written in C that is autonomous, automated and aims at keeping the computer in the promised state.
Based on the Promise Theory, if offers solution for security, provisioning, compliance, monitoring and IT automation.
The document is licensed under the terms of cc by-nc-sa
Cfengine vs Puppet vs Chef: A Guide for Stressed DevelopersRon Toland
If you're a developer in a small company, you probably don't have a dedicated sysadmin, but you still want to use best practices.
You've probably heard of configuration management as a better way to control your servers. You've heard of the big three: Puppet, Chef, and Cfengine.
But how do you choose between them? Especially when you've only got a week to spare for a project that should take 4?
This talk will walk you through the major differences between the big three solutions, and where each one would be the best fit.
eZ Publish vs Drupal - technical battleKaliop-slide
Technical battle eZ Publish vs drupal
Lire également le support de notre approche stratégique et fonctionnelle : http://www.kaliop.fr/Actualites/L-avis-des-experts/Support-du-webinar-choisir-son-CMS-eZ-Publish-vs-Drupal
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Artusamak
Cette présentation a été donnée dans le cadre du Drupalcamp Paris 2013 du 21 au 23 juin (http://paris2013.drupalcamp.fr/programme-paris).
Présentation par Vincent Maucorps (https://twitter.com/vmaucorps)
Fondé il y a plus de 20 ans, Smile a développé une expertise sur plusieurs CMS open source.
Ceci nous permet de présenter le positionnement de Drupal, par rapport à autres outils disponnible.
Cette étude se fera sur les axes suivants:
Stratégie de gestion de contenu
Orientation technique
Marché cible
Communauté
Business model
En introduction de la conférence Drupagora 2015, Marine Soroko et moi-même avons présenté les éléments de stratégie impliqués dans le lancement de projets Drupal 8 : un regard technique d'un côté, un regard gestion de projets de l'autre.
Retrouvez dans cette présentation de Benoît Mouchard, Chef de projet / Consultant Business Intelligence chez Atol des trucs et astuces pour le développement de tableaux de bord Pentaho
Retrouvez dans cette présentation de Benoît Mouchard, Chef de projet / Consultant Business Intelligence chez Atol des trucs et astuces pour le développement de tableaux de bord Pentaho
"Un module Prestashop, comment ca marche?"o2sources
En moins d'une vingtaine de slides, petit tour rapide des principaux composants d'un module Prestashop.
Présenté le 24 novembre 2011 au Barcamp Prestashop (Espace Tapis Rouge 75010 PARIS)
Cette mini-conférence sera également présentée lors du prochain apéro Prestashop Lyon mi-décembre (lieu non encore déterminé).
Au cours de cette session, nous présenterons d'une manière générale toutes les caractéristiques qui font de symfony un framework open source tourné vers le monde professionnel.
Il s'agira dans un premier temps de montrer que symfony n'est pas seulement une base de code mais un projet open source à part entière disposant d'un écosystème riche sur lequel n'importe quel développeur peut compter.
Nous porterons ensuite un oeil plus attentif aux fonctionnalités phares du framework telles que sa couche d'abstraction de base de données, son interface en ligne de commande, le routing bidirectionnel, les outils de test automatisés ou bien encore le générateur automatique de backoffice.
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
Retour d'expérience sur les pratiques que j'utilise au quotidien pour l'industrialisation de mes développements WordPress...
https://lyon.wordcamp.org/2015/session/wordpress-git-et-lintegration-continue/
Automatisez vos tâches répétitives avec Grunt (Blend 2013)Corinne Schillinger
Cette présentation vous propose de découvrir les possibilités offertes par Grunt, et de voir comment automatiser certaines tâches telles que la compilation des feuilles de styles, la concaténation et minification des fichiers JavaScript ou encore l'optimisation des images.
Panorama des tendances, nouvelles normes, conseils précieux aux développeurs… Entre front, back et design, le Blend Web Mix offre chaque année un cocktail très prisé de technologies et de savoir-faire.
Conférence donnée à la Droidcon Tunisia 2015.
Les mises à jour OTA sont partout sur nos téléphones (ok, presque partout) mais comment fonctionnent-elles ?
Au cours de cette présentation, nous verrons :
Ce qu’est une MàJ OTA
Comment l’implémenter (exploration de code : intent, permission système, recovery, etc.)
Quelle architecture backend pour mettre en place une solution d’OTA
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
2. Qui suis-je ?
Senior Technical Solutions Analyst @Acquia
● Drupaliste depuis 2007
● Membre de la communauté Drupal et communauté lyonnaise depuis 2010
En ligne
● www.drupalfacile.org
● @DrupalFacile
● anavarre.net
● @AurelienNavarre
3. Une rapide genèse du système de configuration
● Table {variable} dans les précédentes versions de Drupal
● 2011 : sous-système remplacé par Config API et State API
○ Config : données persistantes (exemple : nom du site)
○ State : données volatiles (exemple : dernière fois que le cron a été exécuté)
● 2012-2014 : configuration ‘active’ stockée sous forme de fichiers YAML
○ Dossier ‘active’ pour la configuration live et ‘staging’ pour la nouvelle configuration
○ Problèmes de performance avec les systèmes de fichiers distribués
● 2014 : configuration stockée de nouveau en base de données et amélioration
de l’interface utilisateur
● 2015 : nettoyage des dossiers de configuration
○ ‘active’ et ‘staging’ sont remplacés par ‘sync’ uniquement
● 2016 : toujours aucun workflow ‘officiel’, mais des pistes sérieuses
○ $ drush config-pull (on en parle plus tard dans cette présentation)
5. Aperçu de l’interface utilisateur
Tableau de bord admin/config/development/configuration
6. Astuce d’apprentissage
Pour bien appréhender la gestion de configuration, il faut la découvrir dans le
sens inverse de celui indiqué dans l’interface.
Plus
conceptuel
Moins
conceptuel
7. Export complet de configuration via l’interface
Tableau de bord admin/config/development/configuration/full/export
9. Premier contact avec le format YAML
uuid: 517b0f02-c22f-4343-9008-8cb7a88e707a
name: 'Drupal Lyon'
mail: admin@lyon.local
slogan: ''
page:
403: ''
404: ''
front: /node
admin_compact_mode: false
weight_select_max: 100
Attention à l’indentation ! http://www.yamllint.com
Spécification YAML
http://www.yaml.org/spec
10. Export simple de configuration via l’interface
Tableau de bord admin/config/development/configuration/single/export
11. Import complet de configuration via l’interface
Tableau de bord admin/config/development/configuration/full/import
12. Import simple de configuration via l’interface
Tableau de bord admin/config/development/configuration/single/import
13. Synchronisation de configuration via l’interface
Tableau de bord admin/config/development/configuration
Nouvelle configuration sous sites/default/files/config_HASH/sync
16. Passer à la vitesse supérieure avec Drush 8
Config commands: (config)
config-edit (cedit) Open a config file in a text editor.
config-export (cex) Export configuration to a directory.
config-get (cget) Display a config value, or object.
config-import (cim) Import config from a config dir.
config-list (cli) List config names by prefix.
config-pull (cpull) Transfer config between envs
config-set (cset) Set config value directly.
17. Afficher tous les fichiers de la configuration active
$ drush @lyon.local config-list
automated_cron.settings
block.block.bartik_account_menu
block.block.bartik_branding
block.block.bartik_breadcrumbs
block.block.bartik_content
block.block.bartik_footer
block.block.bartik_help
(snipped)
18. Exporter la configuration active
$ drush @lyon.local config-export -y sync
Configuration changes made since the last export:
Collection Config Operation
automated_cron.settings create
system.menu.account create
block.block.bartik_branding create
(snipped)
The .yml files in your export directory
(sites/default/files/config_kQ8/sync) will be deleted. (y/n): y
Configuration successfully exported [success]
19. Importer une nouvelle configuration
$ drush @lyon.local config-import -y sync
Collection Config Operation
system.site update
views.view.glossary delete
Import the listed configuration changes? (y/n): y
Cache rebuild complete. [ok]
The configuration was imported successfully. [success]
20. Afficher le détail d’un fichier de configuration active
$ drush @lyon.local config-get system.site
uuid: 9f93df8a-afc9-4765-8b29-41f98266b2fa
name: 'Drupal Lyon'
mail: admin@drupallyon.com
slogan: 'Meetups 2016'
page:
403: ''
404: ''
front: /node
21. Modifier un fichier de configuration active ‘inline’
$ drush @lyon.local config-set -y system.site slogan 'Liste
des meetups 2016'
$ drush @lyon.local config-get system.site | grep slogan
slogan: 'Liste des meetups 2016'
22. Modifier un fichier de configuration active via l’éditeur
$ drush @lyon.local config-edit system.site
1 uuid: 517b0f02-c22f-4343-9008-8cb7a88e707a
2 name: 'Drupal Lyon'
3 mail: admin@lyon.local
4 slogan: 'Liste des meetups 2016'
5 page:
6 403: ''
7 404: 'page-non-trouvee'
8 front: /node
9 admin_compact_mode: false
Le fichier s’ouvre dans
votre éditeur préféré
(ici, vim)
23. Quid de la portabilité de configuration ?
● Config API a été pensé pour assurer la gestion de configuration entre plusieurs
instances d’un même site
● Features peut outrepasser cette limitation
25. Bundles réutilisables avec Features : export
● Génération automatique d’un module
fonctionnel
● Fichiers YAML nécessaires auto-détectés
par Features
● Bundle ‘standalone’ prêt à être importé sur
un autre site
26. Bundles réutilisables avec Features : import
$ drush @lyon.local config-import -y --partial sync
Collection Config Operation
node.type.article create
field.field.node.article.body create
field.field.node.article.comment create
field.field.node.article.field_image create
field.field.node.article.field_tags create
core.entity_form_display.node.article.default create
(snipped)
Import the listed configuration changes? (y/n): y
28. Workflow minimaliste : 1 seule instance de site
● $ drush config-export et $ drush config-import
● Gestion des révisions via git, oui mais...
29. ‘files’ n’est pas idéal pour stocker la configuration
● Bonne pratique : docroot/sites/*/files dans .gitignore
● sites/default/files/config_HASH/sync est donc problématique
● Déplacement du dossier de config hors du docroot via settings.php
$config_directories = [
CONFIG_SYNC_DIRECTORY => '/mnt/config/lyon',
];
● Cela améliore également la sécurité
30. Workflow avancé : plusieurs instances d’un site
● $ drush config-export et $ drush config-import
● Gestion des révisions via git
● $ drush config-pull pour transférer la configuration entre les instances
32. Appliquer les modifications de dév en prod
$ drush @lyon.prod config-import sync -y
Collection Config Operation
system.site update
Import the listed configuration changes? (y/n): y
Cache rebuild complete. [ok]
The configuration was imported successfully. [success]
33. Workflow avancé : prod vers dev
$ drush config-pull @lyon.prod @lyon.local
Starting to export configuration on Target. [ok]
Configuration successfully exported [success]
Starting to rsync config from @lyon.local to @lyon.prod [ok]
You will destroy data from
/var/www/html/lyon/sites/default/files/config_HASH/sync and
replace with data from ~/drush-backups/config-export/20160130/
Do you really want to continue? (y/n): y
34. Bien réfléchir à la stratégie de déploiement
Code
(+ nouvelle conf)
Base de
données
Fichiers
Code
(+ config active)
Base de
données
Fichiers
Développement Production
$ drush config-pull @lyon.prod @lyon.local
$ drush sql-sync @lyon.prod @lyon.local
$ drush rsync @lyon.prod:%files/ @lyon.
local:%files
$ git push $ git pull
VCS
35. On ne peut plus désactiver les modules sous Drupal 8
● Désinstaller un module implique effacer sa configuration ‘active’
● Installer de nouveau un module signifie ré-appliquer sa configuration d’origine
● Pour le dépannage, Drush arrive de nouveau à la rescousse :
$ drush @lyon.local config-export --destination=/tmp/backup
(dépannage du site)
$ drush @lyon.local config-import --source=/tmp/backup
36. Quelques modules contrib intéressants
● Configuration development : import automatisé de configuration pendant le dév
● Configuration inspector : inspection config et schémas
● Configuration installer : profil d’install custom YAML
● Configuration log : consigne les changements de config
● Configuration read-only : vérouille les changements de config via l’UI
● Configuration Tools : outils pour le développeur
● Config partial export : export arbitraire de configuration
● Configuration Update Manager: visualiser et importer une nouvelle
configuration pour un module déjà installé