Upload
david-buros
View
379
Download
2
Embed Size (px)
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 : [email protected]
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