SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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 embarquesAlexandre 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 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
 
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ömChristian Charreyre
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distancepprem
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrantclmntlxndr
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETTaoufik AIT HSAIN
 
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ömChristian 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'openbravoSoumia Brabije
 
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-NTICChristian Charreyre
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deploymentsOxalide
 
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 printempsWeb à Québec
 

La actualidad más candente (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
 

Destacado

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
 
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 @ESMTYann 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, STEFFFFOD
 
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 ordinateursRMwebsite
 
Archives participatives
Archives participativesArchives participatives
Archives participativesPauline Moirez
 
Tendances Web Marketing 2013
Tendances Web Marketing 2013Tendances Web Marketing 2013
Tendances Web Marketing 2013WSI 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
 
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 SuccessJonathon Colman
 
2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiquesAsso Asah
 

Destacado (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
 

Similar a 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 openembeddedAyoub 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 aspectsThierry Gayet
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linuxKhalid 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 webNoël
 
Installation de PHP
Installation de PHPInstallation de PHP
Installation de PHPMoncef Essid
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed 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 JenkinsCocoaHeads 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éraleAbdelkader 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 KrantzOlivier DASINI
 
Atelier Symfony2- Introduction
Atelier Symfony2- IntroductionAtelier Symfony2- Introduction
Atelier Symfony2- IntroductionMarwa OUNALLI
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embeddedAyoub 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 PHP5Mame 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
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesThierry Gayet
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 

Similar a 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
 

Más 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 2012Jean-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 2012Jean-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 2012Jean-Marc Fontaine
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Jean-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
 
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 2010Jean-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 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
 

Más 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
 

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