Comment on a payé notre dette technique avec GraphQL
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
Luc Momal
Staff Engineer @
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10589286/pasted-from-clipboard.png)
Luc Momal
Staff Engineer @
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10401273/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405176/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405197/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405201/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421297/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10423806/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10423807/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
naissance d'un futur code legacy
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400274/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400289/pasted-from-clipboard.png)
Légende: Entité comme intérimaire, entreprise, contrat, facture ..
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
Notre histoire a commencé en 2015
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
Quelques années plus tard
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400274/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400353/pasted-from-clipboard.png)
J'ai pas les spaghettis.. bye bye !
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400386/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400390/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
Vas y, on reconstruit, tout ! 🥳
I don't like spaghetti.. bye bye !
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
3 mois
1 an plus tard
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
BIG BANG!!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
Synchronisation!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
BIG BANG!!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400563/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400577/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400602/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
BIG BANG!!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400563/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400577/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400602/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
BIG BANG!!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400563/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400577/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400602/pasted-from-clipboard.png)
GraphQL à la rescousse
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404812/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
GraphQL est un PATTERN pas une technologie
GraphQL est langage pour ton API
GraphQL est un remplacant REST
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400723/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404812/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403307/pasted-from-clipboard.png)
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403317/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421409/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403307/pasted-from-clipboard.png)
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403317/pasted-from-clipboard.png)
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403327/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10423849/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403307/pasted-from-clipboard.png)
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403317/pasted-from-clipboard.png)
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403327/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
const resolvers = {
Query: {
worker: (parent, args, ctx) => db.worker.get(args.id)
},
Worker: {
id: (parent) => parent.id,
firstName: (parent) => parent.firstName,
lastName: (parent) => parent.lastName,
contracts: (parent) => db.contracts.getFromWorker(parent.id)
},
Contract: {
from: (parent) => parent.from,
to: (parent) => parent.to,
company: (parent) => db.company.get(parent.companyId),
},
Company: {
name: (parent) => parent.name
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421443/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421461/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
const resolvers = {
Query: {
worker: (parent, args, ctx) => db.worker.get(args.id)
},
Worker: {
id: (parent) => parent.id,
firstName: (parent) => parent.firstName,
lastName: (parent) => parent.lastName,
contracts: (parent) => db.contract.getFromWorker(parent.id)
},
Contract: {
from: (parent) => parent.from,
to: (parent) => parent.to,
company: (parent) => db.company.get(parent.companyId),
},
Company: {
name: (parent) => parent.name
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421443/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421461/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
const resolvers = {
Query: {
worker: (parent, args, ctx) => db.worker.get(args.id)
},
Worker: {
id: (parent) => parent.id,
firstName: (parent) => parent.firstName,
lastName: (parent) => parent.lastName,
contracts: (parent) => db.contracts.getFromWorker(parent.id)
},
Contract: {
from: (parent) => parent.from,
to: (parent) => parent.to,
company: (parent) => db.company.get(parent.companyId),
},
Company: {
name: (parent) => parent.name
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421443/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421461/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
const resolvers = {
Query: {
worker: (parent, args, ctx) => db.worker.get(args.id)
},
Worker: {
id: (parent) => parent.id,
firstName: (parent) => parent.firstName,
lastName: (parent) => parent.lastName,
contracts: (parent) => db.contracts.getFromWorker(parent.id)
},
Contract: {
from: (parent) => parent.from,
to: (parent) => parent.to,
company: (parent) => db.company.get(parent.companyId),
},
Company: {
name: (parent) => parent.name
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
AMAZING!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421443/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421461/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL
type Query {
worker(id: ID!): Worker
}
type Worker {
id: ID!
firstName: String
lastName: String
contracts: [Contract]
}
type Contract {
from: Date
to: Date
company: Company
}
type Company {
name: String
}
query {
worker(id: 42) {
id
firstName
contracts {
company {
name
}
}
}
}
{
worker: {
id: 42,
firstName: "John",
contracts: [
{
company: {
name: "cie"
}
}
]
}
}
const resolvers = {
Query: {
worker: (parent, args, ctx) => db.worker.get(args.id)
},
Worker: {
id: (parent) => parent.id,
firstName: (parent) => parent.firstName,
lastName: (parent) => parent.lastName,
contracts: (parent) => db.contracts.getFromWorker(parent.id)
},
Contract: {
from: (parent) => parent.from,
to: (parent) => parent.to,
company: (parent) => db.company.get(parent.companyId),
},
Company: {
name: (parent) => parent.name
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
AMAZING!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400563/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400577/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
Mmh, no!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421443/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10421461/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
Il est temps de payer notre dette technique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398655/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398654/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398644/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400365/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400532/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400563/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400577/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
Mmh, no!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
Migration du dernier composant de la v1
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
GET /workers/42/contracts
{
worker: {
id: 42,
firstName: "John",
lastName: "Doe",
birthDate: "31/08/1989",
//etc...
contracts: [
{
company: {
name: "cie",
invoiceSettings: {},
contacts: {},
//etc...
}
}
]
}
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
❌ Mmh, no!!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404369/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404380/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404383/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404384/pasted-from-clipboard.png)
read only
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400602/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400226/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400248/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400257/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400251/pasted-from-clipboard.png)
GraphQL pour créer une nouvelle interface
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404369/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404380/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404383/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404384/pasted-from-clipboard.png)
REST call
read only
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404811/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404852/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
GraphQL pour repenser le domaine
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404369/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404380/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404383/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404384/pasted-from-clipboard.png)
read only
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404811/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404871/pasted-from-clipboard.png)
type Mission {
from: String
to: String
contracts: [Contract]
company: Company
worker: Worker
}
type Contract {
type: String
from: String
to: String
}
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404918/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
{
"company_name": "ABC Corp",
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"zip": "12345"
},
"invoicing_settings": {
"currency": "USD",
"tax_rate": 0.08,
"invoice_terms": "Payment due within 30 days",
"invoice_footer": "Thank you for your business!"
},
"jobs": [...],
"contacts": [...],
...
}
Toutes les informations concernants les entreprises sont stockées
à un seul endroit dans la v1
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
const Company = {
"company_name": "ABC Corp",
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"zip": "12345"
},
}
const CompanyInvoicingSettings = {
"invoicing_settings": {
"currency": "USD",
"tax_rate": 0.08,
"invoice_terms": "Payment due within 30 days",
"invoice_footer": "Thank you for your business!"
},
}
const CompanyJobs = {
"jobs": [...],
}
const CompanyContacts = {
"contacts": [...],
}
✂ Ces données peuvent être séparées en plusieurs morceaux.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10407394/pasted-from-clipboard.png)
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
type Company {
name: String
street: String
city: String
state: String
zip: String
invoicing: CompanyInvoicingSettings
job: CompanyJob
contacts: CompanyContacts
}
type CompanyInvoicingSettings {
currency: String
tax_rate: String
invoice_terms: String
invoice_footer: String
}
type CompanyJob {
title: String
location: String
}
type CompanyContacts {
name: String
email: String
phone: String
}
On peut facilement representer ce découpage sous la forme d'un schéma GraphQL
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404811/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405039/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405051/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405052/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405057/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405064/pasted-from-clipboard.png)
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404811/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405039/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405051/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405052/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405057/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405064/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404369/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405104/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
With Federation
you can merge
your graph! 🚀
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400119/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400234/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400254/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10403839/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400366/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404358/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404389/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405039/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405051/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405052/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405057/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405064/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400096/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404370/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404369/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400229/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400244/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10400253/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405104/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10405111/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10404811/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
Avec Federation
on peut fusionner nos schémas graphQL! 🚀
GraphQL pour migrer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10395105/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398639/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398640/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398645/pasted-from-clipboard.png)
Merci !
![](https://s3.amazonaws.com/media-p.slid.es/uploads/132073/images/10398643/pasted-from-clipboard.png)
Copy of How we have paid our debt with GraphQL
By Luc MOMAL
Copy of How we have paid our debt with GraphQL
- 181