Le développement côté utilisateur

Preview:

DESCRIPTION

Cours donné aux licences webdeveloppement à l'INSSET de Saint Quentin le Mardi 2 Octobre 2012.

Citation preview

LE DÉVELOPPEMENT

CÔTÉ UTILISATEUR

David BurosDéveloppeur – No Parking

About.me

Développeur PHP depuis 5 ans.

Quatre belles expériences en entreprise.

Du code, mais pas que.

Veille, veille, veille !

L'INFORMATICIEN« Rush middle ! »« Rush middle ! »

ww.web2mag.info/wp-content/uploads/2011/09/Fotolia_18567847_Subscription_XL.jpg

« Faire comprendre votre travail, c'est déjà votre travail »

« Plus vous communiquerez et plus on vous fera confiance »

« Les non techniciens sont vos amis. Et souvent vos collègues »

« Gardez à l'esprit pour qui vous travaillez »

Vous êtes desARTISANS

Pas des TRADERS

Ni des chefs de projets. (petite digression right now)

EXERCICE N°

1EXPLIQUEZ

… en une cinquantaine de mots, Internet à votre grand-mère.Bien entendu, vous adapterez votre langage.

Postulat de départ : elle n'est pas sourde et a toute sa tête.

10 minutes

LE CLIENT

http://referencechecknz.co.nz/wp-content/uploads/networking2.jpg

« Bleu le bouton, heu non rouge, heu non vert, heuuuuu ...»« Bleu le bouton, heu non rouge, heu non vert, heuuuuu ...»

PAR DÉFINITION, LE CLIENT NE SAIT PAS CE QU'IL VEUT.

Et ne le saura sûrement vraiment jamais.

Va falloir vous y faire.

Désolé :-/

Le client ne sait pas dire ce Le client ne sait pas dire ce qu'il veut ?qu'il veut ?

Vous ne parlez pas le même Vous ne parlez pas le même langage ?langage ?

La communication passe mal La communication passe mal et les infos se perdent ?et les infos se perdent ?

Votre boite pratique le Votre boite pratique le développeur black-box ?développeur black-box ?

Faites lui dire ce qu'il ne veut Faites lui dire ce qu'il ne veut surtout pas !surtout pas !

Entendez-vous sur un Entendez-vous sur un dictionnaire de termes !dictionnaire de termes !

Choisissez un interlocuteur Choisissez un interlocuteur unique et rencontrez-vous IRL !unique et rencontrez-vous IRL !

Ca vous plait ? Tant mieux. Ca vous plait ? Tant mieux. Sinon changez, vite !Sinon changez, vite !

C'est [presque] gagné si vous comprenez le métier de votre

client.

http://www.azprocede.fr/Schema_GC/galleries/Usines_Procedes_Produits/raffinerie_ariel_texas_bas_bp.jpg

=

EXERCICE N°

2IMAGINEZ

… dans les grandes lignes, les aménagements que vous apporteriez à votre épicerie fine pour attirer les personnes mal

voyantes du foyer qui se trouve de l'autre côté de la rue.

Postulat de départ : budget illimité. 15 minutes

http://qse.free.fr/IMG/jpg/tunnel.jpg

LE PROJET« Dépêche toi de commencer, c'est pour hier ! »« Dépêche toi de commencer, c'est pour hier ! »

L'effet papillon tunnel

1. Réunion ↓

2. Cahier des charges fonctionnelles↓

3. Cahier des charges techniques↓

4. 5. 6... Faille spatio-temporelle de 6 mois↓

1 247. Site terminé↓

« Ha, mais j'avais pas demandé ça (le client)»↓

Goto étape 1

- LE MANIFESTE AGILE -

« Les individus et leurs interactions plus que les processus et les outils »

« Des logiciels opérationnels plus qu’une documentation exhaustive »

« La collaboration avec les clients plus que la négociation contractuelle »

« L’adaptation au changement plus que le suivi d’un plan »

Product OwnerProduct Owner

Scrum MasterScrum Master

BacklogBacklog

SprintSprint

User Story

En tant que ROLE, je souhaite ACTION pour BUT.

« En tant que client, je souhaite uploader des documents pour compléter ma bibliothèque »

EXERCICE N°

3PLANIFIEZ

… un sprint ! Ecrivez les user stories, faites un planning poker et mettez en place le backlog en vous basant sur les deux

dernières semaines.

Postulat de départ : utiliser votre propre projet ou devenez américain et recréez Facebook,

Github ou Twitter. 1 heure

LA QUALITÉLOGICIELLE

http://www.lizardheadone.com/Engine.html

LES OUTILS« Les mains dans le cambouis »« Les mains dans le cambouis »

OUTILS MAITRISES

≠OUTILS ADAPTES

≠PRISE DE RISQUE INCONSCIDEREE

EXERCICE N°

4CONCEVEZ

… une plateforme d'emailing 3.0 en utilisant un maximum d'outils et de librairies externes.

Postulat de départ : internet et coup de bigot à une proximité autorisé.

20 minutes

http://www.historyofinformation.com/narrative/restating-the-problem.php

LES TESTS« Finalement, on gagne du temps »« Finalement, on gagne du temps »

TESTS UNITAIRES

class Request { /* CODE */

public function getPost($name = null) { if (null === $name) { return $this->_post; } return array_key_exists($name, $this->_post)?$this->_post[$name]:null; }}

class RequestTest extends \PHPUnit_Framework_TestCase { /* CODE */

public function testGetPost() { $this->assertInternalType('array', $this->object->getPost()); $this->assertNull($this->object->getPost('test')); $this->object->setPost(array('test' => 'value')); $this->assertEquals('value', $this->object->getPost('test')); $this->assertEquals(array('test' => 'value'), $this->object->getPost()); }}

Behavior Driven Development

TESTS FONCTIONNELS

EXERCICE N°

5TESTEZ

… fonctionnellement, en BDD puis unitairement une méthode permettant d'envoyer un SMS à un utilisateur en cas de tweet

insultant à son égard.

Postulat de départ : seul le langage du Capitaine Haddock est autorisé.

15 minutes

http://events.2hweb.net/scrapbook04su.html

LE VERSIONNING« Retour vers le futur »« Retour vers le futur »

CENTRALISE VS DISTRIBUE

EXERCICE N°

6DEPLOYEZ

… votre application en ligne en utilisant les fonctionnalités offertes par un gestionnaire de version.

Postulat de départ : pensez au crash ;)

5 minutes

?Contact : david.buros@noparking.net

EXTRABONUS

Pour les curieux

http://getsocialwithamy.com/wp-content/uploads/2012/02/Vermillion_River_Kootenay_National_Park_Canada.jpg

INTEGRATIONCONTINUE

« Errors, you shall not pass »« Errors, you shall not pass »

1 : Commitez votre travail de la journée.

2 : Faite un build.

3 : Mergez vos branches.

4 : Mettez les sources en production en un clic.

5 : Allez vous reposer, demain on recommence.

http://adnm-grp.com/services/solutions-et-lhebergement.html

LE DEVOP« La tête dans les nuages »« La tête dans les nuages »

DEV + OP

Cloud ComputingCloud Computing

IaaS - PaaSIaaS - PaaS

Chef - PuppetChef - Puppet

CapistranoCapistrano

Recommended