petit déjeuner "développer sur le cloud, ou comment tout construire à partir de rien"...
DESCRIPTION
En matière de développement web, il existe de plus en plus de services, souvent gratuits, qui permettent d'externaliser les ressources aussi bien sur la phase de développement que sur la phase de production, à tel point qu'on peut maintenant envisager de produire sans aucune infrastructure.TRANSCRIPT
Développer sur le cloud
ou comment tout construire à partir de rien
Eric BREHAULT
Le cloud pour le développeur
Les services les plus connus
GitHub
http://github.com
● Gestion du code source
● mais surtout réseau social de développement
Travis-CI
https://travis-ci.org
● Intégration continue
● Éxécution sur une VM vierge
● Intégré avec GitHub
Coveralls.io
https://coveralls.io
● Couverture des tests
● Intégré avec GitHub
Readthedocs
https://readthedocs.org/
● Publication de la documentation
● Intégré avec GitHub
Heroku
Plateform as a Service (Python, Java, Rails, Node.js)
$ heroku create sushi
Creating sushi... done
http://sushi.herokuapp.com/ | [email protected]:sushi.git
$ git push heroku master
----> Heroku receiving push
----> Rails app detected
----> Compiled slug size is 8.0MB
http://sushi.herokuapp.com deployed to Heroku
GitHub Pages
● GitHub publie les contenus web des branches nommées gh-pages,
● sites statiques uniquement,
● mais utilisation native de Jekyll.
Pelican sur GitHub Pages
http://www.makina-corpus.org/blog/publish-your-pelican-blog-github-
pages-travis-ci
Prose.io
● Facilite la modification des pages Jekyll publiées sur GitHub Pages,
● envoie les modifications sur GitHub directement.
Cas pratiques
VuDuCiel
http://vuduciel.loire-atlantique.fr/
● Le frontal est servi par GitHub Pages.
● Modifié via Prose.io.
● Validé avec Travis.
VuDuCiel
On a créé nous-même les services manquants:
● recherche d'adresses,
● impressions / screenshots,
● serveur de tuiles.
et le frontal reste statique.
Album des territoires en Dordogne
http://album-des-territoires.cauedordogne.com/
http://album-des-territoires.cauedordogne.com/#1/urbanisme
● Le frontal est servi par GitHub Pages et modifié via Prose.io.
● Mise à disposition des images et des données cartographiques dans
une arborescence de répertoires.
OK mais pourquoi ?
Pas d'infrastructure
On ne s'occupe pas de maintenir des serveurs.
Puissance des back-end
GitHub, Amazon S3, Google Docs sont des services solides, difficiles à
égaler par nos propres moyens.
Pas (ou peu) de frais
Beaucoup de ces services sont gratuits.
Les formules payantes sont progressives.
Les sites statiques, c'est simple
Les CMS sont intéressants pour gérer des grandes quantités
d'information.
Mais en contre-partie, ils imposent de nombreuses contraintes et
manquent de flexibilité.
Les APIs
OAuth.io
OAuth.initialize('Public key');
OAuth.popup('facebook', function(err, result) {
result.get('/me').done(function(data) {
// data is the API call's response.
// e.g. data.name for your facebook's fullname.
});
});
Yahoo!QL
http://developer.yahoo.com/yql/console
select * from html where url="http://makina-corpus.com"
GitHub API
GET /repos/:owner/:repo/git/commits/:sha
POST /repos/:owner/:repo/git/commits
GET /search/repositories
Exemple d'utilisation
https://github.com/makinacorpus/github-pages-editor
Extension Chrome client-side pour modifier un site GitHub Pages.
Makina Corpus
For all questions related to this talk,
please contact Éric Bréhault
Tel : +33 534 566 958
www.makina-corpus.com