Back to the homepage

Symfony Live Paris 2012

Schedule

Wednesday, June 6th

Training Day

The day before the official conference, SensioLabs organizes two trainings:
"Introduction to Symfony2" and "Going further with Symfony2"

Thursday, June 7th

Conference Day

 Track ATrack B
08:00
09:15
Registration & Breakfast
09:15
09:30
Welcome session
09:30
10:20
Keynote
Fabien Potencier
10:20
10:40
BREAK
10:40
11:30
11:40
12:30
12:30
14:00
LUNCH
14:00
14:50
15:00
15:50
15:50
16:20
BREAK
16:20
17:30
17:30
18:20
JEOPARDY - Jeremy Mikola

Friday, June 8th

Conference Day

 Track ATrack BTrack C
09:00
09:30
Registration & Breakfast
09:30
10:20
Designing HTTP Interfaces and RESTful Web Services
David Zuelke
10:20
10:40
BREAK
10:40
11:30
11:40
12:30
12:30
14:00
LUNCH
14:00
14:50
15:00
15:50
15:50
16:20
BREAK
16:20
17:30
17:30
18:20
LIGHTNING TALKS - Various Speakers

Saturday, June 9th

Hacking Day - free for all

Come, talk, and code about Symfony.

Security: In Real Life — English

Johannes S

The Symfony2 security component tackles the complex problems of authentication, authorization, and accounting by spreading concerns across a number of objects, each with a single responsibility. This makes for a very flexible design, but also makes the component much less accessible to the beginner. In this talk, you will be presented with real life use-cases interspliced with technical descriptions of what's going on.

Realtime Web Apps with WebSockets — English

Igor Wiedler

Pushing data from the server to the client as events happen has not really been possible on the web so far. While there have been some workarounds for this issue, most of these were hacks. Luckily, there is an upcoming W3C WebSockets standard. This talk will discuss use cases for WebSockets, show you compatibility issues/fallbacks and different ways of dispatching your events. You will learn about fully-asynchronous stateful applications, but also about how to enhance existing apps with realtime capabilities.

Designing HTTP Interfaces and RESTful Web Services — English

David Zuelke

A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs accurately identify resources? Are the powers of HTTP leveraged properly? What is "Hypermedia", what is the Uniform Interface, and what is the secret behind the HATEOAS acronym that is so essential to the REST architectural style? This talk gives answers and guidelines using real-life examples.

Keynote — English

Fabien Potencier

To be announced

Behat by example (Behat best practices) — English

Konstantin Kudryashov

Behat is a known tool in symfony2 community. It's easy to learn and use. The hard part is to get into methodologies behind it, you need to spend quite some time thinking and understanding them in order to be successful with it. This talk will introduce you to the world of BDD by showing real life examples of how to use it for developing Symfony2 applications in a pragmatic and maintanable way.

Symfony2 components to the rescue of your PHP projects — English

Xavier Lacot

Do you have an existing PHP project, not necessarily at the "state of the art" level? This session will show you how to gradually improve its quality by successively using different Symfony2 components. The presentation will be illustrated with a case study that will turn the original "code soup" into a structured, maintainable and evolutive project. You will see how the choice of some high quality components, some refactoring and a bit of common sense can help to significantly increase the quality of your projects.

Declare Independence from your IT department: sysadmin skills for Symfony developers — English

Pablo Godel

A Symfony/web developer is not complete without knowing server administration. When looking for a job, it is quite likely that you will be required to know about installing and configuring a LAMP (Linux, Apache, MySQL and PHP). Your prospects of getting that job are much higher when you know these. In this session we will cover: - Introduction to LAMP servers - Frequently used Unix commands - Linux distro Differences - Prepare your LAMP server before going live - Overall LAMP Security - Performance tips to improve your website speed - Compiling PHP from source. Adding PHP extensions. - Basic description of web hosting options for Symfony

Introduction à Propel2 — French

William Durand

Propel2 est la nouvelle version de ce bon vieil ORM PHP qui a accompagné le framework symfony pendant un long moment. Basé sur un projet stable et mature de près de 10 ans d'existence, Propel2 se recentre sur ce pour quoi il est fait, et réutilise de nombreux composants Au travers Symfony2. Dans cette session, nous ferons un tour complet de Propel2 en présentant notamment son architecture et sa philosophie. Vous en découvrirez ses nouveautés ainsi qu'un retour d'expérience sur la réutilisation de composants existants dans un tel projet.

How we built the new responsive BBC News site — English

John Cleveley

Why we develop mobile first and use responsive design. How we went from a static site to a dynamic php app and still scaled to millions of users. Discussion of how we are integrating symfony2 components with zend framework. How we make the frontend blazingly fast. How we test code, features and performance.

L'utilisation de Symfony2 chez Overblog — French

Xavier HAUSHERR

Overblog, plateforme de blog européenne n°1, a choisi Symfony 2 pour sa nouvelle version. Découvrez les retours d'expérience de leurs ingénieurs sur la mise en place d'une architecture logicielle basée sur Symfony. Les points suivants vous seront présentés : - Injection de dépendance: la création d'une couche de transport performante grâce à l'intégration d'Apache Thrift dans Symfony 2. - Security Bundle: la mise en place d'une authentification centralisée (SSO). - Twig: l'utilisation des policies de la sandbox pour sécuriser l'intégration des thèmes créés par les utilisateurs. Cette présentation sera animée par Xavier HAUSHERR (CTO) et Gérald Lonlas (Project Manager)

There is a Bundle for that — English

Christophe Coevoet

If you are working on a project requiring a generic feature, then chances are there is already an open source Bundle that at least in parts does what you need. In this talk we will cover how to find, evaluate and extend open source Bundles. Furthermore we will quickly introduce some of the most useful Bundles available out there.

Symfony2 meets Drupal 8 — English

Larry Garfield

The Drupal community has recently made the decision to adopt several Symfony2 Components in its upcoming version 8 release, due out in mid-2013. This is a major shift for Drupal, and a huge opportunity for both projects. This session will cover some background of the decision to adopt Symfony2 Components, what specifically Drupal will be using and how, and how both projects can benefit from this development. Time permitting we will also cover some history and architecture of Drupal, including the parts that will not be switching to Symfony, to provide developers with a brief overview of Drupal development now and in the future.

Using MongoDB responsibly — English

Jeremy Mikola

This presentation will cover experiences using MongoDB at two Symfony2 startups over two years. We will look at each company's infrastructure, pinpoint good and bad applications of MongoDB and review several painful gotchas experienced along the way (e.g. blocking queries, page faults, Mongo shell quirks). There will be some general advice on schema design before discussing query optmization and index management. Keeping track of one's Mongo environment is essential, so we will review common warning signs (visible through server stats or 10gen's MongoDB Monitoring Service) and walk through query profiling in order to fine-tune our application. We will look at caveats of server-side code execution and map/reduce queries and, in the case of the latter, look at benefits of the new aggregation framework. Lastly, I will discuss the implications of Doctrine ODM and when it may be preferable to bypass it for operations where performance or memory usage is critical.

Advanced Service Container Utilization — English

Richard Miller

Symfony2's service container is a powerful tool with capabilities for much more than just basic constructor and setter injection. This talk will look at some of the more advanced service container features. Starting by looking at property injection and its pros and cons and why interface injection is not available. It will cover how you can use factories to create services as well as why this may be a useful feature. It will then move onto another useful feature of defining parent services for reducing the configuration overhead when managing services with many common dependencies. The ability to tag services will be looked at as a way for getting your services registered before moving onto how to use compiler passes to register tagged services with your own services. This will be followed by a more general look at compiler passes and the compilation process. Finally it will take a look at this issue of the scope of services within the container.

What do I get from the full stack framework? — English

Richard Miller

There has been much talk recently of micro frameworks and using small libraries instead of monolithic frameworks. Symfony2's components fit well with this philosophy but this talk will look at what you gain by using the full stack Symfony2 framework along with its bundle system. The standard distribution of the Symfony2 full stack framework is made up of the Symfony2 components, libraries such as Assetic and bundles. This talk will look at the added value of these bundles and how they integrate the components and libraries over and above what you get just using them together. The talk will look at the advantages of third party bundles integrating other libraries into the framework over using the library alone. Using examples such as providing the boiler plate code for integration with libraries such as Twig, Doctrine and Propel. As well as how the learning curve is reduced by using a bundle that makes a new library available as a more familiar service.

What mom never told you about Bundle configurations — English

Dennis Benkert

Creating your own Bundles is cool. Adding some configuration options to them is also easily achieved. But what happens if someday you publish your Bundle to a public audience and people want to change basic configuration options or replace your services with their custom implementations? This session will show you how you make your bundles more user friendly by making them more configureable and extendable and why taking a closer look at Symfony's Configuration Component is worth a try.

twig.js: The Templating Engine for the Client-Side — English

Johannes S

In this session, we will take an introductory look at twig.js, the Javascript port of the amazing Twig templating engine. We will learn how you can leverage all the power of Twig on the client-side including advanced features such as i18n support, inheritance, or macros. While twig.js can be used standalone, it also has first-class integration with Assetic. Therefore, we will also take a look at one of Assetic's latest features, asset variables, and how we can leverage it with twig.js.

PHP developers, what can Postgresql do for you ? — English

Grégoire Hubert

While light are still focused on the NoSQL movement, Postgresql evolves and today, it proposes some unique features. In the first part of this session, We will see why the constraint system is a keystone of your database architecture. We will get trough schemas, types and operators (including key-value stores, xml, geometric types and more). See how Postgres can deal with arrays and objects, how to relate rows to each other in a result set using window functions and Common Table Expressions. Database abstraction tools do not make developers to easily get advantage of these features. We will see in a second part how Pomm sets the power of the Postgresql database at your fingertips in your PHP, Silex and Symfony2 projects. A database is not only about storing data but is about giving the developers a way to retrieve them in a intelligent manner to make better applications.

Advanced Silex — English

Igor Wiedler

Silex is a micro-framework based on Symfony2 components. This talk will assume that you have a basic understanding of what it is. This time I will go into bootstrapping a real sample app. I will show you how to define controllers, autoloading, services, writing tests, creating a RESTful API. We will also get into using some of the many already available extensions. If you're considering using Silex in the future, this talk is for you.

wetter.com - Relaunch with symfony2, Assetic, Varnish and Twig — English

Gaylord Aulke

After a lot of hard work, on march 10 a complete rebuild of wetter.com went online. The site is #1 or #2 in germany for weather forecasts since years with millions of visits/day. It was built completely new on PHP 5.4, Symfony 2, MySQL, SolR, Varnish and NginX. 100 DAYS implemented the symfony2 parts of this project. This session describes the experiences we made when developing and launching this large scale application.

Agile and Symfony — English

David Buchmann

In this talk I will share our experiences at Liip with agile development in Symfony2. I focus on technical aspects of agility that will be helpful wheter you use Scrum, Kanban or some other agile process. Agility is not limited to program code, there are also ways to handle data model changes. I will talk about our take on unit and functional tests with the WebTestCase, about the Doctrine Migrations project and automated deployment.

Redis - Your advanced in-memory key-value store — English

Jordi Boggiano

Most of the NoSQL movement and buzz happened around the Map/Reduce type of storage like CouchDB and MongoDB, while Redis, mostly unknown, shines by it's simplicity. It is an in-memory database that (unlike Memcached) actually persists the data to disk to survive restarts and failures. It can help scale up write-heavy applications, but also serves as a great tool to understand how most databases work and learn to think in lower level storage terms, and can be fun to play with for small scale projects.

Decoupling Content Management with Create and PHPCR — English

Henri Bergius

The state of Content Management Systems is monolithic: if you're choosing a system based on its UI, this will mandate the web development tools and languages to use, and even the database where your content is stored. But now a new movement has started towards a more decoupled CMS landscape. Projects like Create and PHPCR spearhead it, giving CMS developers previously-unseen opportunities for cross-project collaboration. Create is the next generation user interface for content management. Itprovides a fully client-side content editing experience built on tools and standards like RDFa and Backbone.js. With Create, end users can stop filling forms and start communicating with their audience. PHPCR is the PHP port of the Java Content Repository standard, giving a flexible way for CMS developers to define their content model, and to work with content trees. This talk will explain how both Create and PHPCR work, and how they can be utilized in Symfony2 development.

Symfony2 search engine propelled by Solr — English

Xavier Briand

Feedbacks of Solr search engine implementation on laplateforme.com, exaclairshop.eu, symfony.com and connect websites and how to manage indexing and searching with Symfony2.

Symfony2 CMF — English

Lukas Kahwe Smith

The Symfony2 CMF project aims to provide infrastructure to enable developers to quickly create custom CMS solutions on top of Symfony2. The goal isn't to build the one true CMS, but to provide "use at will" pieces. This talk will go over all the key pieces available show cases as part of the CMF sandbox and how these can already be used to create production ready websites.

ORMs don't kill your database, developers do! — English

Guilherme Blanco

As soon as you decide to use an ORM tool, one of the biggest factors is Rapid Application Development. Everything is wonderful during development phase, but when it hits production, performance doesn't work like you expect. You may think it's ORM's fault, your expected it to write as efficient queries as you manually do, but like guns, ORMs don't kill your database, developers do! This talk will go deep into Doctrine 2 ORM by exploring performance tips that can save your application from its deepest nightmare.

Dependency Management with Composer — English

Jordi Boggiano

Composer is a new PHP dependency manager. It resolves and downloads the packages your project requires. In this session you will learn how to use Composer to easily manage the libraries and other packages you use. We will go through the basics of dependency management and then move on toward publishing your own packages, be it open source ones or closed company code that is used by multiple projects.

SensioLabs

92-98, Boulevard Victor Hugo
92115 Clichy Cedex
France
+33 1 40 99 82 89
annesophie.bachelard [at] sensiolabs.com