Cette présentation a été donnée dans le cadre du Drupalcamp Paris 2013 du 21 au 23 juin (http://paris2013.drupalcamp.fr/programme-paris).
Présentation par Vincent Maucorps (https://twitter.com/vmaucorps)
Un projet Drupal se mène-t-il de la même façon que n'importe quel projet?
A travers l'expérience de Smile sur de nombreux projets réalisés avec Drupal mais également avec d'autres CMS, nous tenterons de répodre à cette question à travers les sujets suivants:
Thèming Drupal: à quel moment faire intervenir les monteurs HTML
Réalisation: Configuration vs. Développement
Livraison: Bien gérer ses déploiements Drupal
Relation client: Drupal, un atout pour la visibilité?
La bonne méthodologie pour un projet Drupal: Agile vs. Cycle en V
13. 13
SPECIFICATIONS
Spécifications techniques
• Choisir parmi les multiples options
• Fixer les règles de nommage
• Prévoir les éléments structurants
Spécifications fonctionnelles
• Pédagogie client renforcée
• Conseil sur le périmètre fonctionnel des modules
14. 14
QUAND PLANIFIER LA PHASE DE MONTAGE
Comme pour n'importe quel projet
• Faire le montage HTML en amont
• Intégrer le montage dans les développements
Améliorer la démarche
• Chaque développeur prend en charge une fonctionnalité
de A à Z, montage / thème compris
Stratégie optimum
• Réaliser les développements fonctionnels d'abord
• Création du thème ensuite
16. 16
DÉVELOPPEMENT RAD-LIKE
Les bons côtés du développement RAD
• Prototypage rapide de fonctionnalités
• Richesse des composants à assembler
Sans les inconvénients
• Aucune adhérence à un éditeur
• Composants open source, maintenus par la communauté
• Respect des standards et bonnes pratiques
Points d'attention
• Industrialisation / Packaging
• Optimisation des performances
24. 24
VERS UN DEPLOIEMENT INDUSTRIALISÉ
Premières expériences avec Features
• Trop de confiance dans le module
• Packaging incomplet
Meilleures versions et meilleure maîtrise
• Module plus fiable
• Suivi rigoureux du cahier de livraison
• Tout est consigné dans le wiki du projet
Améliorer les processus avec Drush
• Drush pour mise à niveau des postes de développement
• Outil maison basé sur Phing pour les déploiements
(s'appuie sur Drush pour les interactions avec Drupal)
29. 29
MÉTHODE AGILE, AU FORFAIT
Importance de voir une fonctionnalité comme un tout
• Fonctionnalité = configuration + code métier + permissions + etc
• Même philosophie que le module Features
Fonctionnement en équipe intégrée à privilégier,
notamment :
• En phase de recette pour chaque sprint
• Sur un sprint d'ajustement dédié à la recette en fin de projet
Privilégier des sprints courts (2 semaines)
• Éviter la divergence fonctionnelle
• Implémentation et validation fonctionnalité par fonctionnalité
31. 31
RETOUR D'EXPÉRIENCE
Points clés du projet
• Un espace partenaire sécurisé, différents tunnels de souscription
• Suivi des comptes
• 30 000 utilisateurs
• Import / export de flux
• Site accessible et multi-devices
• 4 mois / 500 jours-homme
Enjeux du projet
• Délais de réalisation
• Meilleure ergonomie et utilisabilité des tunnels de souscription
• Évolutivité, pragmatisme technique et performance
• Méthodologie, accompagnement au changement et innovation
32. 32
RETOUR D'EXPÉRIENCE
Gestion de projet Agile
• Phase de conception ergonomique
• Cadrage technique
• Spécifications affinées de sprint en sprint
• Sprint de 3 semaines, recette client au fil de l'eau
• Montage HTML en fin de projet
Bilan
• Délais tenus
• Peu d'allers-retours sur la partie graphique
• Marge de progression sur la gestion des déploiements
35. 35
DES RISQUES PARTAGES
Développement en régie
• Facturation au temps passé
Contrat cadre à bons de commandes
• Cadrage initial
• Compléments de cadrage à la demande
• Facturation par Sprint
Engagements contractuels
• Critères de réussite d'un sprint
• Pénaliser les échecs consécutifs
38. 38
DRUPAL UN PROJET COMME LES AUTRES ?
Points de vigilance
• Équipe : Il y a plusieurs façons d'être « expert »
Drupal
• Gestion des déploiements
Particularité des solutions à « Thème »
• Bien planifier la phase de montage
Opportunité
• Anéantir l'effet tunnel