Upload
sebastien-houze
View
1.057
Download
1
Embed Size (px)
Citation preview
VERY LAST-MINUTE HOTEL DEALSDe symfony 1vers
Symfony 2en douceur <3
sfLive Paris 2013
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
VeryLastRoom
Application iPhone de réservation de chambres d'hôtels le jour même pour le soir même, à prix cassé.
๏ 1ères lignes de code en 2011 avant Symfony 2.๏ 40% du code historique symfony1 migré.๏ Toute nouvelle fonctionnalité sous Symfony2.
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Qui suis-je ?
๏ Développeur symfony depuis 2007.๏ +10 ans d'expérience sites internet à forte audience.๏ Speaker sfPot Marseille.๏ Contributeur, dont symfony & hoa-project.
Sébastien HOUZÉCTO VeryLastRoom@sebastienhouzehttp://github.com/shouze
Sébastien HOUZÉ05 - 06 mars 2012 (1 nuit)
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Let’s Go !
php > 5.3 ?PSR-0 ?
Avant de commencer...
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Comment je peux préparer mon code symfony1 à migrer ?
๏ Isolez le code métier non couplé à symfony1 dans des bibliothèques.๏ Passez aux namespaces.๏ Avec composer bénéficiez de l’autoloader PSR-0 ;)
๏ Tip: utilisez satis au lieu de packagist pour les bibliothèques privées.
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
ExempleDoctrine 1 comme dépendance via composer
php 5.4Doctrine Ready!
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Que dois-je migrer en premier ?
๏ Vos bibliothèques, qui sont maintenant installables en un clin d’œil via composer ;)
๏ Commencez par des couches applicatives basses, comme votre modèle de données.
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Mon modèle de données est migréComment l’exploiter ?
Be DaaS!
Data as a Service
Constat Persistez les modèles dans votre app Sf2 !
Contrôleur sf1
Modèle SAVE
Client RESTsf1 POST, PUT, PATCH
suggestion : guzzle
ContrôleurREST Sf2Lecture
70 %
Écriture30 %
Répartition des requêtes
Testez!test is g
ood
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Comment être sûr de ne pas entraîner de régressions ?
Unitairement Fonctionnellement Continuellement
+atoum Hoa project
Travis CI
Gitlab CI
Jenkins CI
Offre pro pour dépôts git privés
Copycat de travis, prometteur
Former Hudson, la tradition
Behavior Driven DevelopmentComing soon
Behat
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Tests unitaires atoumPrincipaux avantages
๏ Possibilité d’écrire les tests en mode story (à la façon de Behat).๏ Mock des objets puissant.๏ Intégration prochaine de tests par contrat via Hoa / praspel
Consultez la (très bonne) présentation d’atoumde Stéphane PY
http://prezi.com/pr_8ylm4dxxt/atoum/
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Tests fonctionnels BehatUn test écrit pour votre app sf1 fonctionne directement sous Sf2!
Ajoutez un
aiguilleur!
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Comment migrer partiellement mon API REST sf1 ?
App sf1 App SF2
GET /resource
Bénéficiez immédiatement du travail en cours sous Sf2 ;)
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Comment migrer partiellement mon frontend/backend ?
๏ Partager la session sf1 dans votre app Sf2 : TheodoEvolutionSessionBundle
๏ Ajouter une authentification centrale (CAS, LDAP, SAML...)
๏ Authentification à la OAuth
Authentification Contenu
๏ JSON-P / CORS vers app Sf2
๏ Proxyiser appel vers un contrôleur Sf2 depuis sf1
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Comment être sûr que je ne vais pas dégrader les performances ?Graphes Audit
ou Graphite
Questions ?
sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ
Nous rejoindre [email protected]