gestion des dépendances dans un projet php - forum php 2012
DESCRIPTION
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.TRANSCRIPT
![Page 1: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/1.jpg)
1
La gestion des dépendancesdans un projet PHP
Forum PHP 2012
![Page 2: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/2.jpg)
Passionné de web depuis 1996, de PHP depuis 2000 et de musique depuis 1977
Jean-Marc Fontaine
‣ 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
![Page 3: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/3.jpg)
3
La gestion des dépendancesdans un projet PHP
![Page 4: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/4.jpg)
4
Gestion manuelle
![Page 5: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/5.jpg)
5
Copie manuelle des dépendancesSimple à mettre en œuvre
![Page 6: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/6.jpg)
6
Garantit la disponibilitéPas de risque de voir disparaître la dépendance
![Page 7: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/7.jpg)
7
Impact sur le dépôt de codeTaille plus importante, sauvegardes plus longues
![Page 8: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/8.jpg)
8
Mises à jour parfois difficilesSubversion avant la version 1.7 complique la mise à jour
![Page 9: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/9.jpg)
9
![Page 10: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/10.jpg)
10
Paquets du système d’exploitation
![Page 11: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/11.jpg)
11
Lié au système d’exploitation«deb» pour la famille Debian,«rpm» pour famille Red Hat
![Page 12: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/12.jpg)
12
Simple à utiliserDebian : apt-get install phpmyadminRed Hat : yum install phpmyadmin
![Page 13: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/13.jpg)
13
Partagé par tout le systèmeUne seule version installée à la fois
![Page 14: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/14.jpg)
14
Peu de paquets PHP disponiblesSeules les librairies les plus connues sont disponibles
![Page 15: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/15.jpg)
Comparaison de versionsVersions souvent anciennes
15
Officiel Debian 6
CakePHP
Doctrine
phpMyAdmin
PHPUnit
2.1.13 1.3.2 (10/11)
2.2.2 1.2.2 (01/09)
3.5.1 3.3.7 (09/10)
3.6.11 3.4.14 (06/10)
![Page 16: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/16.jpg)
16
Possibilité de créer ses propres paquetsPas infaisable mais pas trivial
![Page 17: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/17.jpg)
17
Dépôt de code
![Page 18: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/18.jpg)
18
svn:externals avec SubversionSimple à mettre en œuvre mais réservé aux répertoires
![Page 19: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/19.jpg)
19
![Page 20: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/20.jpg)
20
Sous-modules GitUn peu ardu à mettre en œuvre
![Page 21: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/21.jpg)
21
![Page 22: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/22.jpg)
22
![Page 23: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/23.jpg)
23
Archives PHAR** Attention : un jeu de mot hasardeux s’est glissé dans cette vignette. Sauras-tu le retrouver ?
![Page 24: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/24.jpg)
24
Simplicité d’emploiCopier l’archive suffit à installer ou mettre à jour
![Page 25: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/25.jpg)
25
Simplicité de déploiementUn seul fichier à gérer. Possibilité de le compresser.
![Page 26: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/26.jpg)
26
Projet completImpossible de ne prendre qu’une partie d’un projet
![Page 27: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/27.jpg)
27
Peu de projet distribués sous ce formatatoum, Composer, Clinner, Goutte, Hoa, PHP Coding Standard Fixer, Symfttpd, etc.
![Page 28: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/28.jpg)
28
La configuration par défaut de PHP pose parfois des problèmes
![Page 29: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/29.jpg)
29
PEAR
![Page 30: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/30.jpg)
30
EprouvéLe projet existe depuis plus de 10 ans
![Page 31: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/31.jpg)
31
Qualité inégaleMalgré les règles pour assurer une qualité homogène, le bon côtoie le très (très) moyen
![Page 32: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/32.jpg)
32
Peu attractifPeu de librairies majeures choisissent d’être disponibles dans PEAR
![Page 33: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/33.jpg)
33
VieillissantDe plus en plus de paquets ne sont plus maintenus
![Page 34: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/34.jpg)
34
Un installeur indépendant et bien vivantOn peut diffuser ses librairies via un canal PEAR personnalisé
![Page 35: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/35.jpg)
35
![Page 36: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/36.jpg)
36
Création d’un paquet assez simple
![Page 37: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/37.jpg)
package.xml
37
<?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>[email protected]</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> <api>stable</api> </stability>
![Page 38: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/38.jpg)
38
Génération semi-automatiquePEAR_PackageFileManager2 peut générer le fichier package.xml
![Page 39: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/39.jpg)
39
Création d’un canal personnalisé facile avec Pirum
![Page 40: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/40.jpg)
40
Composer
![Page 41: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/41.jpg)
41
Projet récent et très actifInitié en avril 2011, environ 1 900 commits
![Page 42: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/42.jpg)
42
Composer, Packagist & SatisTrois outils complémentaires
![Page 43: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/43.jpg)
43
ComposerUn gestionnaire de paquets en ligne de commande
![Page 44: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/44.jpg)
44
Installation simplecurl -s http://getcomposer.org/installer | php
![Page 45: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/45.jpg)
45
Simplicité d’utilisationphp composer.phar install
![Page 46: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/46.jpg)
46
Dépendances par projetPas d’effet de bord
![Page 47: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/47.jpg)
47
vendor/ autoload.php composer/ symfony/ browser-kit/ class-loader/ css-selector/ dom-crawler/ event-dispatcher/ finder/ http-foundation/ http-kernel/ routing/ twig/ twig/
![Page 48: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/48.jpg)
48
Simplicité de diffusion
![Page 49: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/49.jpg)
composer.json
49
{ "name": "Soko", "description": "Light continuous integration tool", "license": "BSD-3-Clause", "authors": [ { "name": "Jean-Marc Fontaine", "email": "[email protected]", "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/" } }}
![Page 50: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/50.jpg)
composer.json
50
{ "name": "Soko", "description": "Light continuous integration tool", "license": "BSD-3-Clause", "authors": [ { "name": "Jean-Marc Fontaine", "email": "[email protected]", "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/" } }}
![Page 51: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/51.jpg)
composer.json
51
{ "name": "Soko", "description": "Light continuous integration tool", "license": "BSD-3-Clause", "authors": [ { "name": "Jean-Marc Fontaine", "email": "[email protected]", "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/" } }}
![Page 52: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/52.jpg)
composer.json
52
{ "name": "Soko", "description": "Light continuous integration tool", "license": "BSD-3-Clause", "authors": [ { "name": "Jean-Marc Fontaine", "email": "[email protected]", "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/" } }}
![Page 53: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/53.jpg)
53
Possibilité de lancer des actions après l’installation des dépendancesVidage de cache, création de fichiers, etc.
![Page 54: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/54.jpg)
54
Chargement automatiqueCompatible PSR-0
![Page 55: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/55.jpg)
Chargement automatique
55
"autoload": { "psr-0": { "Vendor\\Namespace": "lib/" }, "classmap": ["src/", "classMap.php"]},"include-path": ["src/", ""]
require __DIR__ . '/vendor/autoload.php';
![Page 56: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/56.jpg)
Chargement automatique
56
"autoload": { "psr-0": { "Vendor\\Namespace": "lib/" }, "classmap": ["src/", "classMap.php"]},"include-path": ["src/", ""]
require __DIR__ . '/vendor/autoload.php';
![Page 57: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/57.jpg)
57
Création d’un projet à partir d’un modèlephp composer.phar create-project jmfontaine/application mon-projet
![Page 58: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/58.jpg)
58
PackagistUn annuaire de paquets bien fourni
![Page 59: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/59.jpg)
59
![Page 60: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/60.jpg)
Quelques chiffresPackagist
60
0
1000
2000
3000
4000
09/2011 10/2011 11/2011 12/2011 01/2012 02/2012 03/2012 04/2012 05/2012
625 658 752 8601 154
1 423
1 791
2 375
3 863
7 48 140 207352 484
7011 015
1 472
Source: http://packagist.org/statistics
PaquetsVersions
![Page 61: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/61.jpg)
61
Une adoption croissanteDe plus en plus de librairies en vue l’utilise
![Page 62: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/62.jpg)
62
Des sources variéesVCS (Subversion, Git, Mercurial), archives
![Page 63: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/63.jpg)
63
SatisUn Packagist léger pour vos paquets privés
![Page 64: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/64.jpg)
64
{ "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}
![Page 65: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/65.jpg)
65
{ "name": "Soko", "description": "Light continuous integration tool", "license": "BSD-3-Clause", "authors": [ { "name": "Jean-Marc Fontaine", "email": "[email protected]", "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/" } }}
![Page 66: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/66.jpg)
66
Création d’un projet à partir d’un modèle hébergé avec Satisphp composer.phar create-project jmfontaine/modele-application mon-projet --repository-url=http://satis.jmfontaine.net
![Page 67: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/67.jpg)
67
Version stable en vueAlpha 3 disponible, beta en juin,version stablepour la fin de l’été
![Page 68: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/68.jpg)
68
Merci !
‣ Commentaires et slides : https://joind.in/6458‣ Blog : http://www.industrialisation-php.com/‣ Twitter : @jmfontaine / @indusphp‣ Email : [email protected]
![Page 69: Gestion des dépendances dans un projet PHP - Forum PHP 2012](https://reader034.vdocuments.mx/reader034/viewer/2022042713/5480ec21b4af9fef158b5eee/html5/thumbnails/69.jpg)
Les photos et illustrations suivantes ont été utilisées dans cette présentation. Merci à leurs auteurs !
69
Crédits photographiques
‣ 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/