Une intégration relie des systèmes au moyen d'API, de connecteurs ou d'échanges de fichiers. Le Centre canadien pour la cybersécurité recommande, dans ITSM.60.005, de « n'effectuer aucun codage en dur de justificatifs de base de données et de clés d'interface de programmation d'applications » (section 5.4.4). Quand des renseignements personnels circulent entre les systèmes, la protection de ces accès fait partie du projet dès le départ.
Réponse courte
Vous décrivez vos logiciels et les données qui doivent circuler entre eux : votre demande est analysée par l'équipe Courtier TI puis confiée à l'entreprise de services TI qui préparera votre soumission. La méthode d'intégration, les outils et le suivi des erreurs sont établis avec vous.
Ce que la soumission devrait couvrir
- L'inventaire des systèmes à relier et des données échangées
- Le sens de chaque flux, sa fréquence et le système qui fait foi pour chaque donnée
- La méthode retenue : API, connecteur existant, plateforme d'intégration ou développement sur mesure
- La gestion des accès : comptes de service, clés d'API, droits minimaux
- La gestion des erreurs : journalisation, alertes, reprise des échanges en échec
- Les tests avec des données réelles ou représentatives
- La documentation et la maintenance lors des mises à jour des logiciels reliés
Les étapes d'un projet d'intégration
- Inventaire des systèmes et des données à faire circuler
- Choix du système qui fait foi pour chaque type de donnée
- Choix de la méthode d'intégration et vérification des API offertes
- Développement ou configuration, avec un environnement de test
- Tests des cas normaux et des cas d'erreur
- Mise en service, surveillance des échanges et documentation
Inventaire des systèmes et sens des flux
Commencez par dessiner vos flux : quel logiciel envoie quoi, à qui, à quel moment. Pour chaque donnée, comme un client, un produit ou un prix, décidez quel système fait foi. Sans cette règle, deux systèmes peuvent se corriger l'un l'autre et créer des doublons ou des écarts difficiles à retracer.
Vérifiez ensuite ce que chaque logiciel permet : API documentée, connecteur offert par l'éditeur, export de fichiers seulement. Certaines API sont limitées selon le forfait ou le nombre d'appels. Faites confirmer ces limites par écrit avant de choisir la méthode. Notre guide pour rédiger un cahier des charges TI aide à décrire ces besoins.
Plateforme d'intégration ou développement sur mesure
Une plateforme d'intégration, comme Microsoft Power Automate, Zapier ou Make, à titre d'exemples, permet de relier des applications courantes sans tout programmer. Elle convient souvent aux flux simples, mais ajoute un abonnement et un intermédiaire qui traite vos données. Un développement sur mesure offre plus de contrôle pour des règles complexes ou des volumes importants, et demande une maintenance assurée par quelqu'un.
Dans les deux cas, demandez où les données transitent et sont conservées. Si une plateforme traite des renseignements personnels à l'extérieur du Québec, l'article 17 de la Loi sur la protection des renseignements personnels dans le secteur privé exige une évaluation des facteurs relatifs à la vie privée avant de lui confier cette tâche, ainsi qu'une entente écrite.
Sécurité des accès et renseignements personnels
Chaque intégration utilise des accès : comptes de service, clés d'API, jetons. Les contrôles de cybersécurité de base du Centre demandent de fournir des comptes avec les fonctionnalités minimalement requises à l'exécution des tâches (BC.12.1). Une intégration qui lit les factures n'a pas besoin de droits d'administrateur. Les clés ne devraient pas être inscrites dans le code, selon ITSM.60.005, et leur renouvellement devrait être prévu. Le Top 10 des risques de sécurité des API de l'OWASP (en anglais) peut servir de référence, par exemple pour les failles d'autorisation et d'authentification.
Si l'intégration fait partie d'un projet de développement ou de refonte d'un système d'information qui implique des renseignements personnels, l'article 3.3 de la Loi exige une évaluation des facteurs relatifs à la vie privée et la consultation, dès le début du projet, du responsable de la protection des renseignements personnels. Le contrat avec l'entreprise qui aura accès aux données doit aussi être écrit et préciser les mesures de protection (art. 18.3).
Gestion des erreurs et maintenance
Une intégration finit toujours par rencontrer une erreur : un logiciel en panne, un champ obligatoire vide, une clé expirée. La soumission devrait préciser comment les erreurs sont journalisées, qui reçoit une alerte, comment les échanges en échec sont repris et comment éviter de créer des doublons à la reprise.
Les logiciels reliés évoluent : une mise à jour peut modifier une API. Faites préciser qui surveille ces changements, qui corrige l'intégration et à quelles conditions. Exigez une documentation des flux, des accès et des règles, et l'accès au code source si l'intégration est développée sur mesure.
Questions à vous poser avant de demander une soumission
- Quelles tâches de double saisie voulez-vous éliminer ?
- Quels logiciels doivent échanger des données, et dans quel sens ?
- Quel système fait foi pour les clients, les produits et les prix ?
- Les échanges doivent-ils être immédiats, ou une synchronisation périodique suffit-elle ?
- Des renseignements personnels circulent-ils entre ces systèmes ?
- Qui, chez vous, sera prévenu en cas d'erreur ?
Pièges à éviter
- Relier des systèmes sans avoir décidé lequel fait foi
- Un compte administrateur utilisé par l'intégration
- Des clés d'API inscrites dans le code ou partagées par courriel
- Aucune alerte en cas d'échec, découvert tardivement
- Une plateforme d'intégration choisie sans savoir où elle traite les données
- Aucune documentation ni accès au code à la fin du contrat
Ce qu'il faut préciser dans votre demande
- La liste des logiciels à relier, avec leur version ou leur forfait
- Les données à faire circuler et le volume approximatif
- La fréquence souhaitée des échanges
- Les outils d'intégration déjà utilisés, s'il y en a
- La présence de renseignements personnels
- Les exigences d'un client, d'un assureur ou d'un contrat à respecter
Vous pouvez ensuite décrire votre projet : l'équipe communique avec vous pour préciser votre besoin et vous remettre une soumission.
Questions fréquentes
Qu'est-ce qu'une API ?
Une interface de programmation d'applications (API) est une porte d'entrée qu'un logiciel offre à d'autres logiciels pour lire ou modifier ses données de façon contrôlée. La plupart des intégrations modernes passent par des API, quand le logiciel en offre une.
Faut-il une plateforme d'intégration ou du développement sur mesure ?
Cela dépend de vos flux. Une plateforme, comme Power Automate, Zapier ou Make à titre d'exemples, convient souvent aux échanges simples entre applications courantes. Le sur mesure se justifie pour des règles complexes, des volumes importants ou un logiciel sans connecteur.
Comment protéger les accès utilisés par une intégration ?
Donnez à chaque intégration son propre compte avec les droits minimaux, conservez les clés hors du code et prévoyez leur renouvellement. Le Centre canadien pour la cybersécurité recommande de ne pas coder en dur les justificatifs de base de données et les clés d'API.
Une évaluation des facteurs relatifs à la vie privée est-elle nécessaire ?
Si l'intégration fait partie d'un projet de développement ou de refonte d'un système d'information qui implique des renseignements personnels, oui : la Loi l'exige (art. 3.3). Elle l'exige aussi avant de confier ces renseignements à une plateforme située à l'extérieur du Québec (art. 17).
Que se passe-t-il quand un des logiciels est mis à jour ?
Une mise à jour peut modifier une API et briser l'intégration. Faites préciser dans la soumission qui surveille ces changements, qui corrige l'intégration et à quelles conditions.