SlideShare une entreprise Scribd logo
Les clés de la réussite d’un projet
Drupal
Marine Soroko, Quentin Delance
Sommaire


    partie 1   Pourquoi Drupal est particulier
    partie 2   Les clés d’un démarrage projet réussi
    partie 3   Les bonnes pratiques de développement
    partie 4   Les outils et méthodes pour maintenir dans la
               durée un projet Drupal




2
Pourquoi Drupal est si
    particulier




3    titre de la présentation
Un outil très riche…



       La force de la
        communauté et la
        richesse modulaire
       Des besoins de base
        non couverts par le
        core
       Un outil extensible avec
        un certain niveau
        d’abstraction




4
Des méthodes de
    développement
    particulières
       Utilisation de l’API et de
        hooks
       Potentiellement très peu
        de développement
       Des contraintes
        structurelles fortes




5
Une multitude de
    projets possibles


       Internet
       Communautaires
       Extranet
       Métier
       Ecommerce
       …




6
La diversité Drupal



       A compléter




7
La diversité Drupal




8
La diversité Drupal




9
La diversité Drupal




10
La diversité Drupal




11
Les clés d’un départ réussi




12    titre de la présentation
Les règles d’or de la conception Drupal



     4 points clefs
     1     Connaître
           Drupal           2    Eviter l’usine
                                 à gaz




     3     Penser
           l’architecture   4    Utiliser la
                                 communauté


13
Vocabulaire et
     contraintes à connaître


        Entités
        Types de contenu
        Blocs
        Vues
        Utilisateurs
        Menus
        Taxonomies
        Panels
        Contextes


14
Des spécifications made in Drupal


    Penser les spécifications avec les
     contraintes et limites des modules
     utilisés
    Définir tous les types de contenu
    Définir toutes les vues
    Définir les méthodes de gestion
     d’arborescence
    Préciser les adaptations BO
    Adapter la gestion d’utilisateurs et
     workflows au fonctionnement
     Drupalien



15
 Axure   or not ?




16
Rester sur du standard



        L’extensibilité permet d’utiliser Drupal comme CMF
        Plus puissant que d’autres CMS
        Pas un « vrai » framework au même titre que Zend ou
         Symfony


         Nécessité de s’adapter à la conception et au
         fonctionnement de Drupal




17
Choix des modules 1/2



        + de 5 000 modules
        Attention à la qualité
        Redondance des
         fonctionnalités




18
Choix des modules 2/2



        Popularité
        Dernières mises à jour et leurs fréquences
        Quantité des « issues »




19
Choisir la bonne version de Drupal



        2 versions Drupal supportées à un instant t
        API incompatibles entre versions majeures
        Ne pas adopter trop tôt une nouvelle version Drupal




20
Les indicateurs de la charge de
     développement


        Combien de gabarits
        Combien de vues
        Combien de panels / context
        Quels modules particuliers
        Quels développements
         spécifiques




21
Les points de vigilance graphique et ergonomiques



        Une structuration particulière du HTML
        Des vues contraintes
        Des contextes particuliers
        Une ergonomie FO pas toujours adaptée
        Optimiser le BO ?




22
Les bonnes pratiques de
     développement




23   titre de la présentation
La bonne composition d’une équipe



        … selon la complexité du projet


        Développeurs Drupal
        Thémeur
        Profils fonctionnels pour les specs/tests d’intégration
        Profil architecte sur sujets cache/perf/scripts/https


        Attention à la courbe d’apprentissage Drupal !




24
Les règles d’or du développement



        Ne pas toucher au core
        Respecter les normes de codage Drupal
        Requêtes et fonctionnalités hors du template
        Distinguer le code custom des modules communautaires
        Limiter les modification des modules communautaires
             – Suivre les patchs créés ou appliqués
             – Soumettre les patchs créés à la communauté (« patch
               management »)
        Utiliser les outils disponibles (Coder, Security Review, Acquia
         Insight) pour s’améliorer
        …

25
Une répartition des tâches avec peu de développement



        Paramétrage & configuration
        Intégration CSS
        Tests
        Et un peu de développement




26
Le bon environnement de développement



        SVN / Git
        Outil de développement bien configuré
        Plateformes : Prod / Pré-prod / Test / Dév
        Déploiement
        Stratégie de test




27
La méthodologie de tests



        Outillage qualité et patch management
        Tests unitaires avec SimpleTest ?
        Tests d’intégration manuels ?
        Jeu de données (BD + « files ») de référence


      Les outils de tests avec Drupal ne sont pas simples à
      exploiter. Les tests avec Drupal sont un point de charge
      important




28
Optimiser la sécurité et les performances



        Activer les caches Drupal
        Agréger les contenus statiques (CSS/JS) et toutes les autres
         bonnes patiques Web (sprites, tuner BD, …)
        Ne pas logger en base de données
        Déporter le search sur un composant externe Apache Solr
        Mettre en place reverse proxy cache Varnish
        Mettre en place APC
        Faire des tests de performance(Jmeter)
        Utiliser les nombreux outils disponibles
         (Yslow, Pagespeed, http://webpagetest.com) pour
         s’améliorer
29
Mettre en place la bonne architecture



        Architecture LAMP
        A compléter avec Varnish voire Memcache (perf) ou Solr
         (recherche)
        Intégrer la stratégie de cache à la conception
        S’assurer l’hébergeur maîtrise le web et LAMP en particulier
        Mettre en place le bon nombre de plateformes tôt dans le
         projet
        Rapprocher l’environnement de développement sur celui de
         production




30
Les outils et méthodes
     pour maintenir dans
     la durée



31
S’assurer du bon
     fonctionnement


        Vérifier les logs
        Mettre en place le monitoring
         de l’ensemble de
         l’architecture
        Suivre les mises à jour des
         modules et alertes de sécurité
        Disposer d’une procédure de
         livraison en urgence




32
Stockage des données Drupal




                               BizTalk
                               Server




                  Code      Base de données   « files »


        Drupal stocke dans une même base de données le contenu
         et la configuration
         Complexifie les montées en version

33
Gérer les montées de version 1/2



        Impossible de restaurer la base de données d’un
         environnement à l’autre


                                  Dev
     Content        Config                   Content       Config
       test          v2                        test         v2




     Content        Config                   Content       Config
      prod           v1           Prod        prod          v2



         Les montées en version doivent se faire sans livrer la base
         de données
34
Gérer les montées de version 2/2



        Implémenter les modifications de configuration via code
        Exporter les objets (Views, Panels etc) pour les réimporter via
         l’API Drupal
        Activer les changements via hook_update lors du
         déploiement
        Possibilité de packager des fonctionnalités via module
         Features
         Processus délicat à valider avant d’arriver en production




35   titre de la présentation
Industrialiser les livraisons



        Utiliser drush (Drupal Shell),
         l’outil en ligne de
         commande
        Fournir script d’installation
         (appelant Drush…)
        Valider les montées en
         version via le nombre de
         plateformes adéquat
        Il faut être en capacité de
         relivrer vite de manière
         sécurisée



36   titre de la présentation
merci




37

Contenu connexe

Tendances

Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
Core-Techs
 
Trucs & astuces drupal
Trucs & astuces drupalTrucs & astuces drupal
Trucs & astuces drupal
Core-Techs
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
MD DAY
 
Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cms
StrasWeb
 
Les systèmes de gestion de contenus des sites Internet ou CMS
Les systèmes de gestion de contenus des sites Internet ou CMSLes systèmes de gestion de contenus des sites Internet ou CMS
Les systèmes de gestion de contenus des sites Internet ou CMS
Ardesi Midi-Pyrénées
 
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI AlsaceIndustrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
Actency
 
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
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to market
michael_bailly
 
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Vis ma vie de chef de projet Drupal | Drupagora 2013, ParisVis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Actency
 
Retour d'experience sur drupal 8
Retour d'experience sur drupal 8Retour d'experience sur drupal 8
Retour d'experience sur drupal 8
Core-Techs
 
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
BenJBmC
 
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
Frédéric Vandenbriele
 
Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8
Microsoft
 
Questions Reponses Accessibilite
Questions Reponses AccessibiliteQuestions Reponses Accessibilite
Questions Reponses Accessibilite
levy aurélien
 
Conférence Gestion de projet digital
Conférence Gestion de projet digitalConférence Gestion de projet digital
Conférence Gestion de projet digital
Core-Techs
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
Temimi Heithem
 
RGAA choix initiaux et cadre general deploiement
RGAA choix initiaux et cadre general deploiementRGAA choix initiaux et cadre general deploiement
RGAA choix initiaux et cadre general deploiement
levy aurélien
 
Omada live plaquette FR
Omada live plaquette FROmada live plaquette FR
Omada live plaquette FR
Upsys Maroc
 

Tendances (20)

Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
 
Solutions Linux 2010
Solutions Linux 2010Solutions Linux 2010
Solutions Linux 2010
 
Trucs & astuces drupal
Trucs & astuces drupalTrucs & astuces drupal
Trucs & astuces drupal
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
 
Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cms
 
Les systèmes de gestion de contenus des sites Internet ou CMS
Les systèmes de gestion de contenus des sites Internet ou CMSLes systèmes de gestion de contenus des sites Internet ou CMS
Les systèmes de gestion de contenus des sites Internet ou CMS
 
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI AlsaceIndustrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
Industrialisation de Drupal : Usines à Sites, retour sur le cas CCI Alsace
 
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 ...
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to market
 
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Vis ma vie de chef de projet Drupal | Drupagora 2013, ParisVis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
 
Retour d'experience sur drupal 8
Retour d'experience sur drupal 8Retour d'experience sur drupal 8
Retour d'experience sur drupal 8
 
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
CMS, Framework : à l'origine de nouvelles pratiques et de nouveaux enjeux dan...
 
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
 
Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8
 
Questions Reponses Accessibilite
Questions Reponses AccessibiliteQuestions Reponses Accessibilite
Questions Reponses Accessibilite
 
Conférence Gestion de projet digital
Conférence Gestion de projet digitalConférence Gestion de projet digital
Conférence Gestion de projet digital
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Cms oss-27012006
Cms oss-27012006Cms oss-27012006
Cms oss-27012006
 
RGAA choix initiaux et cadre general deploiement
RGAA choix initiaux et cadre general deploiementRGAA choix initiaux et cadre general deploiement
RGAA choix initiaux et cadre general deploiement
 
Omada live plaquette FR
Omada live plaquette FROmada live plaquette FR
Omada live plaquette FR
 

En vedette

Choix strategique d'un CMS
Choix strategique d'un CMSChoix strategique d'un CMS
Choix strategique d'un CMS
Olivier Dommange
 
Webdesign le graphisme et ses principes
Webdesign le graphisme et ses principesWebdesign le graphisme et ses principes
Webdesign le graphisme et ses principes
Olivier Dommange
 
Le web évolue. Et vous ?
Le web évolue. Et vous ?Le web évolue. Et vous ?
Le web évolue. Et vous ?
Aymeric
 
Certification licenses
Certification licensesCertification licenses
Certification licenses
Rudi Lippert
 
Openday 28 Janvier
Openday 28 JanvierOpenday 28 Janvier
Openday 28 Janvier
Core-Techs
 
Vectorialisme et production coopérative
Vectorialisme et production coopérativeVectorialisme et production coopérative
Vectorialisme et production coopérative
herve.info.unicaen.fr
 
Trek Telecom Edition 2008
Trek Telecom Edition 2008Trek Telecom Edition 2008
Trek Telecom Edition 2008
Aymeric
 
The story of a guy named Walter Cuzin
The story of a guy named Walter CuzinThe story of a guy named Walter Cuzin
The story of a guy named Walter Cuzin
Walter Cuzin
 
tierisch
tierischtierisch
tierisch
pampam
 
Drupal E Zpublish
Drupal E ZpublishDrupal E Zpublish
Drupal E Zpublish
Core-Techs
 
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
Core-Techs
 
Une denrée précieuse
Une denrée précieuseUne denrée précieuse
Une denrée précieuse
cecilegf
 
Atelier Mobile pour les professionnels du tourisme
Atelier Mobile pour les professionnels du tourismeAtelier Mobile pour les professionnels du tourisme
Atelier Mobile pour les professionnels du tourisme
Aymeric
 
Paris Web
Paris WebParis Web
Paris Web
cyrildoussin
 
[T.A.V.] Cybernator el hombre informático
[T.A.V.] Cybernator el hombre informático[T.A.V.] Cybernator el hombre informático
[T.A.V.] Cybernator el hombre informático
Instituto Industrial Luis A. Huergo
 
Diapo c2 i
Diapo c2 iDiapo c2 i
Diapo c2 i
Toulouroux
 
Plic plac ploc album
Plic plac ploc albumPlic plac ploc album
Plic plac ploc album
MarineDenois
 

En vedette (20)

Choix strategique d'un CMS
Choix strategique d'un CMSChoix strategique d'un CMS
Choix strategique d'un CMS
 
Webdesign le graphisme et ses principes
Webdesign le graphisme et ses principesWebdesign le graphisme et ses principes
Webdesign le graphisme et ses principes
 
Le web évolue. Et vous ?
Le web évolue. Et vous ?Le web évolue. Et vous ?
Le web évolue. Et vous ?
 
Certification licenses
Certification licensesCertification licenses
Certification licenses
 
Openday 28 Janvier
Openday 28 JanvierOpenday 28 Janvier
Openday 28 Janvier
 
Vectorialisme et production coopérative
Vectorialisme et production coopérativeVectorialisme et production coopérative
Vectorialisme et production coopérative
 
Trek Telecom Edition 2008
Trek Telecom Edition 2008Trek Telecom Edition 2008
Trek Telecom Edition 2008
 
The story of a guy named Walter Cuzin
The story of a guy named Walter CuzinThe story of a guy named Walter Cuzin
The story of a guy named Walter Cuzin
 
tierisch
tierischtierisch
tierisch
 
LED+LCD
LED+LCDLED+LCD
LED+LCD
 
Drupal E Zpublish
Drupal E ZpublishDrupal E Zpublish
Drupal E Zpublish
 
Cert 01
Cert 01Cert 01
Cert 01
 
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
Drupal Commerce / Wordpress Commerce - Les nouvelles alternatives...
 
le picotin
le picotinle picotin
le picotin
 
Une denrée précieuse
Une denrée précieuseUne denrée précieuse
Une denrée précieuse
 
Atelier Mobile pour les professionnels du tourisme
Atelier Mobile pour les professionnels du tourismeAtelier Mobile pour les professionnels du tourisme
Atelier Mobile pour les professionnels du tourisme
 
Paris Web
Paris WebParis Web
Paris Web
 
[T.A.V.] Cybernator el hombre informático
[T.A.V.] Cybernator el hombre informático[T.A.V.] Cybernator el hombre informático
[T.A.V.] Cybernator el hombre informático
 
Diapo c2 i
Diapo c2 iDiapo c2 i
Diapo c2 i
 
Plic plac ploc album
Plic plac ploc albumPlic plac ploc album
Plic plac ploc album
 

Similaire à Drupagora - Les clés de la réussite d'un projet Drupal

Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
Adyax
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
Laurent Broudoux
 
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Scaleway
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
YounesOuladSayad1
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
Michael Bertocchi
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
YounesOuladSayad1
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
The Incredible Automation Day
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
Jean-Marc Fontaine
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...
Laurent Goujon
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
Stephane Woillez
 
Les framework mvc
Les framework mvcLes framework mvc
Les framework mvc
Alloin Théo
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
JEAN-GUILLAUME DUJARDIN
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
Sébastien Levert
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
SUSE
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
ODC Orange Developer Center
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
Michel-Marie Maudet
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
LaNetscouade
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
Christophe Villeneuve
 

Similaire à Drupagora - Les clés de la réussite d'un projet Drupal (20)

Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
Les framework mvc
Les framework mvcLes framework mvc
Les framework mvc
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 

Plus de Core-Techs

Usine à site
Usine à siteUsine à site
Usine à site
Core-Techs
 
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
Core-Techs
 
Webinar : Les enjeux du moteur de recherche
Webinar : Les enjeux du moteur de rechercheWebinar : Les enjeux du moteur de recherche
Webinar : Les enjeux du moteur de recherche
Core-Techs
 
10 méthodes UX appliquées à votre projet Web
10 méthodes UX appliquées à votre projet Web10 méthodes UX appliquées à votre projet Web
10 méthodes UX appliquées à votre projet Web
Core-Techs
 
Quelle solution technique pour un projet web ?
Quelle solution technique pour un projet web ?Quelle solution technique pour un projet web ?
Quelle solution technique pour un projet web ?
Core-Techs
 
Les moteurs de recherche pour Drupal
Les moteurs de recherche pour DrupalLes moteurs de recherche pour Drupal
Les moteurs de recherche pour Drupal
Core-Techs
 
Le clés d'une stratégie éditoriale réussie
Le clés d'une stratégie éditoriale réussieLe clés d'une stratégie éditoriale réussie
Le clés d'une stratégie éditoriale réussie
Core-Techs
 
Content marketing : l'importance du contenu 2
Content marketing : l'importance du contenu 2Content marketing : l'importance du contenu 2
Content marketing : l'importance du contenu 2
Core-Techs
 
Cahier des charges avril 2015
Cahier des charges   avril 2015Cahier des charges   avril 2015
Cahier des charges avril 2015
Core-Techs
 
Les 10 erreurs d'un projet web déc 2014
Les 10 erreurs d'un projet web   déc 2014Les 10 erreurs d'un projet web   déc 2014
Les 10 erreurs d'un projet web déc 2014
Core-Techs
 
Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de...
Drupagora 2014 :  Reprendre un projet avec Drupal quand on a des centaines de...Drupagora 2014 :  Reprendre un projet avec Drupal quand on a des centaines de...
Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de...
Core-Techs
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
Core-Techs
 
Cms ecosystème etat des lieux et tendances
Cms ecosystème   etat des lieux et tendancesCms ecosystème   etat des lieux et tendances
Cms ecosystème etat des lieux et tendances
Core-Techs
 
Solution de recherche Drupal
Solution de recherche DrupalSolution de recherche Drupal
Solution de recherche Drupal
Core-Techs
 
Reprise projet Drupal Drupagora2013
Reprise projet Drupal Drupagora2013Reprise projet Drupal Drupagora2013
Reprise projet Drupal Drupagora2013
Core-Techs
 
Drupal Ecommerce - fonctionnalités et atouts
Drupal Ecommerce - fonctionnalités et atoutsDrupal Ecommerce - fonctionnalités et atouts
Drupal Ecommerce - fonctionnalités et atouts
Core-Techs
 
Démonstration Drupal Commons !
Démonstration Drupal Commons ! Démonstration Drupal Commons !
Démonstration Drupal Commons !
Core-Techs
 
Wordpress Ecommerce - Core-Techs
Wordpress Ecommerce - Core-TechsWordpress Ecommerce - Core-Techs
Wordpress Ecommerce - Core-Techs
Core-Techs
 
Drupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec DrupalDrupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec Drupal
Core-Techs
 
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
Core-Techs
 

Plus de Core-Techs (20)

Usine à site
Usine à siteUsine à site
Usine à site
 
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
3 Outils et Méthodes pour faire le bon choix de votre solution Ecommerce
 
Webinar : Les enjeux du moteur de recherche
Webinar : Les enjeux du moteur de rechercheWebinar : Les enjeux du moteur de recherche
Webinar : Les enjeux du moteur de recherche
 
10 méthodes UX appliquées à votre projet Web
10 méthodes UX appliquées à votre projet Web10 méthodes UX appliquées à votre projet Web
10 méthodes UX appliquées à votre projet Web
 
Quelle solution technique pour un projet web ?
Quelle solution technique pour un projet web ?Quelle solution technique pour un projet web ?
Quelle solution technique pour un projet web ?
 
Les moteurs de recherche pour Drupal
Les moteurs de recherche pour DrupalLes moteurs de recherche pour Drupal
Les moteurs de recherche pour Drupal
 
Le clés d'une stratégie éditoriale réussie
Le clés d'une stratégie éditoriale réussieLe clés d'une stratégie éditoriale réussie
Le clés d'une stratégie éditoriale réussie
 
Content marketing : l'importance du contenu 2
Content marketing : l'importance du contenu 2Content marketing : l'importance du contenu 2
Content marketing : l'importance du contenu 2
 
Cahier des charges avril 2015
Cahier des charges   avril 2015Cahier des charges   avril 2015
Cahier des charges avril 2015
 
Les 10 erreurs d'un projet web déc 2014
Les 10 erreurs d'un projet web   déc 2014Les 10 erreurs d'un projet web   déc 2014
Les 10 erreurs d'un projet web déc 2014
 
Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de...
Drupagora 2014 :  Reprendre un projet avec Drupal quand on a des centaines de...Drupagora 2014 :  Reprendre un projet avec Drupal quand on a des centaines de...
Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de...
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
 
Cms ecosystème etat des lieux et tendances
Cms ecosystème   etat des lieux et tendancesCms ecosystème   etat des lieux et tendances
Cms ecosystème etat des lieux et tendances
 
Solution de recherche Drupal
Solution de recherche DrupalSolution de recherche Drupal
Solution de recherche Drupal
 
Reprise projet Drupal Drupagora2013
Reprise projet Drupal Drupagora2013Reprise projet Drupal Drupagora2013
Reprise projet Drupal Drupagora2013
 
Drupal Ecommerce - fonctionnalités et atouts
Drupal Ecommerce - fonctionnalités et atoutsDrupal Ecommerce - fonctionnalités et atouts
Drupal Ecommerce - fonctionnalités et atouts
 
Démonstration Drupal Commons !
Démonstration Drupal Commons ! Démonstration Drupal Commons !
Démonstration Drupal Commons !
 
Wordpress Ecommerce - Core-Techs
Wordpress Ecommerce - Core-TechsWordpress Ecommerce - Core-Techs
Wordpress Ecommerce - Core-Techs
 
Drupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec DrupalDrupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec Drupal
 
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
Salon Solutions Linux 2012 - Etat de l'art sur les Frameworks et CMS Open Sou...
 

Drupagora - Les clés de la réussite d'un projet Drupal

  • 1. Les clés de la réussite d’un projet Drupal Marine Soroko, Quentin Delance
  • 2. Sommaire partie 1 Pourquoi Drupal est particulier partie 2 Les clés d’un démarrage projet réussi partie 3 Les bonnes pratiques de développement partie 4 Les outils et méthodes pour maintenir dans la durée un projet Drupal 2
  • 3. Pourquoi Drupal est si particulier 3 titre de la présentation
  • 4. Un outil très riche…  La force de la communauté et la richesse modulaire  Des besoins de base non couverts par le core  Un outil extensible avec un certain niveau d’abstraction 4
  • 5. Des méthodes de développement particulières  Utilisation de l’API et de hooks  Potentiellement très peu de développement  Des contraintes structurelles fortes 5
  • 6. Une multitude de projets possibles  Internet  Communautaires  Extranet  Métier  Ecommerce  … 6
  • 7. La diversité Drupal  A compléter 7
  • 12. Les clés d’un départ réussi 12 titre de la présentation
  • 13. Les règles d’or de la conception Drupal 4 points clefs 1 Connaître Drupal 2 Eviter l’usine à gaz 3 Penser l’architecture 4 Utiliser la communauté 13
  • 14. Vocabulaire et contraintes à connaître  Entités  Types de contenu  Blocs  Vues  Utilisateurs  Menus  Taxonomies  Panels  Contextes 14
  • 15. Des spécifications made in Drupal  Penser les spécifications avec les contraintes et limites des modules utilisés  Définir tous les types de contenu  Définir toutes les vues  Définir les méthodes de gestion d’arborescence  Préciser les adaptations BO  Adapter la gestion d’utilisateurs et workflows au fonctionnement Drupalien 15
  • 16.  Axure or not ? 16
  • 17. Rester sur du standard  L’extensibilité permet d’utiliser Drupal comme CMF  Plus puissant que d’autres CMS  Pas un « vrai » framework au même titre que Zend ou Symfony   Nécessité de s’adapter à la conception et au fonctionnement de Drupal 17
  • 18. Choix des modules 1/2  + de 5 000 modules  Attention à la qualité  Redondance des fonctionnalités 18
  • 19. Choix des modules 2/2  Popularité  Dernières mises à jour et leurs fréquences  Quantité des « issues » 19
  • 20. Choisir la bonne version de Drupal  2 versions Drupal supportées à un instant t  API incompatibles entre versions majeures  Ne pas adopter trop tôt une nouvelle version Drupal 20
  • 21. Les indicateurs de la charge de développement  Combien de gabarits  Combien de vues  Combien de panels / context  Quels modules particuliers  Quels développements spécifiques 21
  • 22. Les points de vigilance graphique et ergonomiques  Une structuration particulière du HTML  Des vues contraintes  Des contextes particuliers  Une ergonomie FO pas toujours adaptée  Optimiser le BO ? 22
  • 23. Les bonnes pratiques de développement 23 titre de la présentation
  • 24. La bonne composition d’une équipe  … selon la complexité du projet  Développeurs Drupal  Thémeur  Profils fonctionnels pour les specs/tests d’intégration  Profil architecte sur sujets cache/perf/scripts/https  Attention à la courbe d’apprentissage Drupal ! 24
  • 25. Les règles d’or du développement  Ne pas toucher au core  Respecter les normes de codage Drupal  Requêtes et fonctionnalités hors du template  Distinguer le code custom des modules communautaires  Limiter les modification des modules communautaires – Suivre les patchs créés ou appliqués – Soumettre les patchs créés à la communauté (« patch management »)  Utiliser les outils disponibles (Coder, Security Review, Acquia Insight) pour s’améliorer  … 25
  • 26. Une répartition des tâches avec peu de développement  Paramétrage & configuration  Intégration CSS  Tests  Et un peu de développement 26
  • 27. Le bon environnement de développement  SVN / Git  Outil de développement bien configuré  Plateformes : Prod / Pré-prod / Test / Dév  Déploiement  Stratégie de test 27
  • 28. La méthodologie de tests  Outillage qualité et patch management  Tests unitaires avec SimpleTest ?  Tests d’intégration manuels ?  Jeu de données (BD + « files ») de référence  Les outils de tests avec Drupal ne sont pas simples à exploiter. Les tests avec Drupal sont un point de charge important 28
  • 29. Optimiser la sécurité et les performances  Activer les caches Drupal  Agréger les contenus statiques (CSS/JS) et toutes les autres bonnes patiques Web (sprites, tuner BD, …)  Ne pas logger en base de données  Déporter le search sur un composant externe Apache Solr  Mettre en place reverse proxy cache Varnish  Mettre en place APC  Faire des tests de performance(Jmeter)  Utiliser les nombreux outils disponibles (Yslow, Pagespeed, http://webpagetest.com) pour s’améliorer 29
  • 30. Mettre en place la bonne architecture  Architecture LAMP  A compléter avec Varnish voire Memcache (perf) ou Solr (recherche)  Intégrer la stratégie de cache à la conception  S’assurer l’hébergeur maîtrise le web et LAMP en particulier  Mettre en place le bon nombre de plateformes tôt dans le projet  Rapprocher l’environnement de développement sur celui de production 30
  • 31. Les outils et méthodes pour maintenir dans la durée 31
  • 32. S’assurer du bon fonctionnement  Vérifier les logs  Mettre en place le monitoring de l’ensemble de l’architecture  Suivre les mises à jour des modules et alertes de sécurité  Disposer d’une procédure de livraison en urgence 32
  • 33. Stockage des données Drupal BizTalk Server Code Base de données « files »  Drupal stocke dans une même base de données le contenu et la configuration   Complexifie les montées en version 33
  • 34. Gérer les montées de version 1/2  Impossible de restaurer la base de données d’un environnement à l’autre Dev Content Config Content Config test v2 test v2 Content Config Content Config prod v1 Prod prod v2   Les montées en version doivent se faire sans livrer la base de données 34
  • 35. Gérer les montées de version 2/2  Implémenter les modifications de configuration via code  Exporter les objets (Views, Panels etc) pour les réimporter via l’API Drupal  Activer les changements via hook_update lors du déploiement  Possibilité de packager des fonctionnalités via module Features   Processus délicat à valider avant d’arriver en production 35 titre de la présentation
  • 36. Industrialiser les livraisons  Utiliser drush (Drupal Shell), l’outil en ligne de commande  Fournir script d’installation (appelant Drush…)  Valider les montées en version via le nombre de plateformes adéquat  Il faut être en capacité de relivrer vite de manière sécurisée 36 titre de la présentation