Anúncio

Mener à bien un projet Drupal (Drupagora 2013)

9 de Dec de 2013
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a Mener à bien un projet Drupal (Drupagora 2013)(20)

Anúncio
Anúncio

Mener à bien un projet Drupal (Drupagora 2013)

  1. Mener à bien un projet Drupal Drupagora 2013
  2. Qui sommes-nous ? Rémi  Rousseau   Directeur  de  projets   La  Netscouade              @reumiapri   Paul-­‐Émile  Miny   Lead  developer   La  Netscouade              @polem  
  3. •  Une  agence  digitale   Une  approche  intégrée  pour   fondée  en  2007,  pionnière   une  offre  360°  :   du  web  social,  spécialisée   •  conseil  et  innovaFon   dans  la  communicaFon   digitale   insFtuFonnelle  et  grand   •  concepFon  et   public   développement   •  50  personnes   d applicaFons   •  webinfluence  et  rich   media  
  4. La conception et le développement d’applications 25  personnes  réparFes  en  4  pôles  de  compétences   L Atelier   Le  Lab   Le  Studio   La  Fab  
  5. La conception et le développement d’applications De  Drupal  5  à  Drupal  8  :  +  de  150  projets  développés  
  6. Quelle méthodologie adopter ? La  méthodologie  doit  servir  le  projet  et  garanFr  la   bonne  qualité  du  projet   Approche  en   cascade   vs.   Approche   agile   Il  est  très  souvent  possible  de  mener  une  approche   mixte  :  cascade  avec  le  client,  agile  en  interne  
  7. Les éléments pour choisir : ¤  Le  périmètre  et  la  nature  du  projet   ¤  La  configuraFon  de  l’équipe   ¤  La  maîtrise  méthodologique  de  l équipe   ¤  Les  prédisposiFons  du  client   ¤  Le  planning  du  projet  
  8. Conduire et mener à bien un projet Comprendre   Lancer   Concevoir   Développer     Tester   Livrer   Maintenir   Clore  
  9. Comprendre: ce que le client souhaite «  un  site  moderne,  ergonomique,  fluide  et  innovant  au   service  du  contenu,  qui  donne  une  image  renouvelée  de  son   organisaFon  »   «  une  autonomie  totale  pour  l alimentaFon,  la  mise  à  jour  et  la   mise  en  place  d évoluFons  »   «  un  site  compa>ble  avec  l ensemble  des  navigateurs  sur   l ensemble  des  terminaux  »  
  10. Comprendre: ce que le client ne dit pas toujours «  un  budget  contraint  »   «  un  planning  serré  »   «  un  projet  non  toujours  géré  par  un  chef  de  projet  en  interne  »   «  des  process  de  valida>on  hiérarchique  plus  ou  moins  longs  »  
  11. Comprendre: pourquoi partir sur Drupal ? ✔ GesFon  de  contenus  mulFmédia   ✔ Workflow  et  gouvernance  éditoriale   ✔ Ecommerce   ✔ MulFlinguisme  (parFel  ou  intégral)   ✔ CollaboraFf,  contribuFf,  affinitaire  
  12. Comprendre: pourquoi ne pas partir sur Drupal ? ✗ gesFon  de  BDD  custom   ✗ temps  réel   ✗ applicaFon  méFer  spécifique   ✗ applicaFon  mobile  naFve  
  13. Lancer : poser les bases d’une bonne conduite de projet Une  réunion  physique  avec  le  client  pour  :   ü   Présenter  les  équipes   ü   Acter  les  choix  méthodologiques  et  les  ouFls  de  suivi   ü   Arrêter  le  périmètre  foncFonnel   ü   Évoquer  les  problémaFques  techniques   ü   Aborder  les  quesFons  administraFves  
  14. Concevoir : l’approche UX Etat  de   l art   UX   Akentes   uFlisateurs   ObjecFfs   du  client  
  15. Concevoir : une approche collaborative avec le client 1.  Les  parcours  uFlisateurs   2.  L arborescence   3.  Les  gabarits  (ou  mockups)  
  16. Concevoir : quelles sont les cibles ? •  Pour  qui  ?   •  Pour  quoi  ?  
  17. Concevoir : quels parcours utilisateur ? •  Que  recherche   l uFlisateur  final  ?   •  Comment  accède-­‐t-­‐il  aux   contenus  ?  
  18. Concevoir : quels terminaux pour quels usages ?
  19. Concevoir : un travail collaboratif avec les développeurs 1.  Les  spécificaFons  foncFonnelles   a)  Maitriser  le  vocabulaire  propre  à  Drupal   b)  Détailler  les  éléments  criFques  :     •  •  •  •  Types  de  contenus   Rôles  et  permissions   Workflows   Taxonomies   2.  Le  cahier  de  receke  et  les  scénarios  de  test  
  20. Développer : Les modules •  Comment  choisir  un   module  ?   •  Quand/Comment   développer  son  module  ?   •  Pendant  ce  temps  là  dans   le  monde  PHP  …  
  21. Développer : comment choisir les modules ? •  Plus  de  8000  modules  pour   D7  !   •  •  •  •  Version  stable  ?   Nombre  d’installaFons  ?   Nombre  de  bugs  ouverts   Maintenu  ?  
  22. Développer : comment choisir les modules ? Messaging  
  23. Développer : comment choisir les modules ? •  Retours  d'expérience  des  développeurs   –  Qualité  de  la  documentaFon   –  Qualité  du  code   –  PersonnalisaFon  /  Possibilité  d'étendre  le  module   •  Un  module  bêta  >  un  nouveau  module  custom  
  24. Développer : concevoir son propre module •  Quand  choisir  de  développer  son  module  ?   –  Il  n’y  pas  de  module  pour  ça  !  (Vraiment  ?)   –  Autour  d’un  type  de  contenu  structurant  (feature)     –  Forker  un  module  existant.   •  /!  Ne  jamais  hacker  un  module  contrib.   •  S’inspirer  des  modules  cores.   •  Respecter  les  coding  standards  Drupal  
  25. Développer : pendant ce temps dans le monde PHP …
  26. Développer : pendant ce temps dans le monde PHP …
  27. Développer : pendant ce temps dans le monde PHP … curl -sS https://getcomposer.org/installer | php composer require devture/sms-sender --save /** * Implements hook_init(). */ function composer_autoload_init() { require DRUPAL_ROOT . '/vendor/autoload.php'; } $pushManager = new PushManager(); $exampleAdapter = new ApnsAdapter(); $devices = new DeviceCollection(array(new Device('Token1'), new Device('Token2’))); $message = new Message('This is an example.'); $push = new Push($exampleAdapter, $devices, $message); $pushManager->add($push); $pushManager->push();
  28. Développer : bien coder son thème Drupal •  •  •  •  •  UFliser  des  sous-­‐themes  base theme = bootstrap! CommunicaFon  développeurs  /  intégrateurs   /!  Limiter  PHP  dans  les  templates   UFliser  des  foncFons  de  thème  de  drupal  theme_item_list ! UFliser  un  préprocesseur  CSS  SASS/LESS  
  29. Développer : le multilinguisme •  Penser  mulFlingue  dès  le   début  du  projet   •  /!  Toujours  commencer  par   l’anglais   •  Toujours  encapsuler  les   chaînes  en  anglais  dans  des   foncFons  t().  
  30. Développer : le moteur de recherche •  UFliser  Solr  avec  le  module   apachesolr   •  Besoins  de  requêtes   spécifiques  ?  Solarium   composer require basdenooijer/ solarium --save! •  Elas>cSearch  c’est  très  bien   aussi  !  
  31. Développer : obtenir de bonnes performances •  •  •  •  •  Cache  Drupal  +  EnFty  Cache  +  Memcache  *   Compression  JS/CSS  +  OpFmiser  les  images   Varnish   PHP  5.4+  (+25%)  +  APC   Solr  /  ElasFcSearch  
  32. Tester : les conditions d’une bonne recette •  S appuyer  sur  les  livrables  de  concep>on   •  Mekre  en  place  un  ouFl  de  bug-­‐tracking   •  Effectuer  une  receEe  double   •  S appuyer  sur  des  tests  automa>sés  
  33. Livrer : mettre en ligne le projet •  •  •  •  •  Pas  de  livraison  le  vendredi  !   AutomaFser  les  livraisons  avec  capistrano  ou  autres.   Exporter  ses  configuraFons  en  fichiers  :  module  features.   Gérer  la  mise  à  jour  des  modules  :  hook_update.   Maintenir  un  fichier  changelog  
  34. Un projet livré n’est pas un projet terminé !
  35. Maintenir : la garantie •  Surveiller  les  mises  à  jour  des  modules   •  Corriger  les  derniers  dysfoncFonnements   •  Être  pédagogique  sur  la  priorisa>on  des  bugs   •  Livrer  par  lots  et  s appuyer  sur  les  process  de  livraison  
  36. Maintenir : la maintenance évolutive et corrective •  Une  nouvelle  prestaFon  pour  le  client  !   •  Prioriser  et  planifier  les  chanFers   •  Veiller  à  l intégrité  du  code  existant   •  Proposer  du  refactoring  de  code   •  Sanctuariser  les  livraisons  
  37. Clore le projet •  A  minima,  un  email  pour  lever  toute  ambiguïté   •  Idéalement,  une  réunion  chez  le  client  pour   –  Dresser  un  bilan   –  Proposer  de  nouvelles  prestaFons  J  
  38. Les éléments d’un projet réussi Client   UFlisateurs   •  Site  en  ligne   •  Planning   honoré   •  Adhésion   générale   •  Trafic   •  Parcours   perFnents   •  Réponse  aux   besoins   •  Fidélité   •  Témoignages   Équipe  projet   •  Contrôle   budgétaire   •  SaFsfacFon   et  fierté  de   l’équipe   •  Client   fidélisé  
  39. Merci de votre attention ! A  votre  disposiFon  toute  la  journée  pour   échanger  et  sur  Twiker  !   @reumiapri      @polem      @lanetscouade  
Anúncio