Upload
symetris
View
1.169
Download
1
Tags:
Embed Size (px)
Citation preview
Connecter Drupal à des API externes
***
Trucs et conseils
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Qui suis-je ?
***
• Matthieu Gadrat • Développeur PHP • 3 ans d’expérience avec des CMS open-source • Amateur de ski
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Qui suis-je ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Ordre du jour
I – 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 ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Qu’est-ce qu’un API et pourquoi connecter à un API ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Définition
API
« An Application Programming Interface (API) is a specification intended to be used as an interface
by software components to communicate with each other. An API may include specifications for routines,
data structures, object classes and variables. » - Wikipédia
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
API interne VS. API externe
API interne • Spécification à l’intérieur d’une même application • Ex. : API Drupal, API Module Views
API externe • Connexion à un service extérieur à l’application • Ex. : Google Maps, Facebook
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Échelles et complexité des API I/III
API simples • Facebook Lightbox/Addthis • Souvent Front-end
• Ex. : Javascript
• Protocole HTTP/GET/POST • Sans authentification ou authentification simple
(token)
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Échelles et complexité des API II/III
API complexes • Salesforce, Vimeo Upload API • Intégration sur le serveur
• Protocole SOAP via HTTPS • Authentification sécurisée
• Ex. : OAUTH
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Échelles et complexité des API III/III
Absence d’API • Objectifs remplis grâce à des mécanismes
d’exploitation
• RSS Feed
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Pourquoi connecter Drupal à un API externe ?
Prenons comme exemple d’entreprise :
M. Wilkins
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Pourquoi connecter Drupal à un API externe ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
M. Wilkins • Multinationale • Fabrique des traitements
antipuces canins • En processus de refonte de
son site web
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Pourquoi ne pas choisir Drupal comme unique plateforme ? Excellente question !
Voyons M. Wilkins
• Intérêt des autres outils • Coûts de développement
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Que savoir avant d’amorcer un projet Drupal/API ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Se poser les bonnes questions
Analyse des processus d’affaires 1) Quel est le processus actuel de l’entreprise ?
• Habitudes
2) Quel meilleur processus implanter ? • En fonction des objectifs fixés • Outils adaptés
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Se poser les bonnes questions
Choix des API 3) Quels API atteindraient les objectifs ?
• M. Wilkins • Facebook • Salesforce • Logiciel custom
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Se poser les bonnes questions
Évaluation des API 4) Quelles sont les spécifications et limites des API ? 5) Les limites identifiées peuvent-elles s’adapter au processus d’affaires ?
• M. Wilkins • Facebook : • Salesforce : • Inventaire : Enjeux
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Enjeux reliés au projet
Contraintes des API
• Coûts (temps et $) • Learning curve • Documentation
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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 ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Comment connecter Drupal à des API ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
É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 ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Plugins VS. templates Question niaiseuse ?
• Souvent les connexions front-end dans les thèmes • Remettre en question chacune des intégrations d’API
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Enregistrer et manipuler les données • Nodes
• M. Wilkins • Inventaire
• Entities (D7) • Taxonomy • Users • Logs • Hook_scheme
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Manipulation et automatisation Manipulation • Migrate Module • Feeds Module
• Donner une interface à l’utilisateur • M. Wilkins
• Inventaire
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Manipulation et automatisation Automatisation • 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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Ê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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Bref
Que retenir ?
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
… 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é
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
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
Briser la glace Survol des API
À garder en tête
Connecter Drupal Conclusion
Merci !
Des questions ?
Contactez-nous :
[email protected] / [email protected]
Notre prochain RDV :
Générer plus de revenus par le web : pouvez-vous faire mieux ?
PME 2013 – 22 et 23 novembre prochains