Connecter Drupal à des API externes
Upcoming SlideShare
Loading in...5
×
 

Connecter Drupal à des API externes

on

  • 1,417 views

 

Statistics

Views

Total Views
1,417
Views on SlideShare
1,414
Embed Views
3

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Connecter Drupal à des API externes Connecter Drupal à des API externes Presentation Transcript

  • Connecter Drupalà des API externes ***Trucs et conseils
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Libérez votre potentiel web. ***•  Fondée à Montréal en 2004•  8 spécialistes web à l’interne•  Développement de sites web qui vont au-delà du marketing•  Maîtrise des CMS open-source•  Optimisation pour les appareils mobiles
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Qui suis-je ? ***•  Matthieu Gadrat•  Développeur PHP•  3 ans d’expérience avec des CMS open-source•  Amateur de ski
  • Survol  des   À  garder   Connecter  Briser  la  glace   Conclusion   API   en  tête   Drupal   Qui suis-je ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Ordre du jourI – Qu’est-ce qu’un API et pourquoi connecter à un API ?II – Que savoir avant d’amorcer un projet Drupal/API ?III – Comment connecter Drupal à des API ?IV – Bref – Que retenir ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Qu’est-ce qu’un API etpourquoi connecter à un API ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  DéfinitionAPI « An Application Programming Interface (API) is a specification intended to be used as an interfaceby software components to communicate with eachother. An API may include specifications for routines, data structures, object classes and variables. »- Wikipédia
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  API interne VS. API externeAPI interne•  Spécification à l’intérieur d’une même application•  Ex. : API Drupal, API Module ViewsAPI externe•  Connexion à un service extérieur à l’application•  Ex. : Google Maps, Facebook
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Échelles et complexité des API I/IIIAPI simples•  Facebook Lightbox/Addthis•  Souvent Front-end •  Ex. : Javascript•  Protocole HTTP/GET/POST•  Sans authentification ou authentification simple (token)
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Échelles et complexité des API II/IIIAPI complexes•  Salesforce, Vimeo Upload API•  Intégration sur le serveur•  Protocole SOAP via HTTPS•  Authentification sécurisée •  Ex. : OAUTH
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Échelles et complexité des API III/IIIAbsence d’API•  Objectifs remplis grâce à des mécanismes d’exploitation•  RSS Feed
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi connecter Drupal à un API externe ? Prenons comme exemple d’entreprise : M. Wilkins
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi connecter Drupal à un API externe ? M. Wilkins •  Multinationale •  Fabrique des traitements antipuces canins •  En processus de refonte de son site web
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi connecter Drupal à un API externe ?Objectifs d’affaires de M. Wilkins•  Générer davantage de trafic sur les réseaux sociaux •  Facebook et Twitter•  Promouvoir et rentabiliser le catalogue en ligne •  Produit sur le site web = Produit dans l’inventaire•  Offrir un meilleur service à la clientèle •  Historique des contacts et commandes de chaque client •  Ex. : Salesforce
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi connecter Drupal à un API externe ?Améliorer les processus d’affaires…•  Minimiser les coûts (temps et $) •  Limiter l’entrée de données•  Faciliter la prise de décision •  Centraliser les informations
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi connecter Drupal à un API externe ?… avec les outils offerts par Drupal•  Structure pour organiser les données•  API interne •  Personnalisation du workflow•  Modules •  Faciliter le traitement et l’analyse des données
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Pourquoi ne pas choisir Drupal comme unique plateforme ?Excellente question !Voyons M. Wilkins•  Intérêt des autres outils•  Coûts de développement
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Que savoir avant d’amorcer un projet Drupal/API ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Se poser les bonnes questionsAnalyse des processus d’affaires1) Quel est le processus actuel de l’entreprise ? •  Habitudes2) Quel meilleur processus implanter ? •  En fonction des objectifs fixés •  Outils adaptés
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Se poser les bonnes questionsChoix des API3) Quels API atteindraient les objectifs ? •  M. Wilkins •  Facebook •  Salesforce •  Logiciel custom
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Se poser les bonnes questionsÉvaluation des API4) Quelles sont les spécifications et limites des API ?5) Les limites identifiées peuvent-elles s’adapter auprocessus d’affaires ? •  M. Wilkins •  Facebook : •  Salesforce : •  Inventaire : Enjeux
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Enjeux reliés au projetContraintes des API •  Coûts (temps et $) •  Learning curve •  Documentation
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Enjeux reliés au développement•  Sécurité •  SSL/TLS •  OAUTH•  Multilinguisme •  Implémentation du service •  Encodage de caractères•  Fonctionnalité avancée à Recherche •  Peut-on rechercher dans les données ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Enjeux reliés à la performance•  Temps de réponse de l’API •  M. Wilkins •  Salesforce = Pas particulièrement rapide•  Limite de requêtes •  Ex. : API Google Maps•  Fréquence des appels
  • Survol  des   À  garder   Connecter  Briser  la  glace   Conclusion   API   en  tête   Drupal  Comment connecter Drupal à des API ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Évaluation des plugins existants•  Répondent-ils aux objectifs d’affaires ? •  M. Wilkins •  Web-to-Lead = Pas idéal •  Salesforce Suite = À considérer•  Peut-on les étendre ?•  Possèdent-ils un API interne ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Librairies de connexions indépendantes à Drupal•  Est-ce qu’il en existe ?•  Sont-elles documentées ?•  Possibilité de les encapsuler dans un module ?•  Considérer écrire sa propre librairie
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Plugins VS. templatesQuestion niaiseuse ?•  Souvent les connexions front-end dans les thèmes•  Remettre en question chacune des intégrations d’API
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Enregistrer et manipuler les données•  Nodes •  M. Wilkins •  Inventaire•  Entities (D7)•  Taxonomy•  Users•  Logs•  Hook_scheme
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Manipulation et automatisationManipulation•  Migrate Module•  Feeds Module•  Donner une interface à l’utilisateur•  M. Wilkins •  Inventaire
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Manipulation et automatisationAutomatisation•  Plusieurs hooks lors des CRUD de tous les types d’objets•  /! Ne pas sous-estimer le hook_cron •  Mr. Wilkins •  Salesforce •  Récupérer les factures •  Commandes des clients•  Actions/Triggers pour les opérations plus complexes
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Être transparent pour l’utilisateur•  Indiquer les temps d’attente lors des connexions•  Afficher des messages clairs•  Indiquer quoi faire s’il y a des erreurs•  Offrir des rapports des importations
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  En tant que développeur : s’aider soi-même•  Produisez des logs •  watchdog •  custom logs•  Mettez en cache autant que possible •  cache_set() // cache_get() •  hook_flush_caches() si cache plus complexe
  • Survol  des   À  garder   Connecter  Briser  la  glace   Conclusion   API   en  tête   Drupal   Bref Que retenir ?
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Un client heureux…•  Mr. Wilkins •  Encourage les visiteurs à promouvoir la marque sur les réseaux sociaux •  Liens Facebook •  Économise des coûts (temps et $) •  Mise à jour de l’inventaire via le logiciel interne uniquement •  Personnalise chaque communication avec ses clients •  Un client a accès à son historique de commandes et de contacts
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  … et un développeur aussi•  Économise du temps de développement •  Mécanisme intégré dans Drupal•  Affiche les données en provenance d’autres plateformes •  Ex. : Module Views•  Détient du code réutilisable •  Pour des sites similaires •  Pour le partage à la communauté
  • Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal  Drupal Plus qu’un CMS pour un site web•  Hub de gestion de différents services•  Diffuser le contenu dans d’autres plateformes •  Entrée de données •  Traduction•  Remplacer un CRM ou logiciel de gestion d’inventaire•  Application web
  • Merci ! Des questions ? Contactez-nous :info@symetris.ca / matthieu@symetris.ca Notre prochain RDV : Générer plus de revenus par le web : pouvez-vous faire mieux ?PME 2013 – 22 et 23 novembre prochains