Réussir son projet Drupal Par @mtopolov, CTO de @adyax



Documents pareils
REX gros projets Drupal. Drupal Camp Toulouse Novembre - +qdelance

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

Drupal, pour quel usage? Comment se positionne Drupal? Les fonctionnalités de Drupal et de son écosystème. L'architecture technique et logicielle Le

Les bonnes pratiques. de l hébergement d un CMS

DRUPAL Guide de référence des meilleures extensions

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

Savoir- Faire Offres mé1ers Offres technologiques

Des millions de visiteurs avec France Télévisions

Quel CMS choisir pour son site web?

ezpublish vs Drupal It s all about experience

14 novembre Retour d expérience Drupal et Drupal Commerce

Gérer une forte charge avec ez Publish Obtenir la meilleure réactivité de publication. Solutions natives ez. Solution spécifique.

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Importer du contenu avec Drupal Rodolfo Ripado

09 nov Retour d'expérience sur l'implémentation d'une plateforme Drupal / Drupal Commerce

Découvrir Drupal au travers d un cas client

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Découvrir le CMS. et l utiliser dans une approche pro!

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Drupal (V7) : principes et petite expérience

CMS Open Source : état de l'art et méthodologie de choix

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Démarrer rapidement un site avec Drupal 7

Drupal Contributeur. Maitrisez la publication sous Drupal. Une formation Formateur : Fabien Crépin. Drupal Contributeur.

Nouveautés de Drupal 8. Léon

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

Choisir la solution d hébergement et de support faite pour vous

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Découvrir Drupal. Les meilleurs thèmes et modules Drupal (présenta5on démo)

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

Module pour la solution e-commerce Magento

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Performance, rendement Vs Evolutivité

Marché à Procédure adaptée. Tierce maintenance applicative pour le portail web

Cursus 2013 Déployer un Content Management System

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Recommandations pour le futur CMS de l'epfl

Tour d horizon des CMS. Content Management System

Ingénieur d étude Web & Lead testeur QA

PHP 5.4 Développez un site web dynamique et interactif

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Concevoir et déployer. Drupal. ses sites web avec. 2 e édition. Préface de Edwy Plenel. Groupe Eyrolles, 2009, 2010, ISBN :

Erwan GAUTHIER. Consultant Stratégie Marketing Digital

AngularJS pour une application d'entreprise

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Portfolio Sites internet :

Web & Libre. Outils pour être présent sur le net librement

Profils d installation sous Drupal 7

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Présentation: ez Publish 4.4. Sponsor principal:

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Olivier Deheurles Ingénieur conception et développement.net

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

BES WEBDEVELOPER ACTIVITÉ RÔLE

RÉF : 2002/COFAX/LP V1.0

CAS, un SSO web open source. 14h35-15h25 - La Seine A

Documentation technique

Bien architecturer une application REST

Sommaire. 1. Présentation de WordPress. 2. Hébergement et installation. 3. Prise en main, ajouter des contenus

WordPress, thèmes et plugins : mode d'emploi

Installation SharePoint Foundation 2013 en mode Stand-Alone

Drupal, le couteau suisse de la publication d informations

COMPÉTENCES TECHNIQUES

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Devenez un véritable développeur web en 3 mois!

Panorama des CMS open sources. Sylvain Ferrand, CMAP École Polytechnique Journées Mathrice, Poitiers, 19 mars 2008

VOTRE OFFRE CRM 360 ALL INCLUSIVE.

PrestaShop 1.6 Créer un site de e-commerce

N SIRET : N

PrestaShop 1.5 Créer un site de e-commerce

En date du 11 décembre 2008

Drupal : quelques fonctionnalités (ce qu il permet, ce qu il ne permet pas)

les techniques d'extraction, les formulaires et intégration dans un site WEB

Gestion d identités PSL Exploitation IdP Authentic

Hébergement PHP. Comprendre pour bien choisir son hébergement

Manuel du site internet Guichet Export pour la CCI Marseille Provence

Offres de stages 2011/2012

Outils de développement collaboratif

Refonte des sites internet du SIEDS

WordPress. Présentation HETIC

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Une interface moderne et multi devices avec Drupal Focus sur Omega

Design. Search. Cloud AMOA ECM. Intégration. IT Solutions. Formation. Développement. Mobilité. Open source. Infogérance. Ergonomie

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Concilier Agilité, Exigences et Continuous Delivery : Retour d expérience PagesJaunes

Catalogue des formations : Utilisation d outils Open Source

INTRODUCTION AU CMS MODX

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

De Zéro à Construire des expériences digitales uniques toujours à la pointe du web avec Acquia Cloud Site Factory

Nous vous garantissons un niveau élevé d exploitation de vos données

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

K-Portal et K-Sup 5.1 des nouveautés. Détails

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>

Transcription:

Réussir son projet Drupal Par @mtopolov, CTO de @adyax

C est 40 gros sites Drupal en 2011

Les principaux points forts de Drupal

Un fort niveau d abstraction donne...

un système modulaire qui permet de créer

un beau CMS mais surtout un Framework, avec

une API riche de nombreux «hooks»

Grâce à la license GPL et drupal.org on a

une communauté très active, qui

MOI Drupal 10 ans 1/2 et 7 versions

des sites sérieux

pour les jeunes

et les moins jeunes

Des sites roses

bleus

gris

ou jaunes.

de gauche

ou de droite

Pour les riches

et les moins riches,

PLUS DE 7 MILLIONS DE SITES DANS LE MONDE

Drupal pour quel projet? Média interactif Projet idéal Média statique Corporate Ecommerce App statique Plutôt difficile Communautaire App temps réel

Méthodes Agiles ou Classiques? Estimation Conception Design Dev. Tuning Debug MEP Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Les deux conviennent, Drupal se prête très bien aux méthodes Agiles (modulaire & évolutif).

Petit dico Français/Drupal Nœud (node) -> tout contenu Views -> module Drupal pour créer, afficher et gérer des listes de contenus Panels -> module Drupal pour créer en drag n drop des pages Taxonomies -> manière de tagguer ou classer le contenu dans des rubriques.

Equipe projet Drupal?

Estimer un projet Drupal Définissons trois types de projet (S)imple : site de contenu simple, pas de zone utilisateur, pages simples (M)oyen : site de contenus avec une zone utilisateur, pages de complexité moyenne (C)omplexe : site communautaire, ecommerce ou très complexe, pages lourdes avec nombreux blocs & contextes.

Estimer un projet Drupal Mise en place de Drupal = Création de types de contenus + Views + Panels de base + Modules principaux et leur configuration Si S = 2 3 jours Si M = 6 7 jours Si C = 15 jours ou plus

Estimer un projet Drupal Intégration HTML W3C, cross-browser, pixel-perfect + debug CSS/JS pendant le projet S = 2 jours + 0,3 jours par page M = 3 jours + 0,7 jours par page C = 4 jours + 1,2 jour par page

Estimer un projet Drupal Theming Drupal = Montage pages Panels, création du thème, Création des blocs. S = 0,5 jours par page M = 1 jour par page C = 1,5 jour page page

Estimer un projet Drupal Multilingue? +2-3 jours Vous gérez des sessions utilisateurs? +2-3 jours Moteur de recherche à tuner? +2 jours Et ainsi de suite pour chaque fonctionnalité!

Les dangers dans l estimation Règles de gestion complexes sur les blocs & contextes (tout ce qui sort du champs d application de Views) WYSIWYG & «Améliorations» du backoffice, mises en avant éditoriales complexes. Migration du contenu existant & synchronisation de bases Alertes email, fort trafic / pics.

Fainéant, le développeur ne code que 1/3 de son temps 35% développement 30% écriture et exécution des tests 10% déploiements 10% trad, perfs, sécurité, permissions 5% divers scripts 5% documentation 5% démos

Comment spécifier pour Drupal? Types de contenus Structure du contenu Taxonomies Contextes Plan du site Rubriques Pages Blocs Fonctionnalités Allez voir la session «Spécifier pour Drupal» de Chris JOSEPH, à 14h!

Comment spécifier pour Drupal? Types de contenus : Article, Produit, Brève, Fiche Auteur, Photo, Vidéo Structure du contenu : Les champs composant les types de contenus. Taxonomies : Rubriques, Tags, Marques, Contextes : Quel bloc s affiche où

Outils pour spécifier? Evitez Axure, très à la mode, mais pas adapté à Drupal (très orienté Page -> Navigation -> Clicks et pas assez contenu) Un bon document Word Des copies d écrans annotées

Un «design» Drupal?

Spécifications des taxonomies Taxonomies : Tags, Rubriques, Type de recette, Marque de voiture Une taxonomie sert (ou servira!) obligatoirement dans plusieurs types de contenus, si non, utiliser un champ classique.

Blocs : Panels everywhere!

Contextes Contextes c est plus que des rubriques Vont vous servir à définir le triptyque : Titres des pages, métas URLs Plan de taggage des stats Permettent de placer les panes sur vos pages

7.000 modules c est pas pour rien! Avant de spécifier une fonctionnalité à votre manière, vérifiez s il n existe pas un module Drupal qui fait l affaire.

et essayez de faire simple Et ça sur 300 pages

Environnement de développement GIT + Redmine (ou TRAC, ou autre chose) Dev / Test / Prod Attention à la manière de gérer les déploiements incrémentaux. Tests automatisés conseillées sur projets long terme (Selenium RC)

GIT : Comment gérer les branches

Problème du déploiement sur Drupal Contenu et configurations sont dans la base Utiliser le module Features + utiliser les fonctions hook_update_x() Pensez à Capistrano pour vous aider Vos développeurs et admins doivent connaître Drush

Dangers du hook_update_n() L utilisateur $user est probablement l admin ou NULL Drupal exécutera d abord toutes les fonctions _update d un module avant de passer à un autre Attention a bien refactorer votre code.install de temps à autre, pour éviter des centaines de _update.

Architecture logicielle type Cache Cache statique statique :: VARNISH VARNISH Panels, Panels, Views Views -> -> Moteur Moteur de de rendu rendu SOAP, SOAP,JSON JSONXML XML JSON JSON WS WS Entrants Entrants Feeds Feeds WS WS Sortants Sortants Services Services Moteur Moteur de de recherche recherche SOLR SOLR (TomCat) (TomCat) Module Module Apache Apache SOLR SOLR Newsletters Newsletters SimpleNews SimpleNews?????? Cache Cache memoire memoire Memcached Memcached Module Module Memcache Memcache Temps Temps Réel Réel MongoDB MongoDB Base Base NoSQL NoSQL MongoDB MongoDB Standard Standard::RSS, RSS,CSV CSV Flux Fluxspécifiques spécifiques Back Back Office Office amélioré amélioré :: NodeQueue, NodeQueue, Media, Media, Scheduler, Scheduler, Rules, Rules, Actions, Actions, SOAP SOAP XML-RPC XML-RPC

Les 10 commandements Drupal

I. Structurer ton contenu en premier lieu, tu devras (Entités, Champs, Taxonomies)

II. Aucune fonctionnalité dans les templates tu ne coderas

II bis. (pas de requêtes SQL non plus, hein!)

III. Le cœur de Drupal tu ne toucheras point (ni les modules contribs)

IV. Views, Ctools & Panels tu utiliseras!

V. Les caches, dès le début du projet tu activeras (Varnish, Memcached, Boost, AuthCache)

VI. Du WYSIWYG tu n abuseras point

VII. Les déploiements par le code et les scripts tu feras (Drush, Features, Deploy )

VIII. Avant de coder une fonctionnalité, le module existant 10 fois tu chercheras

IX. Apache SOLR pour recherche tu utiliseras! la

X. Si faire soimême tu ne sais pas, à un professionnel tu t adresseras