R©ussir son projet Drupal

  • View
    7.822

  • Download
    1

Embed Size (px)

DESCRIPTION

Réussir son projet Drupal. Plusieurs clefs du succès par Maxime TOPOLOV (@mtopolov) CTO de @adyax, Leader Européen sur Drupal.Méthodes qui marchentEquipe projetOrganisationEstimation du projetChoses à faire et à pas faire....

Text of R©ussir son projet Drupal

  • 1. Russir son projet Drupal Par@mtopolov , CTO de@adyax

2. Cest 40 gros sites Drupal en 2011 3. Les principaux pointsforts deDrupal 4. Un fort niveaudabstraction donne... 5.

    • un systme modulaire qui permet de crer

6.

    • un beau CMS mais surtout un Framework, avec

7.

    • une API riche de nombreux hooks

8.

    • Grce la license GPL et drupal.org on a

9.

    • une communaut trs active, qui

10. MOI Drupal 10 ans1 /2 et 7 versions 11.

    • des sites srieux

12.

    • pour les jeunes

13.

    • et les moins jeunes

14.

    • Des sites roses

15.

    • bleus

16.

    • gris

17.

    • ou jaunes.

18.

    • de gauche

19.

    • ou de droite

20.

    • Pour les riches

21.

    • et les moins riches,

22. PLUS DE7 MILLIONS DE SITES DANS LE MONDE 23. 24. Drupal pour quel projet ? Plutt difficile Projet idal Corporate Ecommerce Communautaire Mdia statique Mdia interactif App statique App temps rel 25. Mthodes Agiles ou Classiques ? Lesdeuxconviennent, Drupal se prte trs bien aux mthodes Agiles (modulaire & volutif). Estimation Conception Design Dev. Tuning Debug MEP Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 26. Petit dico Franais/Drupal

  • Nud(node) -> tout contenu
  • Views-> module Drupal pour crer, afficher et grer des listes de contenus
  • Panels-> module Drupal pour crer en dragndrop des pages
  • Taxonomies-> manire de tagguer ou classer le contenu dans des rubriques.

27. Equipe projet Drupal ? 28. Estimer un projet Drupal

  • Dfinissons 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, e-commerce ou trs complexe, pages lourdes avec nombreux blocs & contextes.

29. Estimer un projet Drupal

  • Mise en place de Drupal= Cration de types de contenus + Views + Panels de base + Modules principaux et leur configuration
    • SiS= 2 3 jours
    • SiM= 6 7 jours
    • SiC= 15 jours ou plus

30. Estimer un projet Drupal

  • Intgration 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

31. Estimer un projet Drupal

  • Theming Drupal = Montage pages Panels, cration du thme, Cration des blocs.
    • S= 0,5 jours par page
    • M= 1 jour par page
    • C= 1,5 jour page page

32. Estimer un projet Drupal

  • Multilingue ?+2-3jours
  • Vous grez des sessions utilisateurs ?+2-3jours
  • Moteur de recherche tuner ?+2jours
  • Et ainsi de suite pourchaquefonctionnalit !

33. Lesdangersdans lestimation

  • Rgles de gestion complexes sur les blocs & contextes (tout ce qui sort du champs dapplication de Views)
  • WYSIWYG & Amliorations du back-office, mises en avant ditoriales complexes.
  • Migration du contenu existant & synchronisation de bases
  • Alertes email, fort trafic / pics.

34. Fainant, le dveloppeur ne code que 1/3 de son temps

  • 35%dveloppement
  • 30%criture et excution des tests
  • 10%dploiements
  • 10%trad, perfs, scurit, permissions
  • 5%divers scripts
  • 5%documentation
  • 5%dmos

35. Comment spcifier pour Drupal ?

  • Types de contenus
  • Structure du contenu
  • Taxonomies
  • Contextes
  • Plan du site
  • Rubriques
  • Pages
  • Blocs

Allez voir la session Spcifier pour Drupal de Chris JOSEPH, 14h !

  • Fonctionnalits

36. Comment spcifier pour Drupal ?

  • Types de contenus: Article, Produit, Brve, Fiche Auteur, Photo, Vido
  • Structure du contenu: Les champs composant les types de contenus.
  • Taxonomies: Rubriques, Tags, Marques,
  • Contextes: Quel bloc saffiche o

37. 38. 39. Outils pour spcifier ?

  • Evitez Axure, trs la mode, mais pas adapt Drupal (trs orient Page -> Navigation -> Clicks et pas assez contenu)
  • Un bon document Word
  • Des copies dcrans annotes

40. Un design Drupal ? 41. Spcifications des taxonomies

  • Taxonomies: Tags, Rubriques, Type de recette, Marque de voiture
  • Une taxonomie sert (ou servira!)obligatoirementdans plusieurs types de contenus, si non, utiliser un champ classique.

42. Blocs : Panels everywhere ! 43. Contextes

  • Contextescestplusque des rubriques
  • Vont vous servir dfinir le triptyque :
    • Titres des pages, mtas
    • URLs
    • Plan de taggage des stats
  • Permettent de placer les panes sur vos pages

44. 7.000 modules cest pas pour rien ! Avantde spcifier une fonctionnalit votre manire , vrifiez sil nexiste pas unmodule Drupalqui fait laffaire. 45. et essayez de faire simple Et a sur 300 pages 46. Environnement de dveloppement

  • GIT + Redmine (ou TRAC, ou autre chose)
  • Dev / Test / Prod
  • Attention la manire de grer les dploiements incrmentaux.
  • Tests automatiss conseilles sur projets long terme (Selenium RC)

47. GIT : Comment grer les branches 48. Problme du dploiement sur Drupal

  • Contenu et configurations sont dans la base
  • Utiliser le moduleFeatures+ utiliser les fonctionshook_update_X()
  • Pensez Capistranopour vous aider
  • Vos dveloppeurs et admins doivent connatreDrush

49. Dangers du hook_update_N()

  • Lutilisateur$userest probablement ladmin ou NULL
  • Drupal excutera dabordtoutesles fonctions_updatedun module avant de passer un autre
  • Attention a bien refactorer votre code.installde temps autre, pour viter des centaines de_update .

50. Architecture logicielle type Panels ,Views-> Moteur de rendu WS Sortants Services JSON SOAP XML-RPC WS Entrants Feeds SOAP, JSON XML Standard : RSS, CSV Flux spcifiques ModuleApache SOLR Moteur de recherche SOLR (TomCat) ModuleMemcache Cache memoire Memcached Cache statique : VARNISH Newsletters SimpleNews ??? Temps Rel MongoDB Base NoSQL MongoDB Back Office amlior : NodeQueue, Media, Scheduler, Rules, Actions, 51.

    • Les 10 commandements
    • Drupal

52.

    • I. Structurer ton contenu en premier lieu, tu devras (Entits, Champs, Taxonomies)

53.

    • II. Aucune fonctionnalit dans les templates tu ne coderas

54.

    • II bis. (pas de requtes SQL non plus, hein !)

55.

    • III. Le cur de Drupal tu ne toucheras point (ni les modules contribs)

56. 57.

    • IV. Views, Ctools & Panels tu utiliseras !

58.

    • V. Les caches, ds le dbut du projet tu activeras (Varnish, Memcached, Boost, AuthCache)

59.

    • VI. Du WYSIWYG tu nabuseras point

60.

    • VII. Les dploiements par le code et les scripts tu feras (Drush, Features, Deploy)

61.

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

62.

    • IX. Apache SOLR pour la recherche tu utiliseras !

63.

    • X. Si faire soi-mme tu ne sais pas, un professionnel tu tadresseras