March 10-12, 2010
Montreal, Canada

Top 20 sessions

> Le standard SGQRI 008 arrive.
Présentation de la portée du nouveau standard du gouvernement du Québec en matière d'accessibilité numérique et du calendrier de son adoption.

> En quoi suis-je concerné?
Présentation des risques et des avantages concurrentiels

> Mes outils et mon organisation sont-ils prêts?
Au travers d'exemples concrets, évaluation des besoins en outils de gestion de contenu et des pratiques de production Web.
Python fournit plusieurs outils pour packager ses applications,
ainsi qu'un serveur de paquets appelé "PyPI".

Après une rapide introduction aux outils de packaging les plus.
communéments utilisés et à PyPI, cette présentation montrera à travers.
une étude de cas comment :
- les développeurs peuvent créer des distributions et les diffuser
en utilisant Distutils et Distribute.
- les utilisateurs peuvent les installer avec Pip et virtualenv.

Elle s'achèvera par une synthèse des travaux en cours dans Distutils.


- Distutils, Distribute, Pip, Virtualenv (5m)
- PyPI (5mn)
- étude de cas 1/2 (15mn)
- organisation du code.
- extensions C
- distributions source/binaire
- register et upload vers PyPI
- etude de cas 2/2 (10mn)
- installation avec Pip
- isolation avec Virtualenv
- limitations (5mn)
- Distutils vs paquets système
- Plusieurs standards
- Pas d'index d'installation
- PEPs en cours (5mn)
- Q/A (15mn)
OAuth allows users to authorize applications, mobile devices and web services to access their resources without having to expose their personal credentials to them. Using the Netflix API and the OAuth implementation provided by Mashery, I will demonstrate how OAuth works and why you might want to consider leveraging it when exposing your API to the world.
Many developers are still using the traditional XML parsers, such as DOM, SimpleXML and XML to read and/or create XML documents, completely unaware of the benefits using XMLReader and XMLWriter could bring to a project. Streaming XML can provide numerous benefits including simpler APIs, faster processing and better resource usage. Find out how you can take advantage of these benefits in PHP through the use of XMLReader and XMLWriter.
Last year at Google I/O, thousands of web developers heard Google say that HTML5 was here. Well, here we are, almost one year later. Where is HTML5 now? What works, and what is still to come?

Topics I'll cover:
- canvas
- HTML5 video
- geolocation
- offline web applications
- how to detect HTML5 features via JavaScript
Acquia: une plateforme de gestion centralisée de nouvelle génération

• Présentation de la plateforme d’Acquia
• L'approche modulaire d'Acquia (Drupal)
• L'intégration des grandes distributions de logiciel libre avec Acquia : Alfresco.
• La gestion documentaire à travers un CMS
• Les avantages et les inconvénients
Come and learn about Plone, winner of Packt Publishing's 2009 Best Other Open Source CMS Award, used by organizations like the FBI, CIA, Discover Magazine and the Government of Ontario.

Plone is a powerful, flexible Content Management Solution that is easy to install, use and extend.

As an introduction geared towards business owners, developers and end users, this talk will leave you with a deeper understanding of how Plone is used by businesses, governments, non-profits and educational organizations around the world.

Through demonstration, case studies, and explanation, Jordan Baker will illustrate the top ten things that people love about Plone.

Topics to be covered include Python, Zope, Plone's open source community, security, integration, multi-lingual capabilities and the extensive catalog of add-ons.

You'll also learn how you can download and install Plone and start evaluating it yourself in a matter of minutes!
Les langages dynamiques permettent d'écrire des applications Web rapidement, mais comment rendre ces applications suffisamment rapides ?

Notre présentation, dédiée à Python, passera en revue diverses considérations plus ou moins spécifiques à ce langage, parmi lesquelles :

- Les implémentations de Python
- Caractéristiques de l'implémentation de référence
- Structures de données
- Gestion de la mémoire
- Parallélisme
- Techniques d'optimisation
Do you feel overwhelmed at the thought of yet more communication tools, like Twitter, FaceBook, LinkedIn, etc? Welcome to the Information Age - it’s only going to get worse! Keeping up with contacts, prospects, and customers can be a full-time job. The result is that what was supposed to be convenient communication has become an endless source of unlimited distractions. Attend this presentation and learn:
-a common-sense explanation of social media and how it applies to you
-manageable ways to consider incorporating social media into your life
-the truth about multi-tasking
-the most valuable skill for the future
-techniques to maintain focus, even amid all the distractions
-ideas to control information and technology, so it doesn’t control you
Application servers are the central part of data applications. They are responsible for mission critical activities of businesses and yet have to be cost effective. Django offers a lot of flexibility by providing rapid application development. Django-piston makes it easy to add RESTful APIs to existing Django apps. Web servers are very common and rather cheap to rent or host in house.

Once your application has a RESTful API, nothing is keeping desktop applications to access your web services. For example, using librest on the desktop, Emerillon accesses on-line databases such as Geonames. Librest simplifies accessing RESTful web services and makes parsing XML fun again.

This presentation will cover:
* Intro to RESTful APIs
* XML, Json, Yaml or Klingon?
* Using Django-piston to provide such APIs
* Example usage from desktop applications
When thinking of online maps, Google Maps is often mentioned as a reference. But you can't user their data in all the exiting ways you could ever imagine. Enters OpenStreetMap: community built openly licensed map data. You are virtually free to do anything with the data, short of not giving proper attribution of its origins.

With this gained freedom, you can explore and create unique maps adjusted to your needs. You can also simply reuse the default one available on, in some locations it is way more complete than any other maps anyway.

This presentation will cover:
* Introduction to what is OpenStreetMap
* How to contribute data
* How to use it on your web site using OpenLayers
* How to use it in your applications using libchamplain, with Emerillon for example.
In this technical session, you will learn how to take advantage of the performance and scalability mechanisms of the Oracle PHP driver, and the Oracle database including the Database Resident Connection Pool (DRCP),
reducing roundtrips with stored procedures, scaling queries with cube-organized materialized view.

The fastest database access is no database access. This talk also shows how effective database caching strategies can be implemented using Oracle's caching mechanisms including Continuous Query Notification and middle-tier cache invalidation, client query result cache and in-memory database cache.
L'utilisation de prototypes papier dans le développement logiciel est une méthode simple et rapide de créer et valider des interfaces utilisateurs avant même d'écrire une seule ligne de code. Cet atelier permet d'établir les bases, par la théorie et la pratique, sur la conception et validation de prototypes papier et leur intégration aux itérations Scrum. Les objectifs sont alors de faire mieux connaitre les avantages de l'utilisation de prototypes papier. Découvrir quand et comment les intégrer et les valider durant le déroulement d'une itération. La simulation inclus une partie théorique, mais principalement composée d'un atelier pratique.
Your mission, should you choose to accept it, is to internationalize your web site or application into four languages, one of which is ideographic. Whether you’re using PHP 5 or 6, the challenge is formidable. How do you do this with minimal effort, best performance, and flexibility to add more languages in the future?

This session will cover several approaches to this problem, focusing on utilizing the new intl extension as well as other open source tools. Warning: some live translations may be performed for the audience!
The ability to debug and troubleshoot Java/JDBC applications errors is crucial. This technical session will show how to debug Oracle JDBC applications using easily accessible tools such as trcasst, tkprof, oracle logging, jnettrace, jdb, tcpdump/windump, jstack, pstack, strace/truss, lsof, etc.
The session will also address tips and best practices for avoiding those pitfalls.
D'abord le concept de tests d'intrusions sera défini. Ensuite, le fuzzing sera présenté en détails : définitions, méthodologies, avantages et inconvénients, etc. en mettant l'emphase sur le fuzzing dans les tests d'intrusions, et plus spécifiquement les tests d'applications Web. Dans la deuxième partie, nous ferons un survol des différentes utilisations du fuzzing dans les outils de tests d'intrusions les plus populaires et deux cas de fuzzing d'applications Web seront vus en détails. Le premier de ces deux cas concerne les REDoS (Regular Expression Denial of Service). Nous avons développé pour cette présentation un plugin de détection des REDoS qui a été inséré au code de W3AF, un scanneur de vulnérabilités d'applications Web développé par l'OWASP. Le deuxième cas détail les possibilités de fuzzing de Web Services.
Constellio est la première suite complète de moteur de recherche open source pour entreprises.

Le nouveau moteur de recherche de Doculibre Inc. est le résultat d'une expérience de 3 ans au sein du gouvernement du Québec. Supporter plus de 400 moteurs de recherche de sites Web gouvernementaux, nous a permis d'intégrer les meilleures pratiques à notre logiciel.

Constellio est basé sur l'architecture de Google Search Appliance et Apache Solr. Il utilise les dernières technologies en matière de recherche de l'information.

Conçu pour supporter toutes les données d'une organisation (web, intranet, courriel, gestion documentaire, bases de données etc.), il permet en un seul clic de ressortir tous vos actifs informationnels.

La Régie du Cinéma du Québec a intégré Constellio pour la recherche de films sur son site.
With such a vibrant and emerging Blending SQL and NoSQL in Ruby Applicationseconomy of new persistence options for web applications, it can be diffcult to know when and how to use them in your applications. Worse yet, you don't want to lose mountains of existing infrastructure and support for RDBMS systems in Ruby. What's a developer to do? Blend it! Learn new techniques for using multiple persistence engines in a single application.

Participants will learn about a number of available NoSQL persistence engines (including document-oriented databases such as CouchDB and MongoDB, key-value stores like Tokyo Cabinet and Redis, and more) and when they might be appropriate for a Ruby application. In addition, attendees will learn good practice techniques for blending these systems together with traditional SQL for a "best of all worlds" implementation with real-world examples.
Gearman is an application framework for distributing work to other machines and processors which are better suited for the job. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events. In other words, it is the nervous system for how distributed processing communicates. With things like scalability and distributed computing becoming more and more important to today's web applications, Gearman and its PHP interface can prove quite useful to us in a variety of situations. In this talk, we'll first have a look at what distributed processing exactly means, and then looking at what Gearman actually is and does, and how it can power up your application using the Gearman PHP extension. By showing different examples and application area's, you'll get a good feeling of what Gearman is capable of and why it can be a valuable asset to your next PHP project.
Regular Expressions: every developer's best friend and worst nightmare! Join Andrei Zmievski, PHP developer and author of the PHP Regex (PCRE) extension, on a journey that will take you from your first steps into the world of regular expressions to complete mastery of this most useful of tools. A must for everyone who's ever wondered what /(?=\d+)bar/ means.