SlideShare une entreprise Scribd logo
Présentation de Drupal 8
Forum PHP - Montrouge
22 novembre 2013
Léon Cros @chipway

.

Forum PHP 2013

.
Léon Cros
Communauté
Drupal
VP ADFF
Chipway
@chipway / chipway-drupal
.

Forum PHP 2013

.
Chipway : Spécialiste
• Formations Drupal 6, 7, ...
–
–
–
–
–

Webmasters et administrateurs
Développeurs
Designers et intégrateurs
Chefs de projet Drupal
… initiation à avancé

• Accompagnement/Coaching
• Développement
• Audit, Conseil, AMOA, ...
Drupal CMS & CMF reconnu

.

.

.

4
Qui êtes-vous ?
•
•
•
•
•

Développeur PHP ?
Chef de projet ?
Admin. système, réseaux, DevOp ?
Autre côté technique ?
Non technicien ?
Vous et Drupal ?
• Qui connait Drupal ?

• Qui connait Symfony 2 ?
Nouveautés Drupal 8

.

Forum PHP 2013

7
Un grand
Pas avec
Drupal 8 !
Faire un site
Sans
Développeur
?
Un « site » sans Développeur ?
•
•
•
•

Core facile à installer
Complet (prêt à utiliser)
Dans ma langue / mes langues
Facile à utiliser

• Êtes-vous un cliqueur fou ?
En français
Tout de suite !
Choix plus
explicite !
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
Approche Drupal : Contenus →

Structures de contenus
Approche Drupal : Contenus →

Requêtes et Mise en forme des résultats
Structures de contenus
Approche Drupal : Contenus →

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

Affichage des blocs générés
Requêtes et Mise en forme des résultats
Structures de contenus
Approche Drupal : Contenus →
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 : Field UI
•
•
•
•
•
•
•

Modes d'affichage (vue, formulaire...)
Aide dans le champ (placeholder, blur)
Cardinalité sur mesure
Préfixe de champ
CRUD amélioré
Validation séparée du formulaire (s2 validator)
Multiples téléversements (uploads)
Structurer : 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

• xxxx
• ...
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
Stylesheets, CSS and js <> images

• Drupal 7 :
•
•
•
•

Fichier Theme.info
hook_library_info()
#attached
drupal_add_css(), drupal_add_js()

•
•
•

Jquery.js lourd
Caching
Opaque

• Inconvénients :
Gestion des Assets D8
Assetic

•
•
•
•
•

Librairie Symfony2
Assets
Filters
AssetBag
(Thème D7 : Sasson v3)
Mobile

Mobiles
Mobile en D8 : Comment ?
●

Web Services

●

Responsive Design

●

HTML 5
●
éléments (picture, téléphone)

●

Administration Mobile

●

IE <= 8

.

Forum PHP 2013

32
32
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'),
);
Performance Front-end
●

Javascript

●

Jquery 2.0 + chargé si besoin

●

CSS avec SMACSS
– Scalable and Modular Architecture for CSS

●

Images adaptatives

●

Assetic (CSS, JS)

.

Forum PHP 2013

34
34
Drupal 8 plus facile : Editeur
• CKEditor 4 (non exclusif)
• Utilisable dès l'installation du Core
• Intégration complète avec formats de texte
– Cliquer/déposer boutons + config F.T.
• Téléversement d'image intégré
• Légende
• Intégré avec module breakpoint
• Edition inline (quick edit)
Editeur de Texte
●

.

Forum PHP 2013

36
36
Editeur de Texte
●

.

Forum PHP 2013

37
37
Editeur de Texte
●

.

Forum PHP 2013

38
38
Editeur de Texte
●

Bouton image + téléverser

.

Forum PHP 2013

39
39
Edition directe

Quick edit
Edition directe

Quick edit
Edition directe
Multilingue ?
I speak
english !

Je parle
français !

.

Forum PHP 2013

43
43
Multilingue
I speak
english !

Je parle
français !
Se habla
espanol !

.

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

Forum PHP 2013

44
44
Drupal 8 : MultiLingue
4 piliers

Langues

Interface

Contenu Configuration
Langues
Choix dès l'installation
●
Supprimer anglais ;)
●
Visibilité des blocs
●
Langue dans Views
●
Configuration souple
●
Affectation + large
●

●
●

Entités, Vues, Alias, Infos du site
Non affecté <> non applicable

Détection améliorée
●
Translitération
●
Traduction Interface
Traduire en anglais ;)
●
Nouvel interface + simple
●

●

pluriel

Suivi traductions Perso.
●
Import : Timeouts
●
Dossier centralisé
●
Mise à jour auto depuis
localize.drupal.org
●
Module séparé
●
Traduction du Contenu
Tous types d'entités
●
Configuration dynamique /
bundle / champ
●
Index recherche / langue
●
API de recherche
●
Support API node access
●
Traduction Configuration
Onglet traduction
●
Langue / fichier de config
●
Config supporte schema
●
Pour toute config
●
UI pour seul Core
●
UI amélioré / contrib
●
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. 3 @todo
Profite du nouvel Entity API, de Views
Accès / Cookies + token
← Serialize <> Normalize →
Extensible
Forum PHP 2013

50
50
Déploiement des Configurations

Sans CMI
Déploiement des Configurations

Principe CMI
ALERT!

ALERT!

Important
announcement
about
something.

Important
announcement
about
something.
Configuration : <> contenu

• Paramètres
• Types de contenus
• Champs
• Vues
• Styles d'mages
• Permissions, Rôles
•…
Configuration en D8
Configuration stockée en fichiers

• modifs via l'interface admin
•

écrites directement dans fichier yml

• format populaire YAML
• facile à lire / « écrire »
• Entités de configuration
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

.
Active <> Staging

.
Configuration Management Interface
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
.

Forum PHP 2013

58
58
Architecture technique
• > 500 lignes dans CHANGELOG.txt
• 24 APIs nouveaux ou modifiés
• Plugins (← hooks)
•
•
•
•
•
•

Entity API dans Core + amélioré
CMI
Routage
Services
Objets Formulaires
...
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

Forum PHP 2013

63
63
Améliorations diverses
• 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/
Synthèse

Améliorations Drupal 8
par profil

© Chipway 2009-2011

Forum PHP 2013

65
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 (voir au-dessus)
●
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)
●
Drupal 8 + difficile : Développer
●

Programmation orientée Objet (POO)

●

Symfony2

●

Plus difficile ? Ou plus simple ?

●

Déconstruire & reconstuire ?

.

Forum PHP 2013

70
70
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 !
.

Forum PHP 2013

71
71
Conclusion : Drupal 8 c'est plus
 Harmonisé / simplifié / mieux intégré
 Modernisé / Etat de l'art Dev PHP
 Généralisé (mobiles, services...)
 Localisé (langues, traductions)
 Professionnalisé et Ouvert aux nouveaux
 Sécurisé
 « Accéléré »
 Plus facile à Adopter
.

Forum PHP 2013

72
72
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
●
Gábor Hojtsy
Déjà > 1600 contributeurs!
●
Larry Garfield
●
Jingsheng Wang
●
Christopher Skene
●
Boris Gordon

●
Merci de
votre attention
Questions ?
Vos retours sur https://joind.in/9369
@chipway

.

lcros@chipway.com

Forum PHP 2013

75

Contenu connexe

Tendances

Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platform
Kaliop-slide
 
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Ippon
 
Html5 bonnes-pratiques
Html5 bonnes-pratiquesHtml5 bonnes-pratiques
Html5 bonnes-pratiques
Jean-Pierre Vincent
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
Ippon
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
Ippon
 
Apache for développeurs PHP
Apache for développeurs PHPApache for développeurs PHP
Apache for développeurs PHP
julien pauli
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
Roland Benedetti
 
Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016
Ippon
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
LaNetscouade
 
JPA avec Cassandra, grâce à Achilles
JPA avec Cassandra, grâce à AchillesJPA avec Cassandra, grâce à Achilles
JPA avec Cassandra, grâce à Achilles
Ippon
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CI
Hugo Hamon
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
Ippon
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
neuros
 
Formation html5 css3 java script
Formation html5 css3 java scriptFormation html5 css3 java script
Formation html5 css3 java script
Arrow Group
 
Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013
Romain Jarraud
 
Native script
Native scriptNative script
Native script
Neticoa Sénégal
 
Optimiser les performances dans Wordpress
Optimiser les performances dans WordpressOptimiser les performances dans Wordpress
Optimiser les performances dans Wordpress
Nicolas Juen
 

Tendances (17)

Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platform
 
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
 
Html5 bonnes-pratiques
Html5 bonnes-pratiquesHtml5 bonnes-pratiques
Html5 bonnes-pratiques
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
 
Apache for développeurs PHP
Apache for développeurs PHPApache for développeurs PHP
Apache for développeurs PHP
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
 
JPA avec Cassandra, grâce à Achilles
JPA avec Cassandra, grâce à AchillesJPA avec Cassandra, grâce à Achilles
JPA avec Cassandra, grâce à Achilles
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CI
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
 
Formation html5 css3 java script
Formation html5 css3 java scriptFormation html5 css3 java script
Formation html5 css3 java script
 
Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013
 
Native script
Native scriptNative script
Native script
 
Optimiser les performances dans Wordpress
Optimiser les performances dans WordpressOptimiser les performances dans Wordpress
Optimiser les performances dans Wordpress
 

En vedette

Drupal 8
Drupal 8Drupal 8
Drupal 8
qdelance
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
auto entrepreneur
 
La Console Symfony
La Console Symfony La Console Symfony
La Console Symfony
Imad ZAIRIG
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
Clément Hallet
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
Core-Techs
 
Symfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur AzureSymfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur Azure
Stéphane ESCANDELL
 
The Flexibility of Drupal 8
The Flexibility of Drupal 8The Flexibility of Drupal 8
The Flexibility of Drupal 8
Michael Miles
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
Hery Zo Rakotondramanana
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnels
Fabien Potencier
 
Drupal 8 + Symfony 2 = une équipe gagnante
Drupal 8 + Symfony 2 = une équipe gagnanteDrupal 8 + Symfony 2 = une équipe gagnante
Drupal 8 + Symfony 2 = une équipe gagnante
Vanessa David
 
Symfonytn
SymfonytnSymfonytn
Symfonytn
Ali Hichem
 
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
Fabien Potencier
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
ekino
 
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend FrameworkExposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Hugo Hamon
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
Noel GUILBERT
 
Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec Drupal
Adyax
 
Design patterns avec Symfony
Design patterns avec SymfonyDesign patterns avec Symfony
Design patterns avec Symfony
Mohammed Rhamnia
 
Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management Framework
Joshua Powell
 
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec DrupalSeminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
LINAGORA
 
Global Training Day Paris - Drupal 8
Global Training Day Paris - Drupal 8Global Training Day Paris - Drupal 8
Global Training Day Paris - Drupal 8
Romain Jarraud
 

En vedette (20)

Drupal 8
Drupal 8Drupal 8
Drupal 8
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
 
La Console Symfony
La Console Symfony La Console Symfony
La Console Symfony
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
 
Symfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur AzureSymfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur Azure
 
The Flexibility of Drupal 8
The Flexibility of Drupal 8The Flexibility of Drupal 8
The Flexibility of Drupal 8
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnels
 
Drupal 8 + Symfony 2 = une équipe gagnante
Drupal 8 + Symfony 2 = une équipe gagnanteDrupal 8 + Symfony 2 = une équipe gagnante
Drupal 8 + Symfony 2 = une équipe gagnante
 
Symfonytn
SymfonytnSymfonytn
Symfonytn
 
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
 
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend FrameworkExposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
 
Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec Drupal
 
Design patterns avec Symfony
Design patterns avec SymfonyDesign patterns avec Symfony
Design patterns avec Symfony
 
Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management Framework
 
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec DrupalSeminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
 
Global Training Day Paris - Drupal 8
Global Training Day Paris - Drupal 8Global Training Day Paris - Drupal 8
Global Training Day Paris - Drupal 8
 

Similaire à Conference drupal 8 au Forum PHP 2013 à Paris

Drupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeurDrupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeur
Chipway
 
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
Chipway
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
Julien Deneuville
 
Conference drupal8-jres2013
Conference drupal8-jres2013Conference drupal8-jres2013
Conference drupal8-jres2013
Chipway
 
La French Touch', l'open-source premium pour Trailblazers
La French Touch', l'open-source premium pour TrailblazersLa French Touch', l'open-source premium pour Trailblazers
La French Touch', l'open-source premium pour Trailblazers
Nicolas Vuillamy
 
Conference drupal-8-drupagora2013
Conference drupal-8-drupagora2013Conference drupal-8-drupagora2013
Conference drupal-8-drupagora2013
Chipway
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008
Eric D.
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
Clement Bouillier
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1
fayway
 
DrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metierDrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metier
Romain Jarraud
 
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 DrupalCamp Paris 2013 - Drupal : un CMS orienté métier DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
Actency
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
Eric D.
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
Aurelien Navarre
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13
Aurelien Navarre
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnect
Florent DENIS
 
Présentation de Kirby CMS
Présentation de Kirby CMSPrésentation de Kirby CMS
Présentation de Kirby CMS
Gilles Vauvarin
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Pas possible en drupal, c'est faux
Pas possible en drupal, c'est fauxPas possible en drupal, c'est faux
Pas possible en drupal, c'est faux
Christophe Villeneuve
 

Similaire à Conference drupal 8 au Forum PHP 2013 à Paris (20)

Drupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeurDrupal 8-decouverte-modules-du-coeur
Drupal 8-decouverte-modules-du-coeur
 
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
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
 
Conference drupal8-jres2013
Conference drupal8-jres2013Conference drupal8-jres2013
Conference drupal8-jres2013
 
La French Touch', l'open-source premium pour Trailblazers
La French Touch', l'open-source premium pour TrailblazersLa French Touch', l'open-source premium pour Trailblazers
La French Touch', l'open-source premium pour Trailblazers
 
Conference drupal-8-drupagora2013
Conference drupal-8-drupagora2013Conference drupal-8-drupagora2013
Conference drupal-8-drupagora2013
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1
 
DrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metierDrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metier
 
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 DrupalCamp Paris 2013 - Drupal : un CMS orienté métier DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnect
 
Présentation de Kirby CMS
Présentation de Kirby CMSPrésentation de Kirby CMS
Présentation de Kirby CMS
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Pas possible en drupal, c'est faux
Pas possible en drupal, c'est fauxPas possible en drupal, c'est faux
Pas possible en drupal, c'est faux
 

Plus de Chipway

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...
Chipway
 
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
Chipway
 
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
Chipway
 
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 ...
Chipway
 
Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8
Chipway
 
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
Chipway
 
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
Chipway
 
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
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-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
Chipway
 
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
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
 
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
Chipway
 
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
Chipway
 

Plus de Chipway (16)

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 ...
 
Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8Pourquoi et comment contribuer à Drupal 8
Pourquoi et comment contribuer à Drupal 8
 
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
 
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
 
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 au Forum PHP 2013 à Paris

  • 1. Présentation de Drupal 8 Forum PHP - Montrouge 22 novembre 2013 Léon Cros @chipway . Forum PHP 2013 .
  • 2. Léon Cros Communauté Drupal VP ADFF Chipway @chipway / chipway-drupal . Forum PHP 2013 .
  • 3. Chipway : Spécialiste • Formations Drupal 6, 7, ... – – – – – Webmasters et administrateurs Développeurs Designers et intégrateurs Chefs de projet Drupal … initiation à avancé • Accompagnement/Coaching • Développement • Audit, Conseil, AMOA, ...
  • 4. Drupal CMS & CMF reconnu . . . 4
  • 5. Qui êtes-vous ? • • • • • Développeur PHP ? Chef de projet ? Admin. système, réseaux, DevOp ? Autre côté technique ? Non technicien ?
  • 6. Vous et Drupal ? • Qui connait Drupal ? • Qui connait Symfony 2 ?
  • 10. Un « site » sans Développeur ? • • • • Core facile à installer Complet (prêt à utiliser) Dans ma langue / mes langues Facile à utiliser • Êtes-vous un cliqueur fou ?
  • 15. Approche Drupal : Contenus → Structures de contenus
  • 16. Approche Drupal : Contenus → Requêtes et Mise en forme des résultats Structures de contenus
  • 17. Approche Drupal : Contenus → Affichage des blocs générés Requêtes et Mise en forme des résultats Structures de contenus
  • 18. Approche Drupal : Contenus → Page Web Affichage des blocs générés Requêtes et Mise en forme des résultats Structures de contenus
  • 19. Approche Drupal : Contenus → Page Web Services web Affichage des blocs générés Requêtes et Mise en forme des résultats Structures de contenus
  • 20. Structurer : Nouveaux champs • • • • • • • Entity reference Date Lien E-mail Téléphone Photo User picture → champ
  • 21. Structurer : Field UI • • • • • • • Modes d'affichage (vue, formulaire...) Aide dans le champ (placeholder, blur) Cardinalité sur mesure Préfixe de champ CRUD amélioré Validation séparée du formulaire (s2 validator) Multiples téléversements (uploads)
  • 22. Structurer : 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
  • 23. 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, ...
  • 24. 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
  • 25. Page web : Affichage en Blocs Tout est BLOC ● Simplification ● Multiples instances ● Entités extensibles ● Révisions ● Support ESI ● IHM Admin. Amélioré ● Contexte
  • 26. Moteur de Template • xxxx • ...
  • 27. 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, ...
  • 28. 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 !
  • 29. Gestion des Assets Stylesheets, CSS and js <> images • Drupal 7 : • • • • Fichier Theme.info hook_library_info() #attached drupal_add_css(), drupal_add_js() • • • Jquery.js lourd Caching Opaque • Inconvénients :
  • 30. Gestion des Assets D8 Assetic • • • • • Librairie Symfony2 Assets Filters AssetBag (Thème D7 : Sasson v3)
  • 32. Mobile en D8 : Comment ? ● Web Services ● Responsive Design ● HTML 5 ● éléments (picture, téléphone) ● Administration Mobile ● IE <= 8 . Forum PHP 2013 32 32
  • 33. 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'), );
  • 34. Performance Front-end ● Javascript ● Jquery 2.0 + chargé si besoin ● CSS avec SMACSS – Scalable and Modular Architecture for CSS ● Images adaptatives ● Assetic (CSS, JS) . Forum PHP 2013 34 34
  • 35. Drupal 8 plus facile : Editeur • CKEditor 4 (non exclusif) • Utilisable dès l'installation du Core • Intégration complète avec formats de texte – Cliquer/déposer boutons + config F.T. • Téléversement d'image intégré • Légende • Intégré avec module breakpoint • Edition inline (quick edit)
  • 39. Editeur de Texte ● Bouton image + téléverser . Forum PHP 2013 39 39
  • 43. Multilingue ? I speak english ! Je parle français ! . Forum PHP 2013 43 43
  • 44. Multilingue I speak english ! Je parle français ! Se habla espanol ! . Я говорю на русском ! Forum PHP 2013 44 44
  • 45. Drupal 8 : MultiLingue 4 piliers Langues Interface Contenu Configuration
  • 46. Langues Choix dès l'installation ● Supprimer anglais ;) ● Visibilité des blocs ● Langue dans Views ● Configuration souple ● Affectation + large ● ● ● Entités, Vues, Alias, Infos du site Non affecté <> non applicable Détection améliorée ● Translitération ●
  • 47. Traduction Interface Traduire en anglais ;) ● Nouvel interface + simple ● ● pluriel Suivi traductions Perso. ● Import : Timeouts ● Dossier centralisé ● Mise à jour auto depuis localize.drupal.org ● Module séparé ●
  • 48. Traduction du Contenu Tous types d'entités ● Configuration dynamique / bundle / champ ● Index recherche / langue ● API de recherche ● Support API node access ●
  • 49. Traduction Configuration Onglet traduction ● Langue / fichier de config ● Config supporte schema ● Pour toute config ● UI pour seul Core ● UI amélioré / contrib ●
  • 50. 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. 3 @todo Profite du nouvel Entity API, de Views Accès / Cookies + token ← Serialize <> Normalize → Extensible Forum PHP 2013 50 50
  • 52. Déploiement des Configurations Principe CMI ALERT! ALERT! Important announcement about something. Important announcement about something.
  • 53. Configuration : <> contenu • Paramètres • Types de contenus • Champs • Vues • Styles d'mages • Permissions, Rôles •…
  • 54. Configuration en D8 Configuration stockée en fichiers • modifs via l'interface admin • écrites directement dans fichier yml • format populaire YAML • facile à lire / « écrire » • Entités de configuration
  • 55. 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'
  • 58. Configuration Management Interface 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 . Forum PHP 2013 58 58
  • 59. Architecture technique • > 500 lignes dans CHANGELOG.txt • 24 APIs nouveaux ou modifiés • Plugins (← hooks) • • • • • • Entity API dans Core + amélioré CMI Routage Services Objets Formulaires ...
  • 60. Révolution POO Il est temps de passer vraiment à la POO ! This guy killed Procedural Programming in Drupal
  • 62. Composants Symfony Pourquoi Symfony2 ? « Nouvelle » approche : Fièrement trouvé ailleurs
  • 63. Composants Symfony2 utilisés • • • • • • • • . HttpFoundation HttpKernel Injection de dépendances Event dispatcher Routage Serializer Validator Yaml Forum PHP 2013 63 63
  • 64. Améliorations diverses • 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/
  • 65. Synthèse Améliorations Drupal 8 par profil © Chipway 2009-2011 Forum PHP 2013 65
  • 66. Intégrateurs / Assembleurs Utilisation de Schema.org (RDF) ● Services web REST ● Blocs ● Editeurs ● Gestion des changements de configuration ● UUID ● Tour (help) ●
  • 67. 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 ●
  • 68. Développeurs / Codeurs POO ● Composants Symfony2 (voir au-dessus) ● Symfony CMF ● Doctrine annotations ● Composer ● Namespaces & PSR-0 → 4 ● Services Symfony ●
  • 69. Développeurs / Codeurs YAML ● PHPUnit (simpletest out en D9) ● Nouvelles librairies externes ● Guzzle (drupal_http_request) ● EasyRDF (parsing RDF) ● Zend_Feed (Feeds) ●
  • 70. Drupal 8 + difficile : Développer ● Programmation orientée Objet (POO) ● Symfony2 ● Plus difficile ? Ou plus simple ? ● Déconstruire & reconstuire ? . Forum PHP 2013 70 70
  • 71. 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 ! . Forum PHP 2013 71 71
  • 72. Conclusion : Drupal 8 c'est plus  Harmonisé / simplifié / mieux intégré  Modernisé / Etat de l'art Dev PHP  Généralisé (mobiles, services...)  Localisé (langues, traductions)  Professionnalisé et Ouvert aux nouveaux  Sécurisé  « Accéléré »  Plus facile à Adopter . Forum PHP 2013 72 72
  • 73. 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
  • 74. Remerciements Slides : Drupal : ● Dries Angela “webchick” Byron ● ● Contributeurs Kristof De Jaeger ● ● Communauté Jen Lampton ● Dries Buytaert ● Gábor Hojtsy Déjà > 1600 contributeurs! ● Larry Garfield ● Jingsheng Wang ● Christopher Skene ● Boris Gordon ●
  • 75. Merci de votre attention Questions ? Vos retours sur https://joind.in/9369 @chipway . lcros@chipway.com Forum PHP 2013 75