March 7-9, 2018
Montreal, Canada

Top 20 sessions

HTML & CSS CSS is becoming more and more powerful and nowadays it allows a lot of possibilities. This talk is a compilation examples for more advanced tips and techniques to add to your CSS skills. Have you ever wanted to curve text around a floated image? Or maybe style broken images? How about using attribute selectors more effectively? Then this talk is for you.
Architecture & design patternsJavaScript When starting to dabble with Javascript, the biggest challenge for most developers is understanding how to deal with asynchronous development. During this talk, we will cover some of the different ways to handle async programming like callbacks, promises, reactive streams and events. Developers attending this talk will have a better understanding of asynchronous programming and will have a few new tools to their belt to tackle those issues.
HTML & CSSJavaScript Progressive Web Apps are the new hotness with Google pressing hard to make them the defacto choice for building mobile applications but what's to be done about iOS where many of the key API's are not supported. That's where Apache Cordova/PhoneGap comes in by polyfilling the missing functionality. In this talk I'll show you how to create a PWA that runs on the web, Android and iOS from a single code base. Take advantage of some new tools to easil
JavaScript This session will cover the developments of the JavaScript / ECMAScript language in recent years, to give you a quick update on how JavaScript can be written in 2018.

The pace of the JS community has remained very high for several years now, and it is often easy to be overwhelmed by the amount of options and new developments. I will present a limited set of features and tools to let you join us in the future without decision paralysis.
HTML & CSS For years, front-end developers fumbled with hacking floats for layouts, limited by how floats work. Now with the new Grid specification in CSS, we can easily define behaviors for each cell in our layouts in two dimensions. When combined with media queries, we can specify where each cell will be placed under a variety of conditions, in horizontal and vertical space. Similarities and differences with Flexbox will also be identified and discussed.
AccessibilityHTML & CSS Developers often have to make decisions that will affect the usability of the finished site, such as choosing appropriate input types, maximizing performance, and including accessibility features. Learn to think like a user and uncover usability problems that might not be apparent at first glance. Hear some tips make your site more usable and accessible. User experience isn't just for designers to think about.
Architecture & design patterns Much of the software we write is built to support a business process, this generally means validating and storing user data into a database. Often this is a mismatch with the actual business process, which is more reactive and task oriented. In this talk we'll look at using business events to drive the evolution of our software design and see how we can build a model which better reflects the businesses processes.
Tests & quality La revue de code est un super outil pour attraper des erreurs, disséminer les idées et le savoir, et alimenter la collaboration entre les membres de votre équipe. Voyons ensemble le pourquoi et le comment de la revue de code, autant du côté dévelopeur que du côté business. Comment faire une requête de changement facile à réviser, quoi automatiser, à quels détails être le plus attentif et quels sont les gains pour votre entreprise.
Architecture & design patterns While Object Oriented Programming provides a basis for structuring code, the question "How do I make sense of all those business rules?" remains unanswered. Domain Driven Design (DDD) main goal is to manage complexity by defining how to translate domain logic to code. In this presentation, you will see the main concepts of DDD and how it facilitates communication between developers and domain experts.
Tests & quality How often have you rewritten your unit tests from scratch just because the code it was testing evolved sligthly ?
In this session we will explore some unit testing techniques from other languages to produce more robust tests in PHP.
You won't have to give up or send your unit test to the trashcan (ever) again.
JavaScriptNode.js For all the power and flexibility JavaScript offers, maintaining even a medium sized JavaScript project can be a nightmare. In addition, IDEs offer limited support during development as it's hard to determine object types. TypeScript, a superset of JavaScript, brings strong typing, robust module management, and enhanced tooling while emitting cross-platform JavaScript. And, if you know JavaScript, you can get up and running in 45 minutes.
JavaScriptPHPArtificial intelligenceMachine learning From chatbots to your home thermostat, it seems like machine learning algorithms are everywhere nowadays. How about understanding how this works now? In this talk, you will learn the basics of machine learning through various basic examples, without the need for a PhD or deep knowledge of assembly. At the end of this talk, you will know what the Naive Bayes classifiers, sentiment analysis and basic genetic algorithms are and how they work.
JavaScriptNode.js Developers often waste untold hours a week waiting for rebuilds, manually switching windows, reloading pages, restoring in-page state, and so on. This is unfortunate, as we've been gifted with numerous tools to automate reload, and even *hot reload*, for quite a while now.

In this talk, Christophe showcases workflows, tips and tricks, using widespread editors, tools and browsers, to make that web / Node developer feedback loop ever tighter.
DevOpsPHP "Every outage is like a murder mystery" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor PHP applications from all possible sides — operating system, webserver, database, logs, metrics, and tracing across systems.
JavaScript Web components are a simple and powerful way to extend the web. Add my-custom-component tags, sprinkle in some JavaScript, and new functionality springs to life!

We'll take a simple web component from idea to implementation, effectively and simultaneously targeting vanilla JS all the way to webpack. The highlights include inputs, events, dependency management, polyfill strategies, performance, payload size, managing updates, and more!
Architecture & design patternsPHP In this presentation I will show you how to leverage HTTP headers in your PHP application to achieve a maximum hit rate, without losing touch with the challenges of real-world web projects.

We'll talk about cache-control headers, ESI, AJAX calls, vary headers, accept-language, separating stateful from stateless content, conditional requests, and content invalidation.

I'll apply these concepts to a Symfony 3 application to prove my point.
Architecture & design patternsPHP Designing softwares with an object oriented approach is hard... really hard! In fact, making good object oriented design (aka OOD) is very difficult for many developers as it goes far beyond basic concepts like classes, objects, inheritance and interfaces. This talk will provide tips and techniques to help you design better object oriented code. We'll cover topics like SOLID principles, composition vs inheritance, value objects, entities, etc.
Architecture & design patterns We’ve been building hypermedia APIs in one shape or another for a long time. As JSON continues to take over the world, many new specifications promise to deliver an easier way to create and evolve our APIs. After covering what problems ReST 3.0 tries to solve, we’ll evaluate the specifications and tools we can leverage. To the cloud and beyond!
JavaScriptTests & quality Back in 2006 jQuery 1.0 was released. Today, jQuery is still used by a large portion of the web: 70% of the top 100k sites! Its sheer ubiquity is evident: Bootstrap v3's JavaScript plugins depend on it! jQuery's brilliant selectors, powerful Ajax calls, and how well it has abstracted away browser differences has enabled developers to move the web forward.

Together we'll explore refactoring and testing jQuery code using modern JavaScript.
JavaScriptNode.js JavaScript is single threaded, so understanding the async patterns available in the language is critical to creating maintainable NodeJS applications with good performance. In order to master “thinking in async”, we’ll explore the async patterns available in node and JavaScript including standard callbacks, promises, thunks/tasks, the new async/await, the upcoming asynchronous iteration features, streams, CSP and ES Observables.

View all 155 sessions

Montreal 2018 sponsored by

Become a sponsor