Logo des Enovateurs
Simples et gratuits, parfaits pour créer des applis en vitesse... les développeurs les utilisent, vous devenez le produit

Simples et gratuits, parfaits pour créer des applis en vitesse... les développeurs les utilisent, vous devenez le produit

Paiement en carte bancaire, diffusion de publicité, analyse du trafic... ces fonctionnalités habituelles, vous les utilisez sans vous poser de questions. Ces modules prêts à l'emploi, créés par des sociétés spécialisées, sont des kits de développement d'applications (SDK). Largement utilisés dans la profession, leur contenu est rarement examiné alors qu'ils dissimulent parfois, volontairement ou non, des problématiques de sécurité.

Dans tous les domaines d'activité, certains services redondants sont utilisés par de nombreuses entreprises. Par exemple, dans l'industrie automobile, plus personne ne réinvente la roue. Des acteurs existent déjà, et ont suffisamment optimisé leurs installations et leur production.

De leur côté, les éditeurs de logiciels et d'applications ont besoin de connaître :

  • la façon dont les utilisateurs découvrent leurs outils
  • la manière dont ils téléchargent leurs applications
  • comment leurs applications / logiciels sont utilisés
  • dans quelles circonstances ils dysfonctionnent
  • la nécessité de disposer d'un système de paiement

Tout ceci, dans le but d'augmenter leurs ventes, de gérer les problèmes en temps réel, etc. L'idée est de gérer leur entreprise correctement, avec des données et des outils fiables.

Or il existe des services permettant de répondre à ces questions. Cela fait maintenant un moment qu'ils ont été développés par des entreprises tierces spécialisées. Il s'agit des SDK : Software Development Kit, ou kit de développement d'applications.

Par exemple, Stripe-js est un SDK de paiement : il facilite l'intégration d'un module d'achat de produits avec saisie de carte bancaire. Ce SDK est utilisé par des plateformes utilisant le langage Javascript. Sur le plan technique, un SDK est souvent un dossier contenant différents fichiers de code.

Statistiques du module stripe. Modifié récemment et téléchargé 800 000 fois par semaine
Statistiques de Stripe-js (capture d'écran réalisée le 30/04/2022)

Stripe-js pèse 343 Kb et contient 61 fichiers. Il est téléchargé 788 970 fois par semaine, et le code a été modifié 8 jours auparavant d'après la plateforme npm. Celle-ci permet aux développeurs·ses qui utilisent Javascript de télécharger des SDK et composants divers pour leurs projets de développement.

Un autre exemple : EDF (source : Appfigures)

AppTasty, Admob, AppAuth sont des SDK présents dans l'application EDF et Moi
AppFlyer, Batch et Firebase sont des SDK présents dans l'application EDF et Moi

Le recours à ces SDK est massif, pour une raison toute simple : recréer ces outils en interne représenterait un temps considérable et des coûts très élevés pour les éditeurs de logiciels.

La face cachée des SDK

Peu de développeurs·ses et d'entreprises s'interrogent sur ce qui se cache derrière les SDK. Ils choisissent de s'en servir pour aller au plus simple et au plus rapide.

Le problème, c'est que certains éditeurs de SDK peuvent y glisser des backdoors ou des failles de sécurité - de manière volontaire ou involontaire.

La seconde problématique liée aux SDK, tout aussi préoccupante, est un manque généralisé d'informations et de transparence. Souvent, les utilisateurs finaux d'applications ou de logiciels n'ont pas le temps ou les connaissances nécessaires pour étudier les composants des SDK dont ils se servent. Et même s'ils prenaient le temps, leur analyse serait caduque au bout de quelque mois puisque les SDK sont régulièrement modifiés et mis à jour.

La plupart n'ont pas la moindre idée des briques utilisées par ces entreprises tierces. D'ailleurs, le principal reproche adressé aux SDK concerne la protection des données personnelles soumises au Règlement Général de la Protection des Données (RGPD).

Enfin, les SDK posent des questions plus larges :

  • Quelles sont les informations auxquelles les utilisateurs finaux doivent avoir accès ?
  • Où sont hébergées les données ? Qui les utilise ?
  • Quelles sont les briques logicielles tierces ?

Un conseil : lorsque vous téléchargez des applications, faites un tour du côté des conditions générales d'utilisation et de la politique de confidentialité (oui, ces documents que personne ne lit jamais). Les SDK utilisés y sont (en théorie) précisés, ce qui permet de savoir à quelle sauce vous serez mangés. Comme quand vous vérifiez les ingrédients d'un gel douche avant de l'appliquer sur votre peau...

[Photo de couverture : cometenono]

Jérémy PASTOURET
Jérémy PASTOURET
Journaliste en recherche constante de nouveaux outils plus légers, accessibles à tous et respectueux de la vie privée de leurs utilisateurs.

Commentaires

Ecrire un commentaire

Sobriété

Passez à l'étape supérieure :

Découvrez nos tutos !

Chargement d'un nouvel article...

Les Enovateurs

Rejoignez notre communauté de lecteurs

Retrouvez-nous aussi sur

linkedin