SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Drupagora

Drupal 8
Léon Cros @chipway
5 décembre 2013
Léon Cros
> Communauté
> VP

ADFF

> Chipway

Drupal
Chipway : Spécialiste
Formations Drupal 6, 7, … d'initiation à avancé
> Chefs de projet Drupal
> Développeurs
> Webmasters et administrateurs
> Designers et intégrateurs, ...
> Audit

et Conseil
> Accompagnement/Coaching
> Développement
Drupal CMS & CMF reconnu

.

.

.

4
Qui êtes-vous ?
> Chef de projet ?
> DSI ou RSI ?
> Développeur ?
> Site builder ou intégrateur ?
> Administrateur système, réseaux, DevOp ?
> Autre côté technique ?
> Non technicien ?
Vous et Drupal ?
> Qui travaille avec Drupal ?
> Qui travaille avec Symfony 2 ?
> Qui découvre Drupal ?
Nouveautés Drupal 8 Core
Enjeux pour les Chefs de projet et DSI
Satisfaction client
> Périmètre
> Contraintes techniques
> Qualité
> Gestion du changement
> Délais
> Budget
Un grand
Pas avec
Drupal 8 !
Développer
un site sans
Programmer ?
Développer
un site sans
programmer
?

> Core

facile à installer
> Complet (prêt à utiliser)
> Dans ma langue / mes langues
> Facile à utiliser
Halte au cliqueur fou !
Un projet reste un Projet
> Faisabilité
> Conception
> Ressources
> Planification
> Suivi
> Bonnes pratiques
Drupal plus simple
En français
Tout de suite !
Drupal plus simple
Options plus
explicites !
Drupal plus simple
Traductions
Immédiatement
disponibles !
Drupal plus simple
Approche Drupal : Contenus → … D7
Page Web

Affichage des blocs générés
Requêtes et Mise en forme des résultats
Structures de contenus
Approche Drupal : Contenus → D8
Page Web

Services web

Affichage des blocs générés
Requêtes et Mise en forme des résultats
Structures de contenus
Structurer : Nouveaux champs
> Entity reference
> Date
> Lien
> E-mail
> Téléphone
> Photo
User picture → champ
Structurer : Nouveautés Field UI
> Modes d'affichage (vue, formulaire...)
> CRUD amélioré
> Validation séparée du formulaire (s2 validator)
> Aide dans le champ (placeholder, blur)
> Cardinalité sur mesure
> Préfixe de champ
> Multiples téléversements (uploads)
Structurer : Nouveautés Field UI
> Field API entièrement réécrit
> Entités « fieldables » → « extensibles »
> Champ non partagé entre types d'entités
• stockage / type d'entité
• même nom dans types d'entité <>

> Accès simplifié aux champs
• ex: $node->field_foo->value
Requête & Affichage : Views
Qui ne connait pas Views ?
> Requête sur tous types d'entités
> Filtres
> Tris
> Contextes
> Affichages : Listes ..., grilles, slideshows
menus, ...
Requête & Affichage : Views
> Dans le Core
> Drupal 8 immédiatement utilisable
> Page d'accueil
> Administration des contenus, utilisateurs
> Gestion des fichiers
> Responsive web
> + sortie → services web
Page web : Affichage en Blocs
Tout est BLOC
> Simplification
> Multiples instances
> Entités extensibles
> Révisions
> Support ESI
> IHM Admin. Amélioré
> Contexte
Moteur de Template
TWIG
> Connu, documenté
> Moins de templates / « Blocs Twig »
> Facile
> Plus Sécurisé que PHPTemplate
> Extensible
> Très rapide
> Bonne intégration IDEs
> Utilisé ailleurs : python, Ruby, ...
Parlez-vous TWIG ?
> Template, ex de nom : node.html.twig
> Commentaires avec variables disponibles
> Imprimer une variable : {{ title }}
> Plus compliqué : {{ content.field.image }}
> Commentaire {# @todo ... my comment here #}
> Test
{% if title %}
<h3>{{{ title }}</h3>
{% endif %}

> Plus fort: partie personnalisée par autre template
{% block toto %}
que la partie différente !
Gestion des Assets CSS et JS en D8
Assetic
> Librairie Symfony2
> Assets
> Filters
> AssetBag
> (thème D7 : Sasson v3)
Drupal Mobile : Comment ?
> Web Services
> HTML 5
> Responsive Design
> Administration Mobile
Performance Front-end
> Javascript
> Jquery 2.0 + chargé si besoin
> CSS avec SMACSS
•Scalable and Modular Architecture for CSS
> Images adaptatives
> Assetic (CSS, JS)
Drupal 8 plus facile : Editeur
> CKEditor 4
(non exclusif)
> Utilisable dès l'installation du Core
> Intégration complète / formats de texte
> Téléversement d'image intégré
> Légende
> Intégré avec module breakpoint
> Edition inline (quick edit)
Editeur de Texte
Editeur de Texte
Editeur de Texte
Editeur de Texte

Bouton image + téléverser
Editeur directe

Quick edit
Editeur directe

Quick
edit
Multilingue ?
I speak
english !

Je parle
français !

.

Drupagora 2013

38
Multilingue ?
I speak
english !

Je parle
français !
Se habla
espanol !

.

Я говорю на
русском !

Drupagora 2013

39
Drupal 8 : Multilingue
> Choix dès l'installation
> Affectation à tout et tous types d'entités
> Traduire en anglais ;)
> Nouvel interface + simple
> Suivi traductions Personnalisées
> MAJ ← localize.drupal.org
« complet dès le Cœur »
Services Web : REST
> Inter-machines
> Modules REST + Serialization + HAL
> Formats de base JSON ou XML
> Méthodes HTTP : POST, GET, PATCH, DELETE
> Types de média json : json, hal+json
> URIs : GET /node/1, GET /entity/node/1
> Link Relations
> Richardson Maturity Model : niveau 2
> Profite du nouvel Entity API, de Views
> Accès / Cookies + token
> ← Serialize <> Normalize →
> Extensible
Déploiement des Configurations
Sans CMI
Déploiement des Configurations
Configuration : <> contenu
> Paramètres
> Types de contenus
> Champs
> Vues
> Styles d'mages
> Permissions, Rôles
> ...
Déploiement des Configurations
Configuration stockée en fichiers
> Paramètres
> Modifs via l'interface admin
écrites directement dans fichier yml

> Format populaire YAML
> Facile à lire et « écrire »
> Entités de configuration
Configurations : Active <> Staging
Nouvelle règle d'or
« Ne hackez jamais le core ! …
ou Dries tue un chaton»

« Ne hackez pas votre configuration active ! » *
* Alex Pott, Core committer and CMI maintainer
Révolution POO
Il est temps
de passer
vraiment à
la POO !

This guy killed Procedural
Programming in Drupal
Révolution POO
PHP
Objet

Procédural

Librairie PHP ?
Composants Symfony

Pourquoi Symfony2 ?
« Nouvelle » approche :
Fièrement trouvé ailleurs
Composants Symfony2 utilisés
> HttpFoundation
> HttpKernel
> Injection de dépendances
> Event dispatcher
> Routage
> Serializer
> Validator
> Yaml
Utilise ≠ Application Symfony2
Autres améliorations
> PHPUnit accélère les tests
> Module Tour (mieux que help)
> Support ESI/CSI/SSI p. cache
> Amélioration API fichiers/médias
> Dossier Core/
> Plugins (← hooks)
> Entity API dans Core + amélioré
> Objets Formulaires
> Migration
Synthèse

Principales
Améliorations Drupal 8
par profil
Intégrateurs / Assembleurs
> Utilisation de Schema.org (RDF)
> Services web REST
> Blocs
> Editeurs
> Gestion des changements de configuration
> UUID
> Tour (help)
Designers / Thémeurs
> Twig
> Backbone.js
> Assetic
> Javascript accessibility Features
> Jquery 2.0
> CSS Coding Standards
> Responsive Web Design
> HTML5
> drupal_add_css, drupal_add_js,
drupal_set_title, drupal_set_breadcrumb
Développeurs / Codeurs
> POO
> Composants Symfony2
> Symfony CMF
> Doctrine annotations
> Composer
> Namespaces & PSR-0 → 4
> Services Symfony
Développeurs / Codeurs
> YAML
> PHPUnit (simpletest out en D9)
> Nouvelles librairies externes
> Guzzle (drupal_http_request)
> EasyRDF (parsing RDF)
> Zend_Feed (Feeds)
Chefs de projet et DSI
Satisfaction client
> Périmètre (utilisable tout de suite, services web)
> Contraintes techniques (plus adaptable)
> Qualité (s2, POO, PHPUnit, ...)
> Gestion du changement (complète et pro)
> Délais (plus simple, complet, rapide)
> Budget (baisse du point d'entrée, + simple, + Devs,
+ pérenne)
Synthèse Drupal 8 - Core
> Mobile / Responsive
> Editeur disponible dès l'installation
> Multilingue
> Séparation Configuration / Contenu
> Theming plus facile/ouvert
> Tout est Bloc
> Services web dans le Core
> Cycle développement → Production géré
> Et OOP !
Conclusion : Drupal 8 c'est PLUS
> Harmonisé / simplifié / mieux intégré
> Modernisé / Etat de l'art Dev PHP
> Généralisé (multi-terminaux, services...)
> Localisé (langues, traductions)
> Professionnalisé et Ouvert aux nouveaux
> Sécurisé
> « Accéléré »
> Plus facile à Adopter
Planning Drupal 8
Gel du
Code

Début
Développement
10 Mar 2011

5 Jan 2011
Drupal
7.0

1 Juil 2013

17 Fév 2013
Gel des
Fonctionnalités

S2 2014 ?
Drupal
8.0
Remerciements
Slides :

Drupal :

●
Dries
Angela “webchick” Byron
●
Contributeurs
●
Kristof De Jaeger
●
Communauté
●
Jen Lampton
●
Dries Buytaert
Déjà > 1800 contributeurs !
●
Gábor Hojtsy
●
Larry Garfield
●
Jingsheng Wang
●
Christopher Skene
●
Boris Gordon

●
Merci de votre attention
Questions ?
Vos retours sur #drupagora
@chipway

lcros@chipway.com

Slides sur :
http://fr.slideshare.net/chipway/Conference-Drupal-8-Drupagora2013
Drupal 8 + difficile : Développer
●

Programmation orientée Objet (POO)

●

Symfony2

●

Plus difficile ? Ou plus simple ?

●

Déconstruire & reconstruire ?

.

Drupagora 2013

63
63
Gestion des Assets CSS et JS
Drupal 7 :
> Fichier .info du thème
> Hook_library_info
> #attached
> drupal_add_css(), drupal_add_js()

Inconvénients :
> jQuery.js lourd
> Caching opaque
Elements form. HTML5
$form['telephone'] = array(
'#type' => 'tel',
'#title' => t('Phone'),
);
$form['website'] = array(
'#type' => 'url',
'#title' => t('Website'),
);
$form['email'] = array(
'#type' => 'email',
'#title' => t('Email'),
); $form['tickets'] = array(
'#type' => 'number',
'#title' => t('Tickets required'),
);
Editeur directe

Quick edit
Ex : search.settings.yml
active_modules:
- node
- user
and_or_limit: '7'
default_module: node
index:
cron_limit: '100'
overlap_cjk: '1'
minimum_word_size: '3'
tag_weights:
h1: '25'
h2: '18'
H3: '15'
Active <> Staging

.
Editeur directe

Quick
edit

Weitere ähnliche Inhalte

Was ist angesagt?

JSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces MobileJSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces Mobile
Sylla Mamoudou
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
Gregory Renard
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
chdalel
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013
Xavier NOPRE
 

Was ist angesagt? (20)

Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2
 
JSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces MobileJSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces Mobile
 
Présentation Joomla!
Présentation Joomla!Présentation Joomla!
Présentation Joomla!
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
 
Formation Joomla - créer son site Web
Formation Joomla - créer son site WebFormation Joomla - créer son site Web
Formation Joomla - créer son site Web
 
Java - JEE - servlets
Java - JEE - servletsJava - JEE - servlets
Java - JEE - servlets
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
 
Prismic
PrismicPrismic
Prismic
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Cakephp
CakephpCakephp
Cakephp
 
Cours jee 1
Cours jee 1Cours jee 1
Cours jee 1
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013
 
Apache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsApache camel et les entreprise integration patterns
Apache camel et les entreprise integration patterns
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 

Andere mochten auch

Why Do We Celebrate This Days
Why Do We Celebrate This DaysWhy Do We Celebrate This Days
Why Do We Celebrate This Days
guesta0a2e9
 
Paginas actividades clase inteligencia emocional
Paginas actividades clase inteligencia emocionalPaginas actividades clase inteligencia emocional
Paginas actividades clase inteligencia emocional
Conchi Delgado
 
Clonación humana
Clonación humanaClonación humana
Clonación humana
liz.14.beth
 

Andere mochten auch (20)

Positionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingPositionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
 
11 Tips for Financial Success
11 Tips for Financial Success11 Tips for Financial Success
11 Tips for Financial Success
 
Why Do We Celebrate This Days
Why Do We Celebrate This DaysWhy Do We Celebrate This Days
Why Do We Celebrate This Days
 
Croquis del terreno
Croquis del terrenoCroquis del terreno
Croquis del terreno
 
Paginas actividades clase inteligencia emocional
Paginas actividades clase inteligencia emocionalPaginas actividades clase inteligencia emocional
Paginas actividades clase inteligencia emocional
 
September
SeptemberSeptember
September
 
H1N1 pics
H1N1 picsH1N1 pics
H1N1 pics
 
BYYD. Все, что вам нужно знать о мобильном видео
BYYD. Все, что вам нужно знать о мобильном видеоBYYD. Все, что вам нужно знать о мобильном видео
BYYD. Все, что вам нужно знать о мобильном видео
 
Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8
 
63.careers in gaming industry
63.careers in gaming industry63.careers in gaming industry
63.careers in gaming industry
 
Colegio jaime balmes
Colegio jaime balmesColegio jaime balmes
Colegio jaime balmes
 
Unsur hara
Unsur hara Unsur hara
Unsur hara
 
BYYD // HybridConf'16 // Mobile Video
BYYD // HybridConf'16 // Mobile VideoBYYD // HybridConf'16 // Mobile Video
BYYD // HybridConf'16 // Mobile Video
 
Clonación humana
Clonación humanaClonación humana
Clonación humana
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
 
La nocion general de persona juridica , diferencia entre persona juridica de ...
La nocion general de persona juridica , diferencia entre persona juridica de ...La nocion general de persona juridica , diferencia entre persona juridica de ...
La nocion general de persona juridica , diferencia entre persona juridica de ...
 
Litigacion oral laboral
Litigacion oral laboralLitigacion oral laboral
Litigacion oral laboral
 
la familia
la familiala familia
la familia
 
Tendencias 2017
Tendencias 2017Tendencias 2017
Tendencias 2017
 
4 sites communautaires faits avec BuddyPress, WordCamp Paris 2016
4 sites communautaires faits avec BuddyPress, WordCamp Paris 20164 sites communautaires faits avec BuddyPress, WordCamp Paris 2016
4 sites communautaires faits avec BuddyPress, WordCamp Paris 2016
 

Ähnlich wie Conference drupal-8-drupagora2013

Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013
Nabil Babaci
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013
Nabil Babaci
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
vlabatut
 
SEBLOD CCK on French Joomladay 2012 to Strasbourg
SEBLOD CCK on French Joomladay 2012 to StrasbourgSEBLOD CCK on French Joomladay 2012 to Strasbourg
SEBLOD CCK on French Joomladay 2012 to Strasbourg
Lapoux Sébastien
 

Ähnlich wie Conference drupal-8-drupagora2013 (20)

Drupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeurDrupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeur
 
Conference drupal8-jres2013
Conference drupal8-jres2013Conference drupal8-jres2013
Conference drupal8-jres2013
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Drupal 7 et les SSO
Drupal 7 et les SSODrupal 7 et les SSO
Drupal 7 et les SSO
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven development
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
SEBLOD CCK on French Joomladay 2012 to Strasbourg
SEBLOD CCK on French Joomladay 2012 to StrasbourgSEBLOD CCK on French Joomladay 2012 to Strasbourg
SEBLOD CCK on French Joomladay 2012 to Strasbourg
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
 

Mehr von Chipway

Réunion drupal-lyon-2012-10-11
Réunion drupal-lyon-2012-10-11Réunion drupal-lyon-2012-10-11
Réunion drupal-lyon-2012-10-11
Chipway
 
Réunion drupal-lyon-2012-04-26
Réunion drupal-lyon-2012-04-26Réunion drupal-lyon-2012-04-26
Réunion drupal-lyon-2012-04-26
Chipway
 
Conference git-drupal-lyon-2012-03-22
Conference git-drupal-lyon-2012-03-22Conference git-drupal-lyon-2012-03-22
Conference git-drupal-lyon-2012-03-22
Chipway
 
Réunion drupal-lyon-2012-03-22
Réunion drupal-lyon-2012-03-22Réunion drupal-lyon-2012-03-22
Réunion drupal-lyon-2012-03-22
Chipway
 

Mehr von Chipway (15)

Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
 
SymfonyCon Paris 2015 - Lightning-talk Drupal 8 is available
SymfonyCon Paris 2015 - Lightning-talk Drupal 8 is availableSymfonyCon Paris 2015 - Lightning-talk Drupal 8 is available
SymfonyCon Paris 2015 - Lightning-talk Drupal 8 is available
 
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slidesForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
Presentation Drupal 8 au DrupalCamp Paris 2013
Presentation Drupal 8 au DrupalCamp Paris 2013Presentation Drupal 8 au DrupalCamp Paris 2013
Presentation Drupal 8 au DrupalCamp Paris 2013
 
Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012
 
Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09
 
Réunion drupal-lyon-2012-10-11
Réunion drupal-lyon-2012-10-11Réunion drupal-lyon-2012-10-11
Réunion drupal-lyon-2012-10-11
 
Réunion drupal-lyon-2012-09-25 avec-programme
Réunion drupal-lyon-2012-09-25 avec-programmeRéunion drupal-lyon-2012-09-25 avec-programme
Réunion drupal-lyon-2012-09-25 avec-programme
 
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
 
Réunion drupal-lyon-2012-04-26
Réunion drupal-lyon-2012-04-26Réunion drupal-lyon-2012-04-26
Réunion drupal-lyon-2012-04-26
 
Conference git-drupal-lyon-2012-03-22
Conference git-drupal-lyon-2012-03-22Conference git-drupal-lyon-2012-03-22
Conference git-drupal-lyon-2012-03-22
 
Réunion drupal-lyon-2012-03-22
Réunion drupal-lyon-2012-03-22Réunion drupal-lyon-2012-03-22
Réunion drupal-lyon-2012-03-22
 
Drupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshare
Drupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshareDrupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshare
Drupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshare
 
Drupal en-do-majeur-conférence-jdll-lyon-2011-slideshare
Drupal en-do-majeur-conférence-jdll-lyon-2011-slideshareDrupal en-do-majeur-conférence-jdll-lyon-2011-slideshare
Drupal en-do-majeur-conférence-jdll-lyon-2011-slideshare
 

Conference drupal-8-drupagora2013

  • 1. Drupagora Drupal 8 Léon Cros @chipway 5 décembre 2013
  • 2. Léon Cros > Communauté > VP ADFF > Chipway Drupal
  • 3. Chipway : Spécialiste Formations Drupal 6, 7, … d'initiation à avancé > Chefs de projet Drupal > Développeurs > Webmasters et administrateurs > Designers et intégrateurs, ... > Audit et Conseil > Accompagnement/Coaching > Développement
  • 4. Drupal CMS & CMF reconnu . . . 4
  • 5. Qui êtes-vous ? > Chef de projet ? > DSI ou RSI ? > Développeur ? > Site builder ou intégrateur ? > Administrateur système, réseaux, DevOp ? > Autre côté technique ? > Non technicien ?
  • 6. Vous et Drupal ? > Qui travaille avec Drupal ? > Qui travaille avec Symfony 2 ? > Qui découvre Drupal ?
  • 8. Enjeux pour les Chefs de projet et DSI Satisfaction client > Périmètre > Contraintes techniques > Qualité > Gestion du changement > Délais > Budget
  • 11. Développer un site sans programmer ? > Core facile à installer > Complet (prêt à utiliser) > Dans ma langue / mes langues > Facile à utiliser
  • 12. Halte au cliqueur fou ! Un projet reste un Projet > Faisabilité > Conception > Ressources > Planification > Suivi > Bonnes pratiques
  • 13. Drupal plus simple En français Tout de suite !
  • 14. Drupal plus simple Options plus explicites !
  • 17. Approche Drupal : Contenus → … D7 Page Web Affichage des blocs générés Requêtes et Mise en forme des résultats Structures de contenus
  • 18. Approche Drupal : Contenus → D8 Page Web Services web Affichage des blocs générés Requêtes et Mise en forme des résultats Structures de contenus
  • 19. Structurer : Nouveaux champs > Entity reference > Date > Lien > E-mail > Téléphone > Photo User picture → champ
  • 20. Structurer : Nouveautés Field UI > Modes d'affichage (vue, formulaire...) > CRUD amélioré > Validation séparée du formulaire (s2 validator) > Aide dans le champ (placeholder, blur) > Cardinalité sur mesure > Préfixe de champ > Multiples téléversements (uploads)
  • 21. Structurer : Nouveautés Field UI > Field API entièrement réécrit > Entités « fieldables » → « extensibles » > Champ non partagé entre types d'entités • stockage / type d'entité • même nom dans types d'entité <> > Accès simplifié aux champs • ex: $node->field_foo->value
  • 22. Requête & Affichage : Views Qui ne connait pas Views ? > Requête sur tous types d'entités > Filtres > Tris > Contextes > Affichages : Listes ..., grilles, slideshows menus, ...
  • 23. Requête & Affichage : Views > Dans le Core > Drupal 8 immédiatement utilisable > Page d'accueil > Administration des contenus, utilisateurs > Gestion des fichiers > Responsive web > + sortie → services web
  • 24. Page web : Affichage en Blocs Tout est BLOC > Simplification > Multiples instances > Entités extensibles > Révisions > Support ESI > IHM Admin. Amélioré > Contexte
  • 26. TWIG > Connu, documenté > Moins de templates / « Blocs Twig » > Facile > Plus Sécurisé que PHPTemplate > Extensible > Très rapide > Bonne intégration IDEs > Utilisé ailleurs : python, Ruby, ...
  • 27. Parlez-vous TWIG ? > Template, ex de nom : node.html.twig > Commentaires avec variables disponibles > Imprimer une variable : {{ title }} > Plus compliqué : {{ content.field.image }} > Commentaire {# @todo ... my comment here #} > Test {% if title %} <h3>{{{ title }}</h3> {% endif %} > Plus fort: partie personnalisée par autre template {% block toto %} que la partie différente !
  • 28. Gestion des Assets CSS et JS en D8 Assetic > Librairie Symfony2 > Assets > Filters > AssetBag > (thème D7 : Sasson v3)
  • 29. Drupal Mobile : Comment ? > Web Services > HTML 5 > Responsive Design > Administration Mobile
  • 30. Performance Front-end > Javascript > Jquery 2.0 + chargé si besoin > CSS avec SMACSS •Scalable and Modular Architecture for CSS > Images adaptatives > Assetic (CSS, JS)
  • 31. Drupal 8 plus facile : Editeur > CKEditor 4 (non exclusif) > Utilisable dès l'installation du Core > Intégration complète / formats de texte > Téléversement d'image intégré > Légende > Intégré avec module breakpoint > Edition inline (quick edit)
  • 35. Editeur de Texte Bouton image + téléverser
  • 38. Multilingue ? I speak english ! Je parle français ! . Drupagora 2013 38
  • 39. Multilingue ? I speak english ! Je parle français ! Se habla espanol ! . Я говорю на русском ! Drupagora 2013 39
  • 40. Drupal 8 : Multilingue > Choix dès l'installation > Affectation à tout et tous types d'entités > Traduire en anglais ;) > Nouvel interface + simple > Suivi traductions Personnalisées > MAJ ← localize.drupal.org « complet dès le Cœur »
  • 41. Services Web : REST > Inter-machines > Modules REST + Serialization + HAL > Formats de base JSON ou XML > Méthodes HTTP : POST, GET, PATCH, DELETE > Types de média json : json, hal+json > URIs : GET /node/1, GET /entity/node/1 > Link Relations > Richardson Maturity Model : niveau 2 > Profite du nouvel Entity API, de Views > Accès / Cookies + token > ← Serialize <> Normalize → > Extensible
  • 43. Déploiement des Configurations Configuration : <> contenu > Paramètres > Types de contenus > Champs > Vues > Styles d'mages > Permissions, Rôles > ...
  • 44. Déploiement des Configurations Configuration stockée en fichiers > Paramètres > Modifs via l'interface admin écrites directement dans fichier yml > Format populaire YAML > Facile à lire et « écrire » > Entités de configuration
  • 46. Nouvelle règle d'or « Ne hackez jamais le core ! … ou Dries tue un chaton» « Ne hackez pas votre configuration active ! » * * Alex Pott, Core committer and CMI maintainer
  • 47. Révolution POO Il est temps de passer vraiment à la POO ! This guy killed Procedural Programming in Drupal
  • 49. Composants Symfony Pourquoi Symfony2 ? « Nouvelle » approche : Fièrement trouvé ailleurs
  • 50. Composants Symfony2 utilisés > HttpFoundation > HttpKernel > Injection de dépendances > Event dispatcher > Routage > Serializer > Validator > Yaml Utilise ≠ Application Symfony2
  • 51. Autres améliorations > PHPUnit accélère les tests > Module Tour (mieux que help) > Support ESI/CSI/SSI p. cache > Amélioration API fichiers/médias > Dossier Core/ > Plugins (← hooks) > Entity API dans Core + amélioré > Objets Formulaires > Migration
  • 53. Intégrateurs / Assembleurs > Utilisation de Schema.org (RDF) > Services web REST > Blocs > Editeurs > Gestion des changements de configuration > UUID > Tour (help)
  • 54. Designers / Thémeurs > Twig > Backbone.js > Assetic > Javascript accessibility Features > Jquery 2.0 > CSS Coding Standards > Responsive Web Design > HTML5 > drupal_add_css, drupal_add_js, drupal_set_title, drupal_set_breadcrumb
  • 55. Développeurs / Codeurs > POO > Composants Symfony2 > Symfony CMF > Doctrine annotations > Composer > Namespaces & PSR-0 → 4 > Services Symfony
  • 56. Développeurs / Codeurs > YAML > PHPUnit (simpletest out en D9) > Nouvelles librairies externes > Guzzle (drupal_http_request) > EasyRDF (parsing RDF) > Zend_Feed (Feeds)
  • 57. Chefs de projet et DSI Satisfaction client > Périmètre (utilisable tout de suite, services web) > Contraintes techniques (plus adaptable) > Qualité (s2, POO, PHPUnit, ...) > Gestion du changement (complète et pro) > Délais (plus simple, complet, rapide) > Budget (baisse du point d'entrée, + simple, + Devs, + pérenne)
  • 58. Synthèse Drupal 8 - Core > Mobile / Responsive > Editeur disponible dès l'installation > Multilingue > Séparation Configuration / Contenu > Theming plus facile/ouvert > Tout est Bloc > Services web dans le Core > Cycle développement → Production géré > Et OOP !
  • 59. Conclusion : Drupal 8 c'est PLUS > Harmonisé / simplifié / mieux intégré > Modernisé / Etat de l'art Dev PHP > Généralisé (multi-terminaux, services...) > Localisé (langues, traductions) > Professionnalisé et Ouvert aux nouveaux > Sécurisé > « Accéléré » > Plus facile à Adopter
  • 60. Planning Drupal 8 Gel du Code Début Développement 10 Mar 2011 5 Jan 2011 Drupal 7.0 1 Juil 2013 17 Fév 2013 Gel des Fonctionnalités S2 2014 ? Drupal 8.0
  • 61. Remerciements Slides : Drupal : ● Dries Angela “webchick” Byron ● Contributeurs ● Kristof De Jaeger ● Communauté ● Jen Lampton ● Dries Buytaert Déjà > 1800 contributeurs ! ● Gábor Hojtsy ● Larry Garfield ● Jingsheng Wang ● Christopher Skene ● Boris Gordon ●
  • 62. Merci de votre attention Questions ? Vos retours sur #drupagora @chipway lcros@chipway.com Slides sur : http://fr.slideshare.net/chipway/Conference-Drupal-8-Drupagora2013
  • 63. Drupal 8 + difficile : Développer ● Programmation orientée Objet (POO) ● Symfony2 ● Plus difficile ? Ou plus simple ? ● Déconstruire & reconstruire ? . Drupagora 2013 63 63
  • 64. Gestion des Assets CSS et JS Drupal 7 : > Fichier .info du thème > Hook_library_info > #attached > drupal_add_css(), drupal_add_js() Inconvénients : > jQuery.js lourd > Caching opaque
  • 65. Elements form. HTML5 $form['telephone'] = array( '#type' => 'tel', '#title' => t('Phone'), ); $form['website'] = array( '#type' => 'url', '#title' => t('Website'), ); $form['email'] = array( '#type' => 'email', '#title' => t('Email'), ); $form['tickets'] = array( '#type' => 'number', '#title' => t('Tickets required'), );
  • 67. Ex : search.settings.yml active_modules: - node - user and_or_limit: '7' default_module: node index: cron_limit: '100' overlap_cjk: '1' minimum_word_size: '3' tag_weights: h1: '25' h2: '18' H3: '15'