Simplifier son déploiement à l’international avec AFS@Store, moteur de recher...
Drupal7 une Révolution ?
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 Communiquer
Une réponse industrielle globale assurée par un
interlocuteur unique CREATIVE
Décider Construire
EXPERTISE Offre open source
Une équipe de consultants reconnus pour leur CONSULTING
à 360°
SOLUTIONS
expertise et leur implication dans la communauté
Open Source
Transmettre Sécuriser
INNOVATION FORMATION HOSTING
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