HashMyTweets

455 views

Published on

Présentation de HashMyTweets, une application propulsée par App Engine/Python.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
455
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

HashMyTweets

  1. 1. Ismael ToéDéveloppeur Web ismael.toe @gmail.com www.tomsyweb.com http://gplus.to/IsmaelToe @tomsyweb
  2. 2. HashMyTweets http://hashmytweets.appspot.comUne application propulsée par Google App Engine
  3. 3. Qu’est-ce que App Engine ?
  4. 4. Qu’est-ce que App Engine ?• Plateforme qui permet d’héberger vosapplications Web• Utilisez votre propre nom de domaineou un nom gratuit sur appspot.com• 500 Mo d’espace de stockage• Langages utilisés: Java, Python et Go
  5. 5. Environnement dedéveloppement
  6. 6. Environnement de développement• Python• SDK App Engine o Serveur Web o Outil de transfert de l’application vers App Engine o APIs Google
  7. 7. Pourquoi App Engine ?
  8. 8. Pourquoi App Engine ?• Scalabilité• Un ensemble riche d’APIs• Déploiement facile• Gratuit
  9. 9. HashMyTweets
  10. 10. HashMyTweets• Une application Web qui permet derecevoir des tweets par mail• Connexion avec un compte Google• Choix de vos requêtes de recherchepréférées
  11. 11. Pourquoi HashMyTweets ?• Garder une trace des tweets qui nousintéressent le plus• Pas besoin d’être inscrit sur Twitter
  12. 12. Comment ?• API Users: Intégration avec Google Accounts• API Stockage de données (Datastore): Modélisation dedonnées et langage de requête• API Mail: Envoi d’e-mails aux utilisateurs• Tâches planifiées (Cron): Exécuter des tâchesautomatiquement à des heures définies ou à intervallesréguliers• Tweepy: Librairie Python pour accéder à l’API Twitter
  13. 13. Développement del’application
  14. 14. Fichier de configuration
  15. 15. Tâches planifiées
  16. 16. # hashme.py – Importation des librairiesimport osfrom google.appengine.dist import use_libraryuse_library(django, 1.2)from google.appengine.api import usersfrom google.appengine.ext import webappfrom google.appengine.ext.webapp.util importrun_wsgi_appfrom google.appengine.ext import dbfrom google.appengine.ext.webapp import template
  17. 17. # hashme.py – Déclaration des modèlesclass Members(db.Model): account = db.UserProperty() hashtags = db.StringProperty()
  18. 18. # hashme.py – Pages du siteclass 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’accueilclass Submit(webapp.RequestHandler): def post(self): # Enregistrement des préférences de l’utilisateur dans la BD
  19. 19. # hashme.py – Gestionnaire de requêtesapplication = webapp.WSGIApplication([ (/, MainPage), (/submit, Submit)], debug=True)
  20. 20. API Usersfrom google.appengine.api import usersuser = users.get_current_user()if user: # Connectéelse: # Pas connecté
  21. 21. API Datastorefrom google.appengine.ext import db# Sélectionner des donnéesmember = db.GqlQuery("SELECT * FROM Members WHERE account = :1", user)member.get().accountmember.get().hashtags# Insérer des donnéesmember.hashtags = "@tomsyweb,#gcotedivoire,app engine"member.put()
  22. 22. API Mailfrom google.appengine.api import mailmail.send_mail(sender, to, subject, body)
  23. 23. Tweepyimport tweepytweets = tweepy.api.search("@tomsyweb")for tweet in tweets: tweet.text
  24. 24. Merci !

×