Codathlon Prise en main de Google App Engine 08 mai 2008
Plan de la présentation : <ul><li>Quelques mots sur Google App Engine </li></ul><ul><ul><li>Qu’est ce que c’est ? </li></u...
Google App Engine, c’est quoi l’idée ? <ul><li>“ Google App Engine enables you to build web applications on the same scala...
Google App Engine simplifie la vie : <ul><li>Pas besoin de réinventer la roue, des APIs sont disponibles : </li></ul><ul><...
Les application sont scalables : <ul><li>Infrastructures Google </li></ul><ul><li>La scalabilité est transparente </li></u...
Google App Engine c’est gratuit : <ul><li>Pour commencer oui </li></ul><ul><li>Limite à 500Mb de données  </li></ul><ul><l...
De quoi ai-je besoin ? <ul><li>Google App Engine nécessite que Python  2.5.2 soit installé ( http://www.python.org/downloa...
Et maintenant ? <ul><li>Vous pouvez développer votre première application pour Google App Engine… </li></ul><ul><li>Attent...
Oui mais, …. Python ? <ul><li>Vous n’avez jamais codé en python? Pas besoin de maîtriser ce langage pour développer une pr...
Comment se présente un projet GAE ? <ul><li>Un template de projet est disponible dans le répertoire d’installation du SDK ...
Par où commencer ? <ul><li>Découvrir les principales fonctionnalités et leurs fonctionnements en quelques minutes :  http:...
Démo : Hello World ! <ul><li>Créer un répertoire helloworld </li></ul><ul><li>Y ajouter un fichier helloworld.py </li></ul...
Démo : Hello World ! <ul><li>Créer un fichier app.yml </li></ul><ul><li>application: helloworld </li></ul><ul><li>version:...
Démo : Hello World ! <ul><li>Testons :  </li></ul><ul><ul><li>En ligne de commande :  dev_appserver.py helloworld </li></u...
Démo : Hello World ! <ul><li>Déployons : </li></ul><ul><ul><li>Création d’une application sur  http://appengine.google.com...
Récapitulons <ul><li>Les développements se font en python </li></ul><ul><li>Un projet contient au minimum un fichier yaml ...
Petit intermède : <ul><li>Y’a-t-il des questions ? </li></ul><ul><li>A vous de jouer, le défit est de réaliser à votre tou...
La Users API : <ul><li>Basée sur Google Account </li></ul><ul><li>Connexion des utilisateurs </li></ul><ul><li>Identificat...
La Datastore API : <ul><li>Basé sur BigTable (http://labs.google.com/papers/bigtable.html) </li></ul><ul><li>Persister des...
La URL Fetch API : <ul><li>Communiquer avec d’autres machines via des requêtes HTTP </li></ul><ul><li>Fonctionne avec HTTP...
La Mail API : <ul><li>Permet l’envoie d’email </li></ul><ul><li>mail.send_mail(sender_address, user_address, subject, body...
Quelques applications GAE : <ul><li>TaskList </li></ul><ul><li>Ajax shell </li></ul><ul><li>Openid provider </li></ul><ul>...
Conclusion <ul><li>Un projet qui regroupe tout en un contrairement aux services d’Amazon (S3, EC2, SQS, …) </li></ul><ul><...
Prochain SlideShare
Chargement dans…5
×

Codathlon Google App Engine

1 765 vues

Publié le

Slides utilisés lors de la présentation de Google App Engine pour le Codathlon organisé par SFEIR.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 765
Sur SlideShare
0
Issues des intégrations
0
Intégrations
22
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Codathlon Google App Engine

  1. 1. Codathlon Prise en main de Google App Engine 08 mai 2008
  2. 2. Plan de la présentation : <ul><li>Quelques mots sur Google App Engine </li></ul><ul><ul><li>Qu’est ce que c’est ? </li></ul></ul><ul><ul><li>Quels en sont les usages ? </li></ul></ul><ul><ul><li>De quoi a-t-on besoin ? </li></ul></ul><ul><ul><li>A quoi ressemble un projet GAE ? </li></ul></ul><ul><ul><li>Par où commencer ? </li></ul></ul><ul><ul><li>Quelles ressources peuvent servir ? </li></ul></ul><ul><li>Réalisation d’un Hello World </li></ul><ul><li>Présentation des API disponibles </li></ul><ul><li>Quelques exemples d’applications </li></ul>08 mai 2008
  3. 3. Google App Engine, c’est quoi l’idée ? <ul><li>“ Google App Engine enables you to build web applications on the same scalable systems that power Google applications.” </li></ul><ul><li>Simplicité </li></ul><ul><li>Scalabilité </li></ul><ul><li>Gratuité </li></ul>08 mai 2008
  4. 4. Google App Engine simplifie la vie : <ul><li>Pas besoin de réinventer la roue, des APIs sont disponibles : </li></ul><ul><ul><li>Users API </li></ul></ul><ul><ul><li>Datastore API </li></ul></ul><ul><ul><li>URL Fetch API </li></ul></ul><ul><ul><li>Mail API </li></ul></ul><ul><li>Déployer une application est enfantin </li></ul><ul><li>Plus besoin de configurer de serveur </li></ul>08 mai 2008
  5. 5. Les application sont scalables : <ul><li>Infrastructures Google </li></ul><ul><li>La scalabilité est transparente </li></ul><ul><li>Gestion du load balancing </li></ul><ul><li>Réplication automatique </li></ul><ul><li>Passer de un à un million d’utilisateurs sans impacte </li></ul>08 mai 2008
  6. 6. Google App Engine c’est gratuit : <ul><li>Pour commencer oui </li></ul><ul><li>Limite à 500Mb de données </li></ul><ul><li>Bande passante et CPU supportant 5 millions de pages vues par mois </li></ul>08 mai 2008
  7. 7. De quoi ai-je besoin ? <ul><li>Google App Engine nécessite que Python 2.5.2 soit installé ( http://www.python.org/download/ ). </li></ul><ul><li>Le SDK fourni par Google permet de tester en local nos applications et de les déployer, il se trouve à l’adresse http://code.google.com/appengine/downloads.html </li></ul><ul><li>Votre éditeur de texte favoris </li></ul>08 mai 2008
  8. 8. Et maintenant ? <ul><li>Vous pouvez développer votre première application pour Google App Engine… </li></ul><ul><li>Attention si vous êtes derrière un proxy </li></ul><ul><li>configuration des variables d’environnement http_proxy </li></ul><ul><li>patch de la librairie UrlLib2 de python </li></ul>08 mai 2008
  9. 9. Oui mais, …. Python ? <ul><li>Vous n’avez jamais codé en python? Pas besoin de maîtriser ce langage pour développer une première application. Vous trouverez: Des exemples sur le site de GAE, de la documentation sur le site de python ( http://www.python.org/ ) et bien d’autres ressources sur developpez.com ou encore Google … </li></ul><ul><li>La version de Python actuellement supportée par GAE est la 2.5.2. </li></ul>08 mai 2008
  10. 10. Comment se présente un projet GAE ? <ul><li>Un template de projet est disponible dans le répertoire d’installation du SDK sous le nom de « new_project_template ». </li></ul><ul><li>Deux fichiers indispensables : </li></ul><ul><ul><li>app.yaml : définit les propriétés de notre application (ne pas mettre de tabulations => espace uniquement) </li></ul></ul><ul><ul><li>un fichier python (.py) : point d’entrée de notre application (doit être référencé par le app.yaml) </li></ul></ul>08 mai 2008
  11. 11. Par où commencer ? <ul><li>Découvrir les principales fonctionnalités et leurs fonctionnements en quelques minutes : http://code.google.com/appengine/docs/gettingstarted </li></ul><ul><li>Un Hello World ! </li></ul>08 mai 2008
  12. 12. Démo : Hello World ! <ul><li>Créer un répertoire helloworld </li></ul><ul><li>Y ajouter un fichier helloworld.py </li></ul><ul><li>Insérer dans celui-ci les lignes suivantes : </li></ul>08 mai 2008
  13. 13. Démo : Hello World ! <ul><li>Créer un fichier app.yml </li></ul><ul><li>application: helloworld </li></ul><ul><li>version: 1 </li></ul><ul><li>runtime: python </li></ul><ul><li>api_version: 1 </li></ul><ul><li>handlers: </li></ul><ul><li>- url: .* </li></ul><ul><li>script: helloworld.py </li></ul>08 mai 2008
  14. 14. Démo : Hello World ! <ul><li>Testons : </li></ul><ul><ul><li>En ligne de commande : dev_appserver.py helloworld </li></ul></ul><ul><ul><li>Regardons le résultat dans un navigateur : </li></ul></ul>08 mai 2008
  15. 15. Démo : Hello World ! <ul><li>Déployons : </li></ul><ul><ul><li>Création d’une application sur http://appengine.google.com/ </li></ul></ul><ul><ul><li>Répercuter le nom de l’application dans le fichier app.yaml </li></ul></ul><ul><ul><li>appcfg.py update « nom de l’application » </li></ul></ul><ul><ul><li>Le résultat est accessible à l’adresse : </li></ul></ul><ul><ul><ul><li>http:// nomdelappli .appspot.com </li></ul></ul></ul>08 mai 2008
  16. 16. Récapitulons <ul><li>Les développements se font en python </li></ul><ul><li>Un projet contient au minimum un fichier yaml et un fichier python </li></ul><ul><li>Je peux tester sur ma machine avec la commande dev_appserver.py <repertoiredemonappli> </li></ul><ul><li>Je peux déployer sur internet avec la commande appcfg.py update <repertoiredemonappli> </li></ul><ul><ul><ul><li>Tout le monde peut voir mon application à l’url : http:// nomdelappli .appspot.com </li></ul></ul></ul><ul><li>Je peux accéder aux statistiques de mon application via : http://appengine.google.com </li></ul>08 mai 2008
  17. 17. Petit intermède : <ul><li>Y’a-t-il des questions ? </li></ul><ul><li>A vous de jouer, le défit est de réaliser à votre tour un Hello World. </li></ul><ul><li>Nous allons maintenant explorer les APIs. </li></ul>08 mai 2008
  18. 18. La Users API : <ul><li>Basée sur Google Account </li></ul><ul><li>Connexion des utilisateurs </li></ul><ul><li>Identification durant toute la durée de la session </li></ul><ul><li>Distinction des administrateurs </li></ul>08 mai 2008
  19. 19. La Datastore API : <ul><li>Basé sur BigTable (http://labs.google.com/papers/bigtable.html) </li></ul><ul><li>Persister des objets </li></ul><ul><li>Interroger la base </li></ul>08 mai 2008
  20. 20. La URL Fetch API : <ul><li>Communiquer avec d’autres machines via des requêtes HTTP </li></ul><ul><li>Fonctionne avec HTTP et HTTPS </li></ul>08 mai 2008
  21. 21. La Mail API : <ul><li>Permet l’envoie d’email </li></ul><ul><li>mail.send_mail(sender_address, user_address, subject, body) </li></ul>08 mai 2008
  22. 22. Quelques applications GAE : <ul><li>TaskList </li></ul><ul><li>Ajax shell </li></ul><ul><li>Openid provider </li></ul><ul><li>GéoChat </li></ul>08 mai 2008
  23. 23. Conclusion <ul><li>Un projet qui regroupe tout en un contrairement aux services d’Amazon (S3, EC2, SQS, …) </li></ul><ul><li>Quels seront les tarifs pour augmenter les ressources ? </li></ul><ul><li>Un coup de pouce pour Django </li></ul><ul><li>Quels seront les prochains langages ? </li></ul><ul><li>Que vont devenir les petits hébergeurs ? </li></ul>08 mai 2008

×