Depuis le 5 janvier 2011, la nouvelle version Drupal 7 succède avec brio à Drupal 6, une release majeur de ce CMS aujourd'hui largement adopté. Sa simplicité d'utilisation et sa flexibilité décuplée font de Drupal 7 un CMS incontournable.
Le pôle d'expertise Drupal d'Alter Way, opérateur de services open source, vous présente ces avancées révolutionnaires.
Organiser efficacement son depot de code par Jean Marc Fontaine
Seminaire Alter Way Drupal 7
1. Séminaire petit-déjeuner
DRUPAL 7 : UNE REVOLUTION !
Mardi 1er Mars 2011 - Eurosites George V
Intervenants :
Stéphane Vincent, Directeur Général, Alter Way Solutions
Hervé Leclerc, Directeur Technique, Alter Way Solutions
Alexandre Bulté, Responsable Avant-Vente / CdP, Alter Way Solutions
Frédéric Plais, Directeur Général, Commerce Guys
2. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 2
3. A PROPOS D’ALTER WAY
INDUSTRIALISATION
Une réponse industrielle globale assurée par un
interlocuteur unique
EXPERTISE
Une équipe de consultants reconnus pour leur °
expertise et leur implication dans la communauté
Open Source
INNOVATION
Un investissement fort et continu dans les
dernières avancées technologiques
Données clés
Lille
2010 Péronne
2009
10 M€ de CA en 2010 2008
Paris
110 Collaborateurs 2007 90 pers
9M€
120 pers
10M€
80 pers Bordeaux Lyon
8 M€
7 Sociétés intégrées 2006
50 pers (1,5 M€
croissance
Toulouse
5,2 M€
par acquisition à 100% (2,8 M€ externe)
20 pers croissance
1,5 M€ externe)
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 3
4. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 4
5. A PROPOS DE DRUPAL
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 5
10. QUELQUES REFERENCES DE SITES DRUPAL
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 10
11. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 11
12. USER EXPERIENCE (UX) PROJECT
Réflexion très en amont sur l‟ergonomie de Drupal 7
1 2 3 4
Faciliter les
tâches
fréquentes et Rendre les
Privilégier le
rendre Viser les “80%” paramètres par
créateur de
faisables les d‟utilisateurs défaut
contenu
tâches les “intelligents”
moins
fréquentes
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 12
17. INTEGRATION & MISE EN PAGE
Suppression des anciens
thèmes (D4) du cœur
Nommage plus rigoureux
classe CSS et identifiants plus
sémantiques
Ajout CSS spécifiques pour
certains navigateurs
(drupal_add_css) :
function YourThemeName_preprocess_html(&$variables) {
// Add conditional stylesheets for IE (from Bartik)
drupal_add_css(path_to_theme() . '/css/ie7.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'lte IE 7', '!IE' => FALSE), 'preprocess' => FALSE));
drupal_add_css(path_to_theme() . '/css/ie6.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'IE 6', '!IE' => FALSE), 'preprocess' => FALSE));
} // end preprocess_html
Donnera
<!--[if lte IE 7]>
<link type="text/css" rel="stylesheet" href="http://xxxxxx/sites/all/themes/xxxx/css/ie7.css" media="all" />
<![endif]-->
<!--[if IE 6]>
<link type="text/css" rel="stylesheet" href="http://xxxxx/sites/all/themes/xxxx/css/ie6.css" media="all" />
<![endif]-->
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 17
18. INTEGRATION & MISE EN PAGE
Nouveau thème minimaliste (Stark)
servant de base au développement de
nouveaux thèmes
Création de nouveaux blocs pour
d’anciens composants de page
– Ex: Message de pied de page est un bloc
maintenant
Le pré process est étendu aux fonctions
thèmes (thème)
Utilisation possible des hook_alter dans
les thèmes (hook_page_alter,
hook_block_info_alter)
Gestion du masquage / Affichage :
(hide/render)
– <?php
hide($content['field_image']);
print render($content['field_image']);
?>
Hook de thèmes n'ont qu'un seul
paramètre : $variables ( ex
theme_select($variables) )
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 18
25. MODULE : INSTALLATION & MISE A JOUR
http://www.dailymotion.com/video/xhh00f_drupal7-demo-install-module_tech
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 25
31. NOUVEAU FRAMEWORK AJAX
Objectif
– Mettre à jour dynamiquement certaines
parties des pages en fonction des données
du serveur
Nouveautés
– Passage de JQuery 1.2.6 à JQuery 1.4.4
– Intégration de JQuery UI 1.8.7
– Intégration de JQuery Forms 2.52
Comment
– Le Framework fournit un ensemble de
directives de macro langage en PHP
permettant au serveur de générer les appels
JavaScript du client (navigateur)
Apports
– Simplification de normalisation des appels
Ajax
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 31
32. CRÉER SES TYPES DE CONTENU
http://www.dailymotion.com/video/xhh01o_drupal7-demo-type-de-contenu_tech
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 32
33. ENTITES («ENTITIES»)
Mais qu’est ce qu’une entité ?
– C‟est une structure composée d‟attributs
– ~= Objet Générique
– Ex: Drupal Commerce (Profil utilisateur,
ligne de produit, commandes,
transactions de paiement, produits sont
des entités)
Création
– Les entités sont créées par les
développeurs (pour l‟instant)
– Via des modules
Avantages
– Dans D7 tout devient « Entities »
– Détachement de la table des nodes
– Gère simplement la donnée utile
– Gestion normalisée des types de contenu
– Fonctions standards de manipulation
– Simplification de la gestion des références
entre contenus
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 33
34. ENTITES («ENTITIES»)
Entities
Drupal 7
Type d‟entités
Type d’information Comment Contenu User PostIT
manipulée
Liaison
Bundle
Groupe Réaction Notation Page Article User PostIT
d’entité
d’un même type
Entities
Elément R1 R2 R3 Rn P1 P2 P3 Pn U1 U2 U3 Un P1 Pn
de contenu
spécifique
Drupal 6
Comment Contenu User content_profile
taxonomy_node
comment_node
Page Article PostIT
P1 P2 P3 Pn
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 34
36. LES MODULES INTEGRES AU COEUR
Admin role
Feed api
FileField
Image
ImageAPI
ImageCache
ImageField
Install profile API
Plugin manager
Poormanscron
Token
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 36
37. NOUVELLES APIs
PDO
– Abstraction base de données
– Virtuellement, Drupal est compatible avec
toutes les bases ayant un driver PDO
– Requêtes standard ou dynamiques
• $node=db_query(« select nid,…
• $select=db_select(„node‟,‟n)
– -> fields(„n‟,array(„nid‟)),
– -> condition(„promote‟,1) ….‟
Field API (CCK intégré dans le cœur)
– Le système est pré-configuré avec certains
types (Decimal, Entier, Booléen, Image,
Text, Liste, Fichier, terme de taxonomie,
etc)
– Définition de nouveau type de champs via
modules
– Ces nouveaux types sont stockés dans la
base de données
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 37
38. NOUVELLES APIs
File API
– Améliorée : fichiers et médias
maintenant des objets de premier niveau
– De nouveaux hooks disponibles :
(hook_file_load(), hook_file_save(),
<code>hook_file_move(), etc)
– Fichiers gérés automatiquement, plus
besoin de tables
Image API
– ImageCache dans le cœur
– Utilitaires : modules à part entière
Gestion des CDN
– Référencement des fichiers non par un
chemin absolu mais comme une URI
(schema ://file/path/file.ext) (public ://, private ://,
temp :// nativement)
– Extension à : Flickr : flickr://, twitpic :
twitpic://, youtube : youtube://
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 38
39. GESTION DE LA TRADUCTION : CONTEXTE
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 39
40. GESTION DE LA TRADUCTION : NEGOCIATION
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 40
41. MULTI-SITE SIMPLIFIE
Fichier sites.php
– Nouveau fichier de configuration qui permet de
créer des alias au niveau des répertoires
Exemples
– http://www.examples.com
-> sites/examples.com
– http://localhost/examples.com
-> sites/localhost.examples.com
Solutions
– $sites['localhost/example.com'] = 'example.com„
– Drupal utilisera le répertoire examples.com pour
le site http://localhost/examples.com
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 41
42. PERFORMANCES
Chargement de plusieurs objets
en une seule requête :
node_load_multiple(), user_load_multiple(), etc.
Support des proxy et reverse-
proxy amélioré
Support des CDN (Content
Delivery Network)
InnoDB au profit de MyISAM
Support des architectures SGBD
de type Master/Slave
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 42
43. SECURITE
Le cron est sécurisé :
– Avant : 0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
– En D7 : 0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php?cron_key=y85HnNQxjdqM-
deRXj2Xrp2MJumqe1HGPSXhW8jftyI
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 43
44. SECURITE
Séparation des espaces publics / privés
public://monimage.png
Public : css, js
Privé : fichiers attachés
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 44
45. SECURITE
« Hashage » des mots de
passe renforcé :
MD5 -> SHA2
Prévention contre les
méthodes de « brute
force » au niveau du
login par une limitation
de la fréquence du
nombre d’essais
d’authentification
(accès au variable via le
module flood_control)
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 45
46. ADMINISTRATION SYSTEME
Compatible avec PHP 5.2.5 et 5.3.x
Support de multiples bases via PDO
(Oracle Database, SQLite, Microsoft SQL,
MySQL et PostgreSQL)
Plusieurs types de super utilisateurs
(nouvelles permissions)
Meilleure gestion des fuseaux horaires
Meilleure gestion des utilisateurs
Configuration des modules
directement à partir de la liste
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 46
49. Les fondamentaux de Drupal Commerce
• Tout ce que vous avez vu précédemment concernant Drupal7
est utilisable dans le cadre de la création de votre site
marchand, avec Drupal Commerce.
• Drupal Commerce adresse les 4 grandes catégories de sites
marchands (« shipable », « downloadable », « bookable »,
«services »)
• Drupal Commerce est construit pour gérer des sites marchands
ambitieux, professionnels (scalabilité, prévu pour s’interfacer
aux systèmes externes (ERP, CRM…), évolutivité…)
49
50. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 50
51. MIGRATION V6 – V7
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 51
52. LISTER VOS MODULES &
VERIFIER LEUR DISPONIBILITÉ
EVALUER LA DIFFICULTÉ DE PORTAGE
http://upgrade.boombatower.com/
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 52
53. REVENIR AU THEME GARLAND
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 53
54. DESACTIVER TOUS LES MODULES HORS COEUR
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 54
55. SUPPRIMER LE FICHIER default.settings.php
sites/default/default.settings.php
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 55
56. SAUVEGARDER LA BASE
(mysqldump / backup & migrate…)
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 56
57. INSTALLER DRUPAL 7
Archive
ou
drush dl drupal-7.x –drupal-project-rename drupal
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 57
58. COPIER LE CONTENU DU REPERTOIRE sites
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 58
59. LANCER L’UPGRADE
http://www.votre_site.com/update.php
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 59
60. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 60
65. LANCER LES TESTS EN LIGNE DE COMMANDE
http://www.dailymotion.com/video/edit/xhh7jg_drupal7-demo-simple-test-3_tech
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 65
67. DRUPAL AU SEIN D’UNE PLATEFORME
D’INTEGRATION CONTINUE
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 67
68. DRUPAL AU SEIN D’UNE PLATEFORME
D’INTEGRATION CONTINUE
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 68
69. AGENDA
Introduction
Les nouveautés Drupal 7
Comment migrer de la version 6 à la version 7 ?
Drupal 7, une Plate-forme industrielle
01/03/2011 ALTER WAY - Drupal 7 : une révolution ! 69