Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Soirée Combo
au Caen Camp
------------

Matthieu Hébert
@maattt10, maatthieu.hebert@gmail.com

Julien Anne
@Julien_ANNE, devsite-caen.fr, contact@julien-anne.fr




Pair Programming
TDD
Ruby on Rails
AngularJS
Pair Programming : binômage

1 clavier, 1 souris, 1 machine, 2 cerveaux actifs

Cadre de projet agile :

Relecture permanente

Test Driven Development

Guide pour l'écriture et la structuration du code

Non régression du code

J'écris un test → Il échoue → Je le fais passer

Application au
pair programming

Ruby on Rails

Framework web libre écrit en Ruby

MVC

Don't Repeat Yourself

Convention plutôt que configuration

Rails est un gem pour Ruby (bibliothèque logicielle)

Scaffolding

Rails et TDD

Rails intègre un moteur de tests automatiques (Test::Unit)

Génération de tests via le scaffolding

Test des contrôleurs, des modèles, des vues et tests de performances

Environnement et données de test

1 test, plusieurs vérifications (assert)

Rails et TDD

3 raisons pour qu'un test échoue

Passage du clavier seulement en cas de "failure" mais pas "error"

Modification de fixtures pour faire échouer un test

Démo
Rest

1 url + 1 "verbe" → Action connue sur une ressource

"Verbes" : GET, POST, PUT, DELETE

Ruby on Rails permet de faire une appli RESTful

API JSON

Application Programming Interface

Interface permettant l'interaction avec des services

Javascript Object Notation

Format de données textuelles basé sur { clé : valeur }

Facilement réalisable en Ruby on Rails (démo)

AngularJS

FrameworkJS Open Source créé par Google

Application web monopage

Utilise JQuery Lite (compatibilité avec JQuery)

MVC

Manipulation du Dom simplifiée

Compatibilité aisée à partir d'IE8

Two-way data-binding : synchro auto modèles et vues

Vues avec layouts et templates

Système de routes - Gestion historique navigateur

Considère test aussi important que application (cf: tuto)

Test avec Karma anciennement Testacular (cf: tuto)

Démo
Voici quelques pistes pour faire des applications avec Rails et AngularJS en pratiquant les TDD et le binômage.

Merci d'avoir suivi, toutes les questions sont les bienvenues.

Matthieu Hébert : @maattt10, maatthieu.hebert@gmail.com

Julien Anne : @Julien_ANNE, devsite-caen.fr, contact@julien-anne.fr

Retrouvez la présentation et le code source du live-coding sur github : https://github.com/julienanne/presCaenCamp