SlideShare une entreprise Scribd logo
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 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 ?
Survol	
  des	
     À	
  garder	
     Connecter	
  
     Briser	
  la	
  glace	
                                                           Conclusion	
  
                                    API	
            en	
  tête	
       Drupal	
  




   Qu’est-ce qu’un API et
pourquoi connecter à un API ?
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




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
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




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
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




É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)
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




É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
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




Échelles et complexité des API III/III


Absence 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 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
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




Se poser les bonnes questions

Choix des API

3) 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 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
Survol	
  des	
     À	
  garder	
     Connecter	
  
            Briser	
  la	
  glace	
                                                           Conclusion	
  
                                           API	
            en	
  tête	
       Drupal	
  




Enjeux reliés au projet

Contraintes 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. templates


Question 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 automatisation


Manipulation

•  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 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
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

Contenu connexe

PPTX
Les particularités de Drupal en gestion de projet: une histoire d’amour et de...
PDF
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
PPTX
Personnaliser l'interface administrateur de Drupal - DrupalCamp Montreal 2014
PDF
Eurelis - Construire une usine à sites
PPT
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
PDF
Industrialisation des développements d'Apps SharePoint avec Node.js
PDF
Migration de technologie J2EE vers PHP à M6Web
PDF
Wiki aide presentation de la solution
Les particularités de Drupal en gestion de projet: une histoire d’amour et de...
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
Personnaliser l'interface administrateur de Drupal - DrupalCamp Montreal 2014
Eurelis - Construire une usine à sites
Vis ma vie de chef de projet Drupal | Drupagora 2013, Paris
Industrialisation des développements d'Apps SharePoint avec Node.js
Migration de technologie J2EE vers PHP à M6Web
Wiki aide presentation de la solution

Tendances (20)

PDF
Introduction a Power Automate - aOS Nouméa 28-02-2020
PPTX
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
PPTX
Échapper à la refonte complète pour passer au Mobile avec le Témoignage de Bo...
PDF
Drink 'n' Drupal Lille nov. 2013
PDF
Alphorm.com Formation OpenVZ
PDF
alphorm.com - Formation VMware PowerCLI 5.0
PDF
Alphorm.com support de la formation ms azure pour les développeurs
PDF
Alphorm.com Formation Drupal 7 pour les utilisateurs
PDF
Comment contribuer à Drupal
PPTX
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
PDF
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Avancé
PDF
Alphorm.com Support de la Formation Azure Iaas avancé 2
PDF
Alphorm.com support de la formation Access 2016 Initiation
PDF
Alphorm.com Support de la Formation Oracle VM Administration
PDF
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
PDF
Alphorm.com Support de la Formation PHP MySQL
PDF
Alphorm.com support de la formation Stormshield, Expert
PDF
DrupalCamp Paris 2013 - Drupal un cms oriente metier
KEY
Solutions Web « prêtes à porter » avec WordPress
PDF
Alphorm.com support-formation-v mware-v-center-6-ss
Introduction a Power Automate - aOS Nouméa 28-02-2020
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
Échapper à la refonte complète pour passer au Mobile avec le Témoignage de Bo...
Drink 'n' Drupal Lille nov. 2013
Alphorm.com Formation OpenVZ
alphorm.com - Formation VMware PowerCLI 5.0
Alphorm.com support de la formation ms azure pour les développeurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
Comment contribuer à Drupal
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Avancé
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com support de la formation Access 2016 Initiation
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com support de la formation Stormshield, Expert
DrupalCamp Paris 2013 - Drupal un cms oriente metier
Solutions Web « prêtes à porter » avec WordPress
Alphorm.com support-formation-v mware-v-center-6-ss
Publicité

Similaire à Connecter Drupal à des API externes (20)

PPTX
PDF
Découvrir Drupal, le CMS Open Source de référence
PDF
Drupagora linagora-20111110
PDF
Les défis de l'intégration Drupal dans un SI complexe - Actency Drupagora 2019
PDF
Drupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshare
PDF
De l'open source à l'open API avec Restlet
PPTX
API et Mobile / Académies du Tourisme Numérique
PPT
Passer de zéro à 100km/h sur Drupal grâce à Acquia
PPTX
Asp.Net Web.API, SignalR et UX : le futur
PDF
Rich Desktop Applications
PDF
Alfresco 4.0 en français
PDF
Plaquette Xerox Codendi
PPTX
Quand les api de google deviennent une arme pour notre seo
PDF
Pourquoi rails est génial? (version longue)
PDF
Gwt
PDF
Comprendre, utiliser et créer une API
ODP
API Hypermedia - Devoxx 2015
PDF
Conference drupagora-drupal-8 2012-11-09
PDF
Drupal forces et faiblesses : prospective et en pratique
PDF
PHP/ExtJs experience feedback - IAV case - 1
Découvrir Drupal, le CMS Open Source de référence
Drupagora linagora-20111110
Les défis de l'intégration Drupal dans un SI complexe - Actency Drupagora 2019
Drupal pour-utilisateurs-editeurs-redacteurs-dc-toulouse-2011 slideshare
De l'open source à l'open API avec Restlet
API et Mobile / Académies du Tourisme Numérique
Passer de zéro à 100km/h sur Drupal grâce à Acquia
Asp.Net Web.API, SignalR et UX : le futur
Rich Desktop Applications
Alfresco 4.0 en français
Plaquette Xerox Codendi
Quand les api de google deviennent une arme pour notre seo
Pourquoi rails est génial? (version longue)
Gwt
Comprendre, utiliser et créer une API
API Hypermedia - Devoxx 2015
Conference drupagora-drupal-8 2012-11-09
Drupal forces et faiblesses : prospective et en pratique
PHP/ExtJs experience feedback - IAV case - 1
Publicité

Plus de Symetris (11)

PDF
Hyperpersonnalisation des sites web et écosystèmes numériques - Les best prac...
PPTX
Écrire de la documentation persistante pour un projet Drupal
PPTX
How to maintain, evolve and maximize the return on your Drupal website invest...
PPTX
Should you upgrade your Drupal 7 website or migrate to Drupal 8?
PPTX
Different approaches for different scopes: How to tackle a medium-sized Dr...
PPTX
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
PDF
Symetris ambiance
PPTX
WTF: Where To Focus when you take over a Drupal project
PPTX
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
PPTX
Mieux Filtrer ses listes WordPress avec Ajax et WP_Query
PDF
Générer plus de revenus par le web: Pouvez-vous faire mieux ?
Hyperpersonnalisation des sites web et écosystèmes numériques - Les best prac...
Écrire de la documentation persistante pour un projet Drupal
How to maintain, evolve and maximize the return on your Drupal website invest...
Should you upgrade your Drupal 7 website or migrate to Drupal 8?
Different approaches for different scopes: How to tackle a medium-sized Dr...
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Symetris ambiance
WTF: Where To Focus when you take over a Drupal project
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
Mieux Filtrer ses listes WordPress avec Ajax et WP_Query
Générer plus de revenus par le web: Pouvez-vous faire mieux ?

Connecter Drupal à des API externes

  • 1. Connecter Drupal à des API externes *** Trucs et conseils
  • 2. 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
  • 3. 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
  • 4. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Qui suis-je ?
  • 5. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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 ?
  • 6. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Qu’est-ce qu’un API et pourquoi connecter à un API ?
  • 7. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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
  • 8. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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
  • 9. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   É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)
  • 10. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   É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
  • 11. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Échelles et complexité des API III/III Absence d’API •  Objectifs remplis grâce à des mécanismes d’exploitation •  RSS Feed
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Que savoir avant d’amorcer un projet Drupal/API ?
  • 19. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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
  • 20. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Se poser les bonnes questions Choix des API 3) Quels API atteindraient les objectifs ? •  M. Wilkins •  Facebook •  Salesforce •  Logiciel custom
  • 21. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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
  • 22. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Enjeux reliés au projet Contraintes des API •  Coûts (temps et $) •  Learning curve •  Documentation
  • 23. 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 ?
  • 24. 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
  • 25. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Comment connecter Drupal à des API ?
  • 26. 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 ?
  • 27. 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
  • 28. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Plugins VS. templates Question niaiseuse ? •  Souvent les connexions front-end dans les thèmes •  Remettre en question chacune des intégrations d’API
  • 29. 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
  • 30. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Manipulation et automatisation Manipulation •  Migrate Module •  Feeds Module •  Donner une interface à l’utilisateur •  M. Wilkins •  Inventaire
  • 31. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   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
  • 32. 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
  • 33. 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
  • 34. Survol  des   À  garder   Connecter   Briser  la  glace   Conclusion   API   en  tête   Drupal   Bref Que retenir ?
  • 35. 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
  • 36. 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é
  • 37. 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
  • 38. 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