4. Qu’est-ce que App Engine ?
• Plateforme qui permet d’héberger vos
applications Web
• Utilisez votre propre nom de domaine
ou un nom gratuit sur appspot.com
• 500 Mo d’espace de stockage
• Langages utilisés: Java, Python et Go
10. HashMyTweets
• Une application Web qui permet de
recevoir des tweets par mail
• Connexion avec un compte Google
• Choix de vos requêtes de recherche
préférées
11.
12.
13.
14. Pourquoi HashMyTweets ?
• Garder une trace des tweets qui nous
intéressent le plus
• Pas besoin d’être inscrit sur Twitter
15. Comment ?
• API Users: Intégration avec Google Accounts
• API Stockage de données (Datastore): Modélisation de
données et langage de requête
• API Mail: Envoi d’e-mails aux utilisateurs
• Tâches planifiées (Cron): Exécuter des tâches
automatiquement à des heures définies ou à intervalles
réguliers
• Tweepy: Librairie Python pour accéder à l’API Twitter
19. # hashme.py – Importation des librairies
import os
from google.appengine.dist import use_library
use_library('django', '1.2')
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import
run_wsgi_app
from google.appengine.ext import db
from google.appengine.ext.webapp import template
20. # hashme.py – Déclaration des modèles
class Members(db.Model):
account = db.UserProperty()
hashtags = db.StringProperty()
21. # hashme.py – Pages du site
class MainPage(webapp.RequestHandler):
def get(self):
# Vérifier si l’utilisateur est connecté
# Si oui
# Sélectionner ses préférences dans la BD
# Afficher le formulaire
# Sinon
# Afficher la page d’accueil
class Submit(webapp.RequestHandler):
def post(self):
# Enregistrement des préférences de l’utilisateur dans la BD
24. API Datastore
from google.appengine.ext import db
# Sélectionner des données
member = db.GqlQuery("SELECT * FROM Members WHERE account = :1", user)
member.get().account
member.get().hashtags
# Insérer des données
member.hashtags = "@tomsyweb,#gcotedivoire,app engine"
member.put()