SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
La qualité au-delà du code
               Forum PHP 2012




                    1
Jean-Marc Fontaine
Passionné de web depuis 1996, de PHP depuis 2000 et de
musique depuis 1977



  ‣ Consultant PHP chez Alter Way
  ‣ Ex-Président de l’AFUP
  ‣ Co-Auteur du livre blanc
    «Industrialisation PHP»
  ‣ Auteur du blog
    industrialisation-php.com

                                                         2
La qualité au-delà du code




                             3
“C'est seulement quand l'hiver est arrivé
qu'on s'aperçoit que le pin et le cyprès
perdent leurs feuilles après tous les autres
arbres”
                                      Confucius
                                                  4
70%
Environ 70% du temps
consacré à un applicatif l’est
dans sa maintenance




                                 5
Compréhensibilité   1   Portabilité      5
Cohérence           2   Testabilité      6
Exhaustivité        3   Fiabilité        7
Concision           4   Maintenabilité   8

                                             6
Compréhensibilité
                    7
Documentation
La documentation doit être de qualité, exhaustive et
à jour




                                                       8
Commentaires
Les commentaires doivent compléter le code pas le
paraphraser




                                                    9
Complexibilité
Toute chose devrait être rendue aussi simple que
possible, mais pas plus. - Albert Einstein




                                                   10
Mise en forme du code
Faire en sorte que la forme ne vienne pas perturber
la compréhension du fond




                                                      11
Cohérence
            12
Nommage
Le nommage des éléments doit être logique,
cohérent et pertinent




                                             13
Documentation
Le style et la langue de la documentation doivent
être uniformes d’un bout à l’autre




                                                    14
Mise en forme du code
L’ensemble du code doit suivre les règles de codage.
Pas d’exception !




                                                       15
Exhaustivité
               16
Application complète
L’application est-elle totalement fonctionnelle ?




                                                    17
Eléments temporaires
Les éléments temporaires doivent être absent de la
version finale




                                                     18
Interfaces externes
Est-ce que les interfaces externes sont disponibles ?




                                                        19
Données
Est-ce que les données nécessaires sont présentes ?




                                                      20
Concision
            21
22
Documentation
La documentation doit être complète mais éviter les
longueurs inutiles




                                                      23
Libraries
Chaque librairie présente doit avoir son utilité




                                                   24
Code mort
Le code mort augmente inutilement la taille de
l’application




                                                 25
Code dupliqué
Le code dupliqué doit être factorisé pour simplifier
sa maintenance




                                                      26
Portabilité
              27
Nouveaux environnements
La configuration de l’application doit permettre de
la déployer facilement sur de nouveaux
environnements




                                                     28
Dépendances logicielles
Avoir un minimum de dépendances logicielles
permet de diffuser plus largement son application




                                                    29
Testabilité
              30
Critères d’acceptation
Pour tester une application il faut connaître les
critères d’acceptation du client




                                                    31
Séparation des responsabilités
Une application dont les responsabilités sont
clairement séparées pourra évoluer plus facilement




                                                     32
Code testable
Un code fonctionnel n’est pas forcément un code
testable




                                                  33
Injection de dépendance
L’injection de dépendance permet de découpler le code




                                                        34
Types de test
Il existe de nombreux types de tests qui sont plus ou moins
adapté au contexte d’une application




 ‣ Tests unitaires
 ‣ Tests fonctionnels
 ‣ Tests de charge
 ‣ Tests de sécurité



                                                              35
Fiabilité
            36
Tolérance aux erreurs
Une application ne devrait pas être indisponible dès
que survient un problème mineur




                                                       37
Mode dégradé
Un service réduit est mieux que pas de service du
tout




                                                    38
Sécurité
Quelque soit le domaine économique, la sécurité est
un enjeu important pour une application




                                                      39
Maintenabilité
                 40
Installation / Mise à jour
L’installation et la mise à jour d’une application doit
être le plus simple possible




                                                          41
Logs
Un système de logs permet de comprendre la vie
interne de l’application




                                                 42
Débogage
Il faut éviter les pratiques compliquant le débogage
de l’application




                                                       43
Compréhensibilité   1   Portabilité      5
Cohérence           2   Testabilité      6
Exhaustivité        3   Fiabilité        7
Concision           4   Maintenabilité   8

                                             44
Merci !




 ‣ Commentaires et slides : https://joind.in/6454
 ‣ Blog : http://www.industrialisation-php.com/
 ‣ Twitter : @jmfontaine / @indusphp
 ‣ Email : jean-marc.fontaine@alterway.fr



                                                    45
Crédits photographiques
Les photos et illustrations suivantes ont été utilisées dans cette
présentation. Merci à leurs auteurs !

 ‣   https://secure.flickr.com/photos/jorgempf/17271202/

 ‣   https://secure.flickr.com/photos/26053177@N03/4503264891/

 ‣   https://secure.flickr.com/photos/irisslootheer/4359044679/

 ‣   https://secure.flickr.com/photos/marcovdz/4520986339/

 ‣   https://secure.flickr.com/photos/houseofantiquehardware/5183160228/

 ‣   http://geekandpoke.typepad.com/geekandpoke/2010/01/documentation-is-key.html

 ‣   https://secure.flickr.com/photos/daimlerag/6640914329/

 ‣   https://secure.flickr.com/photos/cglosli/3296946161/

 ‣   https://secure.flickr.com/photos/44442915@N00/4371880134/

                                                                                    46

Weitere ähnliche Inhalte

Ähnlich wie La qualité au delà du code - Forum PHP 2012

Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Islem Azzouz
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs XebiaLabs
 
"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hoursLaurent MEURISSE
 
DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?Ludovic Piot
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdfNoamHaythem
 
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coinSolution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coinAnne Nicolas
 
Model de qualité @ msdevmtl
Model de qualité @ msdevmtlModel de qualité @ msdevmtl
Model de qualité @ msdevmtlMSDEVMTL
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Module Encodage Easytouse Light
Module Encodage Easytouse LightModule Encodage Easytouse Light
Module Encodage Easytouse Lightfchaabane
 
Video Encoding Solution
Video Encoding SolutionVideo Encoding Solution
Video Encoding Solutionsthiebe
 
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...OCTO Technology
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgileAgile Tour 2009 Québec
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" OCTO Technology
 

Ähnlich wie La qualité au delà du code - Forum PHP 2012 (20)

Querix lycia presentation v1.2 fr
Querix lycia presentation v1.2 frQuerix lycia presentation v1.2 fr
Querix lycia presentation v1.2 fr
 
No code low code
No code low codeNo code low code
No code low code
 
Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
 
"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours
 
DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?
 
Les enjeux du Poste de Travail
Les enjeux du Poste de TravailLes enjeux du Poste de Travail
Les enjeux du Poste de Travail
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdf
 
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coinSolution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
 
API Management
API ManagementAPI Management
API Management
 
Model de qualité @ msdevmtl
Model de qualité @ msdevmtlModel de qualité @ msdevmtl
Model de qualité @ msdevmtl
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Module Encodage Easytouse Light
Module Encodage Easytouse LightModule Encodage Easytouse Light
Module Encodage Easytouse Light
 
Video Encoding Solution
Video Encoding SolutionVideo Encoding Solution
Video Encoding Solution
 
1327415.ppt
1327415.ppt1327415.ppt
1327415.ppt
 
20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS
 
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
 

Mehr von Jean-Marc Fontaine

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Jean-Marc Fontaine
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Jean-Marc Fontaine
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Jean-Marc Fontaine
 
Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011Jean-Marc Fontaine
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Jean-Marc Fontaine
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Jean-Marc Fontaine
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPJean-Marc Fontaine
 
PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6Jean-Marc Fontaine
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHPJean-Marc Fontaine
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 

Mehr von Jean-Marc Fontaine (14)

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011
 
Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHP
 
PHP : Etat des lieux
PHP : Etat des lieuxPHP : Etat des lieux
PHP : Etat des lieux
 
PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHP
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 

La qualité au delà du code - Forum PHP 2012