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

Codathlon Google App Engine

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