SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Mener à bien un projet Drupal
Drupagora 2013
Qui sommes-nous ?

Rémi	
  Rousseau
	
  
Directeur	
  de	
  projets
	
  
La	
  Netscouade
	
  
	
  	
  	
  	
  	
  	
  @reumiapri
	
  

Paul-­‐Émile	
  Miny
	
  
Lead	
  developer
	
  
La	
  Netscouade
	
  
	
  	
  	
  	
  	
  	
  @polem
	
  
•  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	
  
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	
  
La conception et le développement
d’applications
De	
  Drupal	
  5	
  à	
  Drupal	
  8	
  :	
  +	
  de	
  150	
  projets	
  développés	
  
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	
  
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	
  
Conduire et mener à bien un projet

Comprendre	
  

Lancer	
  

Concevoir	
  

Développer	
  	
  

Tester	
  

Livrer	
  

Maintenir	
  

Clore	
  
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	
  »	
  
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	
  »	
  
Comprendre: pourquoi partir sur Drupal ?
✔ GesFon	
  de	
  contenus	
  mulFmédia	
  
✔ Workflow	
  et	
  gouvernance	
  éditoriale	
  
✔ Ecommerce	
  
✔ MulFlinguisme	
  (parFel	
  ou	
  intégral)	
  
✔ CollaboraFf,	
  contribuFf,	
  affinitaire	
  
Comprendre: pourquoi ne pas partir sur
Drupal ?
✗ gesFon	
  de	
  BDD	
  custom	
  
✗ temps	
  réel	
  
✗ applicaFon	
  méFer	
  spécifique	
  
✗ applicaFon	
  mobile	
  naFve	
  
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	
  
Concevoir : l’approche UX
Etat	
  de	
  
l art	
  

UX	
  
Akentes	
  
uFlisateurs	
  

ObjecFfs	
  
du	
  client	
  
Concevoir : une approche collaborative
avec le client
1.  Les	
  parcours	
  uFlisateurs	
  
2.  L arborescence	
  
3.  Les	
  gabarits	
  (ou	
  mockups)	
  
Concevoir : quelles sont les cibles ?

•  Pour	
  qui	
  ?	
  
•  Pour	
  quoi	
  ?	
  
Concevoir : quels parcours utilisateur ?
•  Que	
  recherche	
  
l uFlisateur	
  final	
  ?	
  
•  Comment	
  accède-­‐t-­‐il	
  aux	
  
contenus	
  ?	
  
Concevoir : quels terminaux pour quels
usages ?
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	
  
Développer : Les modules
•  Comment	
  choisir	
  un	
  
module	
  ?	
  
•  Quand/Comment	
  
développer	
  son	
  module	
  ?	
  
•  Pendant	
  ce	
  temps	
  là	
  dans	
  
le	
  monde	
  PHP	
  …	
  
Développer : comment choisir les
modules ?
•  Plus	
  de	
  8000	
  modules	
  pour	
  
D7	
  !	
  
• 
• 
• 
• 

Version	
  stable	
  ?	
  
Nombre	
  d’installaFons	
  ?	
  
Nombre	
  de	
  bugs	
  ouverts	
  
Maintenu	
  ?	
  
Développer : comment choisir les
modules ?
Messaging	
  
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	
  
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	
  
Développer : pendant ce temps dans le
monde PHP …
Développer : pendant ce temps dans le
monde PHP …
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();
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	
  
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().	
  
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	
  !	
  
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	
  
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	
  
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	
  
Un projet livré n’est pas un projet terminé !
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	
  
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	
  
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	
  
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é	
  
Merci de votre attention !
A	
  votre	
  disposiFon	
  toute	
  la	
  journée	
  pour	
  
échanger	
  et	
  sur	
  Twiker	
  !	
  
@reumiapri	
  
	
  	
  @polem	
  
	
  	
  @lanetscouade	
  

Más contenido relacionado

La actualidad más candente

Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7Core-Techs
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Xavier Lacot
 
Alphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Ippon
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défautsJulien Jakubowski
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Chipway
 
Alphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarnAlphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarnAlphorm
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Pierre Ternon
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysALTER WAY
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursIppon
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open SourceIppon
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisChipway
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Alphorm.com Formation WebDev 22 avancé
Alphorm.com Formation WebDev 22 avancéAlphorm.com Formation WebDev 22 avancé
Alphorm.com Formation WebDev 22 avancéAlphorm
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...French Scrum User Group
 
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHPRéalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHPAlexandre Morgaut
 
Bonnes pratiques intégration robuste
Bonnes pratiques intégration robusteBonnes pratiques intégration robuste
Bonnes pratiques intégration robusteRomy Duhem-Verdière
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 

La actualidad más candente (20)

Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
 
Alphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm.com Formation TypeScript
Alphorm.com Formation TypeScript
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défauts
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
 
Alphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarnAlphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarn
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Alphorm.com Formation WebDev 22 avancé
Alphorm.com Formation WebDev 22 avancéAlphorm.com Formation WebDev 22 avancé
Alphorm.com Formation WebDev 22 avancé
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...
Scrumday 2014 - Stratégie pour le projet de développement du nouveau produit ...
 
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHPRéalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHP
 
Bonnes pratiques intégration robuste
Bonnes pratiques intégration robusteBonnes pratiques intégration robuste
Bonnes pratiques intégration robuste
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 

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

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfghiz-
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
📝 ✅ La checklist ultime pour rendre vos applications cloud native
📝 ✅ La checklist ultime pour rendre vos applications cloud native 📝 ✅ La checklist ultime pour rendre vos applications cloud native
📝 ✅ La checklist ultime pour rendre vos applications cloud native KatiaHIMEUR1
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressStéphane Plante
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014ALTER WAY
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Agilité et la gestion du changement mboisvert - 15 octobre 2013
Agilité et la gestion du changement   mboisvert - 15 octobre 2013Agilité et la gestion du changement   mboisvert - 15 octobre 2013
Agilité et la gestion du changement mboisvert - 15 octobre 2013Pyxis Technologies
 
Formation agile - Certification Professional Scrum Developer (PSD)
Formation agile - Certification Professional Scrum Developer (PSD)Formation agile - Certification Professional Scrum Developer (PSD)
Formation agile - Certification Professional Scrum Developer (PSD)NovUp
 
DODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez CroesusDODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez CroesusMartin Deslongchamps
 
Drupal & responsive
Drupal & responsiveDrupal & responsive
Drupal & responsiveRezonova
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?slybud
 
Eurelis - Construire une usine à sites
Eurelis - Construire une usine à sitesEurelis - Construire une usine à sites
Eurelis - Construire une usine à sitesAgence-Eurelis
 

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

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdf
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Solutions Linux 2010
Solutions Linux 2010Solutions Linux 2010
Solutions Linux 2010
 
📝 ✅ La checklist ultime pour rendre vos applications cloud native
📝 ✅ La checklist ultime pour rendre vos applications cloud native 📝 ✅ La checklist ultime pour rendre vos applications cloud native
📝 ✅ La checklist ultime pour rendre vos applications cloud native
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPress
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Agilité et la gestion du changement mboisvert - 15 octobre 2013
Agilité et la gestion du changement   mboisvert - 15 octobre 2013Agilité et la gestion du changement   mboisvert - 15 octobre 2013
Agilité et la gestion du changement mboisvert - 15 octobre 2013
 
Formation agile - Certification Professional Scrum Developer (PSD)
Formation agile - Certification Professional Scrum Developer (PSD)Formation agile - Certification Professional Scrum Developer (PSD)
Formation agile - Certification Professional Scrum Developer (PSD)
 
DODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez CroesusDODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez Croesus
 
Drupal & responsive
Drupal & responsiveDrupal & responsive
Drupal & responsive
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?
 
Eurelis - Construire une usine à sites
Eurelis - Construire une usine à sitesEurelis - Construire une usine à sites
Eurelis - Construire une usine à sites
 

Más de LaNetscouade

Cahier de tendances santé - La Netscouade
Cahier de tendances santé - La NetscouadeCahier de tendances santé - La Netscouade
Cahier de tendances santé - La NetscouadeLaNetscouade
 
Restauration : l'innovation passe à table
Restauration : l'innovation passe à tableRestauration : l'innovation passe à table
Restauration : l'innovation passe à tableLaNetscouade
 
Dossier de presse - Personal Democracy Forum France 2015
Dossier de presse - Personal Democracy Forum France 2015Dossier de presse - Personal Democracy Forum France 2015
Dossier de presse - Personal Democracy Forum France 2015LaNetscouade
 
Communiqué de presse - Personal Democracy Forum France 2015
Communiqué de presse - Personal Democracy Forum France 2015Communiqué de presse - Personal Democracy Forum France 2015
Communiqué de presse - Personal Democracy Forum France 2015LaNetscouade
 
Retour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La NetscouadeRetour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La NetscouadeLaNetscouade
 
Les marques vont elles devenir les premiers médias ?
Les marques vont elles devenir les premiers médias ?Les marques vont elles devenir les premiers médias ?
Les marques vont elles devenir les premiers médias ?LaNetscouade
 
La Netscouade presque en direct de SXSW 2014
La Netscouade presque en direct de SXSW 2014La Netscouade presque en direct de SXSW 2014
La Netscouade presque en direct de SXSW 2014LaNetscouade
 
Media & Digital Revolution (Benoit Thieulin, La Netscouade)
Media & Digital Revolution (Benoit Thieulin, La Netscouade)Media & Digital Revolution (Benoit Thieulin, La Netscouade)
Media & Digital Revolution (Benoit Thieulin, La Netscouade)LaNetscouade
 
Présentation de drupal
Présentation de drupalPrésentation de drupal
Présentation de drupalLaNetscouade
 
Ecrire pour le web smw
Ecrire pour le web   smwEcrire pour le web   smw
Ecrire pour le web smwLaNetscouade
 
La Gazette des Plateformes #5
La Gazette des Plateformes #5La Gazette des Plateformes #5
La Gazette des Plateformes #5LaNetscouade
 
La gazette des plateformes #4
La gazette des plateformes #4La gazette des plateformes #4
La gazette des plateformes #4LaNetscouade
 
Explication de la faille du Figaro
Explication de la faille du FigaroExplication de la faille du Figaro
Explication de la faille du FigaroLaNetscouade
 
[Veille] La gazette des plateformes #1
[Veille] La gazette des plateformes #1[Veille] La gazette des plateformes #1
[Veille] La gazette des plateformes #1LaNetscouade
 

Más de LaNetscouade (14)

Cahier de tendances santé - La Netscouade
Cahier de tendances santé - La NetscouadeCahier de tendances santé - La Netscouade
Cahier de tendances santé - La Netscouade
 
Restauration : l'innovation passe à table
Restauration : l'innovation passe à tableRestauration : l'innovation passe à table
Restauration : l'innovation passe à table
 
Dossier de presse - Personal Democracy Forum France 2015
Dossier de presse - Personal Democracy Forum France 2015Dossier de presse - Personal Democracy Forum France 2015
Dossier de presse - Personal Democracy Forum France 2015
 
Communiqué de presse - Personal Democracy Forum France 2015
Communiqué de presse - Personal Democracy Forum France 2015Communiqué de presse - Personal Democracy Forum France 2015
Communiqué de presse - Personal Democracy Forum France 2015
 
Retour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La NetscouadeRetour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La Netscouade
 
Les marques vont elles devenir les premiers médias ?
Les marques vont elles devenir les premiers médias ?Les marques vont elles devenir les premiers médias ?
Les marques vont elles devenir les premiers médias ?
 
La Netscouade presque en direct de SXSW 2014
La Netscouade presque en direct de SXSW 2014La Netscouade presque en direct de SXSW 2014
La Netscouade presque en direct de SXSW 2014
 
Media & Digital Revolution (Benoit Thieulin, La Netscouade)
Media & Digital Revolution (Benoit Thieulin, La Netscouade)Media & Digital Revolution (Benoit Thieulin, La Netscouade)
Media & Digital Revolution (Benoit Thieulin, La Netscouade)
 
Présentation de drupal
Présentation de drupalPrésentation de drupal
Présentation de drupal
 
Ecrire pour le web smw
Ecrire pour le web   smwEcrire pour le web   smw
Ecrire pour le web smw
 
La Gazette des Plateformes #5
La Gazette des Plateformes #5La Gazette des Plateformes #5
La Gazette des Plateformes #5
 
La gazette des plateformes #4
La gazette des plateformes #4La gazette des plateformes #4
La gazette des plateformes #4
 
Explication de la faille du Figaro
Explication de la faille du FigaroExplication de la faille du Figaro
Explication de la faille du Figaro
 
[Veille] La gazette des plateformes #1
[Veille] La gazette des plateformes #1[Veille] La gazette des plateformes #1
[Veille] La gazette des plateformes #1
 

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