SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Google+ To RSS
As A Service
Par Fabien Baligand
Fabien Baligand
 Passionné de technos java et web
 Java Blogger sur gplus.to/javafr
 Créateur de la communauté G+ « Java FR »
 gplus.to/javafrcommunity
 Tech Lead chez Informatique CDC
Naissance du projet
Tout a commencé un soir,
avec une idée geek…
C’est quoi l’idée ?
Exposer les posts publiques
d’un utilisateur / page / communauté G+
sous forme de flux RSS
Histoire d’une petite Success Story
 Début en Décembre 2011
 Un post Google+ visible
et l’adhésion est lancée
 Une vraie page d’accueil
avec un bon référencement
 Et aujourd’hui :
 Jusqu’à 200 000 requêtes par jour
 Prez au GDG
Les usages
Démo
gplus-to-rss.appspot.com
Pourquoi Google App Engine ?
 Parce qu’on installe l’outillage avec le plugin
Eclipse en un clic
 Parce qu’on crée un projet GAE en un clic
 Parce qu’on déploie le projet sur GAE
en un clic
Pourquoi Google App Engine ?
 Parce GAE permet l’hébergement
d’application java en cloud PaaS
 Pour tous ses services (MemCache, Mail, …)
 Pour sa console d’administration
 Pour ses quotas gratuits intéressants
Technos utilisées
 Google APIs Client Library for Java
https://code.google.com/p/google-api-java-client/
https://developers.google.com/+/api/
 Rome (Java Rss Generator)
https://rometools.jira.com/wiki/display/ROME/Home
Google+ API
 Fonctionnalités :
 Utilisateurs : profil, recherche, utilisateurs liés à une activité
 Activités : liste des activités d’un utilisateur, détail d’une
activité, recherche d’activités
 Commentaires : liste des commentaires pour une activité,
détail d’un commentaire
 Moments : liste, insertion, suppression
 Authentification :
 API Key : permet d'accéder aux données publiques
 OAuth 2.0 : permet d'accéder aux données privées
requiert une autorisation de l'utilisateur cible
Problèmes rencontrés
 Quota de la bande passante GAE :
limitée à 1 Go
 Quota de l’API Google+ :
limitée à 10 000 requêtes / jour
Quota de la bande passante GAE
 Contrainte : pas de solution payante pour un
service rendu gratuitement
 Solution 1 : rendre le code OpenSource pour
que chacun ait son service gplus-to-rss
 Efficacité limitée : 28 téléchargements
 http://code.google.com/p/gplus-to-rss/
Répartition de la charge
Par tranche horaire
gplus-to-rss
gplus-to-rss2
gplus-to-rss3
gplus-to-rss4
16h - 24h
8h
- 16h
0h
- 8h
Quota de l’API Google+
 Solution 1 : demander une augmentation de
quota à Google
 Efficace
 Mais que faire en attendant ?
Protection contre la saturation
du Quota Google+ API
gplus-to-rss
G+ API Key 1
G+ API Key 2
G+ API Key 3
G+ API Key 4
MemCache
Service
MemCache
Service
250 000
10 000
10 000
10 000
Stats & Monitoring
 Google Analytics
 Pour le traffic utilisateur
 Google API Console Reports
 Pour le niveau d’utilisation du quota « G+ API »
 Pour le traffic global du service
 La console d’admin GAE
 Pour le monitoring de la charge en hits/seconde
 Pour le monitoring des quotas GAE
 Pour le top 20 des requêtes les plus demandées
 Pour consulter les logs en ligne
Récupération des logs GAE
 L’outil appcfg du SDK GAE permet le
téléchargement des access logs GAE
appcfg.cmd --num_days=2
request_logs
mywebapp/
results.log
Conclusion
 Google App Engine : mangez-en !
 Plateforme PaaS simple à prendre en main
 Bon nombre de services fournis
 Console d’administration avancée
 Quotas gratuits
Liens
 Service en ligne :
 http://gplus-to-rss.appspot.com
 Projet open-source :
 http://code.google.com/p/gplus-to-rss/
 Google Group :
 http://groups.google.com/group/gplus-to-rss
Questions

Weitere ähnliche Inhalte

Andere mochten auch

Comment répondre aux besoins de log en production avec log4j
Comment répondre aux besoins de log en production avec log4jComment répondre aux besoins de log en production avec log4j
Comment répondre aux besoins de log en production avec log4jFabien Baligand
 
Plugin logstash-filter-aggregate (meetup Elastic FR)
Plugin logstash-filter-aggregate (meetup Elastic FR)Plugin logstash-filter-aggregate (meetup Elastic FR)
Plugin logstash-filter-aggregate (meetup Elastic FR)Fabien Baligand
 
Présentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaPrésentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaFabien Baligand
 
Intro to jQuery UI
Intro to jQuery UIIntro to jQuery UI
Intro to jQuery UIappendTo
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Andere mochten auch (6)

Comment répondre aux besoins de log en production avec log4j
Comment répondre aux besoins de log en production avec log4jComment répondre aux besoins de log en production avec log4j
Comment répondre aux besoins de log en production avec log4j
 
JQuery UI
JQuery UIJQuery UI
JQuery UI
 
Plugin logstash-filter-aggregate (meetup Elastic FR)
Plugin logstash-filter-aggregate (meetup Elastic FR)Plugin logstash-filter-aggregate (meetup Elastic FR)
Plugin logstash-filter-aggregate (meetup Elastic FR)
 
Présentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaPrésentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source java
 
Intro to jQuery UI
Intro to jQuery UIIntro to jQuery UI
Intro to jQuery UI
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Ähnlich wie Google+ To RSS As A Service

Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Javatcouery
 
Présentation OCS et GLPI aux Solutions Linux 2008
Présentation OCS et GLPI aux Solutions Linux 2008Présentation OCS et GLPI aux Solutions Linux 2008
Présentation OCS et GLPI aux Solutions Linux 2008Nouh Walid
 
Le Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsLe Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsAisne Numérique
 
Gadc 2012 meetup & workshop
Gadc 2012 meetup & workshopGadc 2012 meetup & workshop
Gadc 2012 meetup & workshopTiyab K.
 
Google Cloud Workshop
Google Cloud WorkshopGoogle Cloud Workshop
Google Cloud Workshopsparow2010
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Modern Data Stack France
 
Stack Technologique Google
Stack Technologique GoogleStack Technologique Google
Stack Technologique GoogleLorraine JUG
 
Self-Service infrastructure pour GCP avec Terraform et Gitlab
Self-Service infrastructure pour GCP avec Terraform et GitlabSelf-Service infrastructure pour GCP avec Terraform et Gitlab
Self-Service infrastructure pour GCP avec Terraform et GitlabJulien Wittouck
 
Redmine présentation sug 2012
Redmine présentation sug 2012Redmine présentation sug 2012
Redmine présentation sug 2012Yannick Quenec'hdu
 
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO CAMP
 
Développer des applications pour la TV
Développer des applications pour la TVDévelopper des applications pour la TV
Développer des applications pour la TVMickaël GREGORI
 
Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App RESONEO
 
La compatibilité mobile de WordPress et le SEO
La compatibilité mobile de WordPress et le SEOLa compatibilité mobile de WordPress et le SEO
La compatibilité mobile de WordPress et le SEOSemrush France
 
WordPress et la compatibilité mobile - Semrush & SeoMix
WordPress et la compatibilité mobile - Semrush & SeoMixWordPress et la compatibilité mobile - Semrush & SeoMix
WordPress et la compatibilité mobile - Semrush & SeoMixDaniel Roch - SeoMix
 
Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !Antidot
 
Webinar Semrush Neper - quel ROI pour les pages amp
Webinar Semrush Neper - quel ROI pour les pages  ampWebinar Semrush Neper - quel ROI pour les pages  amp
Webinar Semrush Neper - quel ROI pour les pages ampPhilippe YONNET
 

Ähnlich wie Google+ To RSS As A Service (20)

Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 
Présentation OCS et GLPI aux Solutions Linux 2008
Présentation OCS et GLPI aux Solutions Linux 2008Présentation OCS et GLPI aux Solutions Linux 2008
Présentation OCS et GLPI aux Solutions Linux 2008
 
Seminaire Google Apps 02 2010
Seminaire Google Apps 02 2010Seminaire Google Apps 02 2010
Seminaire Google Apps 02 2010
 
Le Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsLe Cloud Computing avec Google Apps
Le Cloud Computing avec Google Apps
 
Gadc 2012 meetup & workshop
Gadc 2012 meetup & workshopGadc 2012 meetup & workshop
Gadc 2012 meetup & workshop
 
Google Cloud Workshop
Google Cloud WorkshopGoogle Cloud Workshop
Google Cloud Workshop
 
Google Cloud Workshop
Google Cloud WorkshopGoogle Cloud Workshop
Google Cloud Workshop
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)
 
Un introduction à Pig
Un introduction à PigUn introduction à Pig
Un introduction à Pig
 
Stack Technologique Google
Stack Technologique GoogleStack Technologique Google
Stack Technologique Google
 
Self-Service infrastructure pour GCP avec Terraform et Gitlab
Self-Service infrastructure pour GCP avec Terraform et GitlabSelf-Service infrastructure pour GCP avec Terraform et Gitlab
Self-Service infrastructure pour GCP avec Terraform et Gitlab
 
Redmine présentation sug 2012
Redmine présentation sug 2012Redmine présentation sug 2012
Redmine présentation sug 2012
 
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
 
Développer des applications pour la TV
Développer des applications pour la TVDévelopper des applications pour la TV
Développer des applications pour la TV
 
Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App
 
La compatibilité mobile de WordPress et le SEO
La compatibilité mobile de WordPress et le SEOLa compatibilité mobile de WordPress et le SEO
La compatibilité mobile de WordPress et le SEO
 
WordPress et la compatibilité mobile - Semrush & SeoMix
WordPress et la compatibilité mobile - Semrush & SeoMixWordPress et la compatibilité mobile - Semrush & SeoMix
WordPress et la compatibilité mobile - Semrush & SeoMix
 
Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !
 
Webinar Semrush Neper - quel ROI pour les pages amp
Webinar Semrush Neper - quel ROI pour les pages  ampWebinar Semrush Neper - quel ROI pour les pages  amp
Webinar Semrush Neper - quel ROI pour les pages amp
 

Google+ To RSS As A Service

  • 1. Google+ To RSS As A Service Par Fabien Baligand
  • 2. Fabien Baligand  Passionné de technos java et web  Java Blogger sur gplus.to/javafr  Créateur de la communauté G+ « Java FR »  gplus.to/javafrcommunity  Tech Lead chez Informatique CDC
  • 3. Naissance du projet Tout a commencé un soir, avec une idée geek…
  • 4. C’est quoi l’idée ? Exposer les posts publiques d’un utilisateur / page / communauté G+ sous forme de flux RSS
  • 5. Histoire d’une petite Success Story  Début en Décembre 2011  Un post Google+ visible et l’adhésion est lancée  Une vraie page d’accueil avec un bon référencement  Et aujourd’hui :  Jusqu’à 200 000 requêtes par jour  Prez au GDG
  • 8. Pourquoi Google App Engine ?  Parce qu’on installe l’outillage avec le plugin Eclipse en un clic  Parce qu’on crée un projet GAE en un clic  Parce qu’on déploie le projet sur GAE en un clic
  • 9. Pourquoi Google App Engine ?  Parce GAE permet l’hébergement d’application java en cloud PaaS  Pour tous ses services (MemCache, Mail, …)  Pour sa console d’administration  Pour ses quotas gratuits intéressants
  • 10. Technos utilisées  Google APIs Client Library for Java https://code.google.com/p/google-api-java-client/ https://developers.google.com/+/api/  Rome (Java Rss Generator) https://rometools.jira.com/wiki/display/ROME/Home
  • 11. Google+ API  Fonctionnalités :  Utilisateurs : profil, recherche, utilisateurs liés à une activité  Activités : liste des activités d’un utilisateur, détail d’une activité, recherche d’activités  Commentaires : liste des commentaires pour une activité, détail d’un commentaire  Moments : liste, insertion, suppression  Authentification :  API Key : permet d'accéder aux données publiques  OAuth 2.0 : permet d'accéder aux données privées requiert une autorisation de l'utilisateur cible
  • 12. Problèmes rencontrés  Quota de la bande passante GAE : limitée à 1 Go  Quota de l’API Google+ : limitée à 10 000 requêtes / jour
  • 13. Quota de la bande passante GAE  Contrainte : pas de solution payante pour un service rendu gratuitement  Solution 1 : rendre le code OpenSource pour que chacun ait son service gplus-to-rss  Efficacité limitée : 28 téléchargements  http://code.google.com/p/gplus-to-rss/
  • 14. Répartition de la charge Par tranche horaire gplus-to-rss gplus-to-rss2 gplus-to-rss3 gplus-to-rss4 16h - 24h 8h - 16h 0h - 8h
  • 15. Quota de l’API Google+  Solution 1 : demander une augmentation de quota à Google  Efficace  Mais que faire en attendant ?
  • 16. Protection contre la saturation du Quota Google+ API gplus-to-rss G+ API Key 1 G+ API Key 2 G+ API Key 3 G+ API Key 4 MemCache Service MemCache Service 250 000 10 000 10 000 10 000
  • 17. Stats & Monitoring  Google Analytics  Pour le traffic utilisateur  Google API Console Reports  Pour le niveau d’utilisation du quota « G+ API »  Pour le traffic global du service  La console d’admin GAE  Pour le monitoring de la charge en hits/seconde  Pour le monitoring des quotas GAE  Pour le top 20 des requêtes les plus demandées  Pour consulter les logs en ligne
  • 18. Récupération des logs GAE  L’outil appcfg du SDK GAE permet le téléchargement des access logs GAE appcfg.cmd --num_days=2 request_logs mywebapp/ results.log
  • 19. Conclusion  Google App Engine : mangez-en !  Plateforme PaaS simple à prendre en main  Bon nombre de services fournis  Console d’administration avancée  Quotas gratuits
  • 20. Liens  Service en ligne :  http://gplus-to-rss.appspot.com  Projet open-source :  http://code.google.com/p/gplus-to-rss/  Google Group :  http://groups.google.com/group/gplus-to-rss