SlideShare une entreprise Scribd logo
La gestion des dépendances
         dans un projet PHP
                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 gestion des dépendances
    dans un projet PHP



                             3
Gestion manuelle
                   4
Copie manuelle des dépendances
Simple à mettre en œuvre




                                 5
Garantit la disponibilité
Pas de risque de voir disparaître la dépendance




                                                  6
Impact sur le dépôt de code
Taille plus importante, sauvegardes plus longues




                                                   7
Mises à jour parfois difficiles
Subversion avant la version 1.7 complique la mise à
jour




                                                      8
9
Paquets du système d’exploitation
                                    10
Lié au système d’exploitation
«deb» pour la famille Debian,
«rpm» pour famille Red Hat




                                11
Simple à utiliser
Debian : apt-get install phpmyadmin
Red Hat : yum install phpmyadmin




                                      12
Partagé par tout le système
Une seule version installée à la fois




                                        13
Peu de paquets PHP disponibles
Seules les librairies les plus connues sont disponibles




                                                          14
Versions souvent anciennes
Comparaison de versions


                          Officiel     Debian 6


    CakePHP               2.1.13    1.3.2 (10/11)


     Doctrine              2.2.2    1.2.2 (01/09)


   phpMyAdmin              3.5.1    3.3.7 (09/10)


     PHPUnit              3.6.11    3.4.14 (06/10)
                                                     15
Possibilité de créer ses propres paquets
Pas infaisable mais pas trivial




                                           16
Dépôt de code
                17
svn:externals avec Subversion
Simple à mettre en œuvre mais réservé aux
répertoires




                                            18
19
Sous-modules Git
Un peu ardu à mettre en œuvre




                                20
21
22
Archives PHAR*
* Attention : un jeu de mot hasardeux s’est glissé dans cette vignette. Sauras-tu le retrouver ?
                                                                                                   23
Simplicité d’emploi
Copier l’archive suffit à installer ou mettre à jour




                                                      24
Simplicité de déploiement
Un seul fichier à gérer. Possibilité de le compresser.




                                                        25
Projet complet
Impossible de ne prendre qu’une partie d’un projet




                                                     26
Peu de projet distribués sous ce format
atoum, Composer, Clinner, Goutte, Hoa, PHP
Coding Standard Fixer, Symfttpd, etc.




                                             27
La configuration par défaut de PHP pose
parfois des problèmes




                                         28
PEAR
       29
Eprouvé
Le projet existe depuis plus de 10 ans




                                         30
Qualité inégale
Malgré les règles pour assurer une qualité
homogène, le bon côtoie le très (très) moyen




                                               31
Peu attractif
Peu de librairies majeures choisissent d’être
disponibles dans PEAR




                                                32
Vieillissant
De plus en plus de paquets ne sont plus maintenus




                                                    33
Un installeur indépendant et bien vivant
On peut diffuser ses librairies via un canal PEAR
personnalisé




                                                    34
35
Création d’un paquet assez simple




                                    36
package.xml
 <?xml version="1.0" encoding="UTF-8"?>
 <package packagerversion="1.4.10" version="2.0"
    xmlns="http://pear.php.net/dtd/package-2.0"
 …
 >
   <name>PHPUnit</name>
   <channel>pear.phpunit.de</channel>
   <summary>The PHP Unit Testing framework.</summary>
   <description>The PHP Unit Testing framework.</description>
   <lead>
    <name>Sebastian Bergmann</name>
    <user>sb</user>
    <email>sebastian@phpunit.de</email>
    <active>yes</active>
   </lead>
   <date>2012-05-31</date>
   <version>
   <release>3.6.11</release>
    <api>3.6.0</api>
   </version>
   <stability>
    <release>stable</release>                                   37
Génération semi-automatique
PEAR_PackageFileManager2 peut générer le fichier
package.xml




                                                  38
Création d’un canal personnalisé facile
avec Pirum




                                          39
Composer
           40
Projet récent et très actif
Initié en avril 2011, environ 1 900 commits




                                              41
Composer, Packagist & Satis
Trois outils complémentaires




                               42
Composer
Un gestionnaire de paquets en ligne de commande




                                                  43
Installation simple
curl -s http://getcomposer.org/installer | php




                                                 44
Simplicité d’utilisation
php composer.phar install




                            45
Dépendances par projet
Pas d’effet de bord




                         46
vendor/
    autoload.php
    composer/
    symfony/
        browser-kit/
        class-loader/
        css-selector/
        dom-crawler/
        event-dispatcher/
        finder/
        http-foundation/
        http-kernel/
        routing/
    twig/
        twig/




                            47
Simplicité de diffusion




                          48
composer.json
   {
       "name": "Soko",
       "description": "Light continuous integration tool",
       "license": "BSD-3-Clause",
       "authors": [
           {
               "name": "Jean-Marc Fontaine",
               "email": "jm@jmfontaine.net",
               "homepage": "http://jmfontaine.net/"
           }
       ],
       "require": {
           "php": ">=5.3.0",
           "symfony/console": "2.0.*",
           "symfony/finder": "2.0.*",
           "symfony/process": "2.0.*",
           "symfony/yaml": "2.0.*"
       },
       "autoload": {
           "psr-0": { "Soko": "src/" }
       }
   }
                                                             49
composer.json
   {
       "name": "Soko",
       "description": "Light continuous integration tool",
       "license": "BSD-3-Clause",
       "authors": [
           {
               "name": "Jean-Marc Fontaine",
               "email": "jm@jmfontaine.net",
               "homepage": "http://jmfontaine.net/"
           }
       ],
       "require": {
           "php": ">=5.3.0",
           "symfony/console": "2.0.*",
           "symfony/finder": "2.0.*",
           "symfony/process": "2.0.*",
           "symfony/yaml": "2.0.*"
       },
       "autoload": {
           "psr-0": { "Soko": "src/" }
       }
   }
                                                             50
composer.json
   {
       "name": "Soko",
       "description": "Light continuous integration tool",
       "license": "BSD-3-Clause",
       "authors": [
           {
               "name": "Jean-Marc Fontaine",
               "email": "jm@jmfontaine.net",
               "homepage": "http://jmfontaine.net/"
           }
       ],
       "require": {
           "php": ">=5.3.0",
           "symfony/console": "2.0.*",
           "symfony/finder": "2.0.*",
           "symfony/process": "2.0.*",
           "symfony/yaml": "2.0.*"
       },
       "autoload": {
           "psr-0": { "Soko": "src/" }
       }
   }
                                                             51
composer.json
   {
       "name": "Soko",
       "description": "Light continuous integration tool",
       "license": "BSD-3-Clause",
       "authors": [
           {
               "name": "Jean-Marc Fontaine",
               "email": "jm@jmfontaine.net",
               "homepage": "http://jmfontaine.net/"
           }
       ],
       "require": {
           "php": ">=5.3.0",
           "symfony/console": "2.0.*",
           "symfony/finder": "2.0.*",
           "symfony/process": "2.0.*",
           "symfony/yaml": "2.0.*"
       },
       "autoload": {
           "psr-0": { "Soko": "src/" }
       }
   }
                                                             52
Possibilité de lancer des actions après
l’installation des dépendances
Vidage de cache, création de fichiers, etc.




                                             53
Chargement automatique
Compatible PSR-0




                         54
Chargement automatique

 "autoload": {
     "psr-0": {
         "VendorNamespace": "lib/"
     },
     "classmap": ["src/", "classMap.php"]
 },
 "include-path": ["src/", ""]




 require __DIR__ . '/vendor/autoload.php';




                                             55
Chargement automatique

 "autoload": {
     "psr-0": {
         "VendorNamespace": "lib/"
     },
     "classmap": ["src/", "classMap.php"]
 },
 "include-path": ["src/", ""]




 require __DIR__ . '/vendor/autoload.php';




                                             56
Création d’un projet à partir d’un modèle
php composer.phar create-project jmfontaine/
application mon-projet




                                               57
Packagist
Un annuaire de paquets bien fourni




                                     58
59
Packagist
  Quelques chiffres

                                                                                      Paquets
                                                                                      Versions

4000                                                                                    3 863




3000
                                                                              2 375


2000                                                                  1 791
                                                              1 423                     1 472
                                                      1 154
                                                                              1 015
1000                                            860
                                          752                         701
          625                658
                                                              484
                                                      352
                                          140   207
           7                  48
      0
     09/2011 10/2011 11/2011 12/2011 01/2012 02/2012 03/2012 04/2012 05/2012
Source: http://packagist.org/statistics                                                          60
Une adoption croissante
De plus en plus de librairies en vue l’utilise




                                                 61
Des sources variées
VCS (Subversion, Git, Mercurial), archives




                                             62
Satis
Un Packagist léger pour vos paquets privés




                                             63
{
    "name": "Jean-Marc Fontaine packages",
    "homepage": "http://satis.jmfontaine.net/",
    "repositories": [
        { "type": "git", "url": "ssh://git.jmfontaine.net/srv/
git/repositories/aviso.git" },
        { "type": "git", "url": "ssh://git.jmfontaine.net/srv/
git/repositories/soko.git" },
        { "type": "git", "url": "ssh://git.jmfontaine.net/srv/
git/repositories/modele-application.git" },
    ],
    "require-all": true
}




                                                                 64
{
    "name": "Soko",
    "description": "Light continuous integration tool",
    "license": "BSD-3-Clause",
    "authors": [
        {
            "name": "Jean-Marc Fontaine",
            "email": "jm@jmfontaine.net",
            "homepage": "http://jmfontaine.net/"
        }
    ],
    "require": {
        "php": ">=5.3.0",
        "symfony/console": "2.0.*",
        "symfony/finder": "2.0.*",
        "symfony/process": "2.0.*",
        "symfony/yaml": "2.0.*",
        "jmfontaine/aviso": "0.1.0"
    },
    "autoload": {
        "psr-0": { "Soko": "src/" }
    }
}

                                                          65
Création d’un projet à partir d’un modèle
hébergé avec Satis
php composer.phar create-project jmfontaine/
modele-application mon-projet --repository-
url=http://satis.jmfontaine.net




                                               66
Version stable en vue
Alpha 3 disponible, beta en juin,version stable
pour la fin de l’été




                                                  67
Merci !




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



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


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

 ‣   http://www.vivelesrondes.com/oarystis/22836/

 ‣   https://secure.flickr.com/photos/library_of_congress/2163511028/

 ‣   https://secure.flickr.com/photos/halfbisqued/2353845688/

 ‣   https://secure.flickr.com/photos/advertisingelyse/3709966085/

 ‣   https://secure.flickr.com/photos/olibac/1823957148/

 ‣   https://secure.flickr.com/photos/reebob/3868826366/

 ‣   https://secure.flickr.com/photos/12287146@N04/4931171160/


                                                                       69

Contenu connexe

Tendances

NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
jihbed
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarques
Alexandre LAHAYE
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Jérôme Petazzoni
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Anne Nicolas
 
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
Jean-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 2012
Jean-Marc Fontaine
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
Christian Charreyre
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
pprem
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrant
clmntlxndr
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
Taoufik AIT HSAIN
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
JEAN-GUILLAUME DUJARDIN
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
Christian Charreyre
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsguest3be047
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
Soumia Brabije
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
Sylvain Boily
 
Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »
Pierre-jean Texier
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
Christian Charreyre
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
Oxalide
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 

Tendances (20)

NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
 
Yocto oe
Yocto oeYocto oe
Yocto oe
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarques
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
 
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
 
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
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrant
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apports
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 
Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 

En vedette

Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012
Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012
Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012MONA
 
27th Region
27th Region27th Region
27th Region
Stéphane VINCENT
 
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
Cap'Com
 
Business Model Workshop CTIC Dakar - Jan 2012 @ESMT
Business Model Workshop CTIC Dakar - Jan 2012 @ESMTBusiness Model Workshop CTIC Dakar - Jan 2012 @ESMT
Business Model Workshop CTIC Dakar - Jan 2012 @ESMT
Yann Le Beux
 
Une vision des transformations de l’EAD par Éric Bruillard, STEF
Une vision des transformations de l’EAD par Éric Bruillard, STEFUne vision des transformations de l’EAD par Éric Bruillard, STEF
Une vision des transformations de l’EAD par Éric Bruillard, STEF
FFFOD
 
Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Stéphane VINCENT
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
RMwebsite
 
Archives participatives
Archives participativesArchives participatives
Archives participativesPauline Moirez
 
Tendances Web Marketing 2013
Tendances Web Marketing 2013Tendances Web Marketing 2013
Tendances Web Marketing 2013
WSI France
 
Médias sociaux et relations publiques
Médias sociaux et relations publiquesMédias sociaux et relations publiques
Médias sociaux et relations publiques
Michelle Blanc
 
DIU echocardio 23011
DIU echocardio 23011DIU echocardio 23011
DIU echocardio 23011oussama El-h
 
Bilan résidences
Bilan résidencesBilan résidences
Bilan résidences
Stéphane VINCENT
 
Tour du monde
Tour du mondeTour du monde
Tour du mondeguimera
 
HUB REPORT - L'indispensable à savoir sur la Data & le CRM
HUB REPORT - L'indispensable à savoir sur la Data & le CRM HUB REPORT - L'indispensable à savoir sur la Data & le CRM
HUB REPORT - L'indispensable à savoir sur la Data & le CRM
HUB INSTITUTE
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.
Emiland
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
Jonathon Colman
 
Les chefs étoilés Drômois
Les chefs étoilés DrômoisLes chefs étoilés Drômois
Les chefs étoilés Drômois
La Drôme Le Département
 
Modelisation et maquettage 2015
Modelisation et maquettage 2015Modelisation et maquettage 2015
Modelisation et maquettage 2015
Atelier IHM Polytech Nice Sophia
 
2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques
Asso Asah
 
Le savoir traditionnel et la cybercartographie
Le savoir traditionnel et la cybercartographieLe savoir traditionnel et la cybercartographie
Le savoir traditionnel et la cybercartographie
Communication and Media Studies, Carleton University
 

En vedette (20)

Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012
Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012
Sylvain Pechcontal - Taxe de séjour - Formation MOPA - CNFPT 2012
 
27th Region
27th Region27th Region
27th Region
 
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
Présentation des résultats de l'édition 2011 de l'Enquête sur la communicatio...
 
Business Model Workshop CTIC Dakar - Jan 2012 @ESMT
Business Model Workshop CTIC Dakar - Jan 2012 @ESMTBusiness Model Workshop CTIC Dakar - Jan 2012 @ESMT
Business Model Workshop CTIC Dakar - Jan 2012 @ESMT
 
Une vision des transformations de l’EAD par Éric Bruillard, STEF
Une vision des transformations de l’EAD par Éric Bruillard, STEFUne vision des transformations de l’EAD par Éric Bruillard, STEF
Une vision des transformations de l’EAD par Éric Bruillard, STEF
 
Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
 
Archives participatives
Archives participativesArchives participatives
Archives participatives
 
Tendances Web Marketing 2013
Tendances Web Marketing 2013Tendances Web Marketing 2013
Tendances Web Marketing 2013
 
Médias sociaux et relations publiques
Médias sociaux et relations publiquesMédias sociaux et relations publiques
Médias sociaux et relations publiques
 
DIU echocardio 23011
DIU echocardio 23011DIU echocardio 23011
DIU echocardio 23011
 
Bilan résidences
Bilan résidencesBilan résidences
Bilan résidences
 
Tour du monde
Tour du mondeTour du monde
Tour du monde
 
HUB REPORT - L'indispensable à savoir sur la Data & le CRM
HUB REPORT - L'indispensable à savoir sur la Data & le CRM HUB REPORT - L'indispensable à savoir sur la Data & le CRM
HUB REPORT - L'indispensable à savoir sur la Data & le CRM
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
 
Les chefs étoilés Drômois
Les chefs étoilés DrômoisLes chefs étoilés Drômois
Les chefs étoilés Drômois
 
Modelisation et maquettage 2015
Modelisation et maquettage 2015Modelisation et maquettage 2015
Modelisation et maquettage 2015
 
2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques
 
Le savoir traditionnel et la cybercartographie
Le savoir traditionnel et la cybercartographieLe savoir traditionnel et la cybercartographie
Le savoir traditionnel et la cybercartographie
 

Similaire à Gestion des dépendances dans un projet PHP - Forum PHP 2012

Presentation Symfony2
Presentation Symfony2Presentation Symfony2
Presentation Symfony2Ahmed ABATAL
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...
Romain Cambien
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
Ayoub Rouzi
 
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsdécouverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
Thierry Gayet
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
Khalid ALLILI
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
Noël
 
Installation de PHP
Installation de PHPInstallation de PHP
Installation de PHP
Moncef Essid
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
Mohamed Ben Bouzid
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
CocoaHeads France
 
Symfony 2 : chapitre 1 - Présentation Générale
Symfony 2 : chapitre 1 - Présentation GénéraleSymfony 2 : chapitre 1 - Présentation Générale
Symfony 2 : chapitre 1 - Présentation Générale
Abdelkader Rhouati
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Olivier DASINI
 
Atelier Symfony2- Introduction
Atelier Symfony2- IntroductionAtelier Symfony2- Introduction
Atelier Symfony2- Introduction
Marwa OUNALLI
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embedded
Ayoub Rouzi
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
Mame Cheikh Ibra Niang
 
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps ParisLeTesteur
 
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
Nicolas Defay
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
Addi Ait-Mlouk
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sources
Thierry Gayet
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
Vagrant - Concept
Vagrant - ConceptVagrant - Concept
Vagrant - Concept
Julien Dubreuil
 

Similaire à Gestion des dépendances dans un projet PHP - Forum PHP 2012 (20)

Presentation Symfony2
Presentation Symfony2Presentation Symfony2
Presentation Symfony2
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsdécouverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Installation de PHP
Installation de PHPInstallation de PHP
Installation de PHP
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Symfony 2 : chapitre 1 - Présentation Générale
Symfony 2 : chapitre 1 - Présentation GénéraleSymfony 2 : chapitre 1 - Présentation Générale
Symfony 2 : chapitre 1 - Présentation Générale
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
Atelier Symfony2- Introduction
Atelier Symfony2- IntroductionAtelier Symfony2- Introduction
Atelier Symfony2- Introduction
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embedded
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
 
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps Paris
 
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sources
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Vagrant - Concept
Vagrant - ConceptVagrant - Concept
Vagrant - Concept
 

Plus de Jean-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 2012
Jean-Marc Fontaine
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012Jean-Marc Fontaine
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
Jean-Marc Fontaine
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012
Jean-Marc Fontaine
 
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
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011
Jean-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
 
Maintenir du code historique - RMLL 2011
Maintenir du code historique - RMLL 2011Maintenir du code historique - RMLL 2011
Maintenir du code historique - 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
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010
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
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 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 PHP
Jean-Marc Fontaine
 
PHP : Etat des lieux
PHP : Etat des lieuxPHP : Etat des lieux
PHP : Etat des lieux
Jean-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 6
Jean-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 FirePHP
Jean-Marc Fontaine
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
Jean-Marc Fontaine
 

Plus de Jean-Marc Fontaine (17)

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
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
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
 
Maintenir du code historique - RMLL 2011
Maintenir du code historique - RMLL 2011Maintenir du code historique - RMLL 2011
Maintenir du code historique - 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 ?
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 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
 

Dernier

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

Gestion des dépendances dans un projet PHP - Forum PHP 2012