Skip to content
Revenir au blog

SDK (Software Development Kit)

Définition du SDK (Software Development Kit) 


Le SDK venant de l’anglais Software Development Kit, est un kit de développement mis à disposition des développeurs web et mobile. Il leur permet de programmer tout ou partie d’un logiciel dans l’univers digital : site web, jeux, programme de fidélité au sein d’une application mobile etc.

 

À quoi sert un SDK ?

 

Il existe plusieurs types de SDK : ceux concernant l’environnement de programmation (Androïd etc.), ceux pour le développement et la maintenance de fonctionnalités (paiement, social etc.) et d’autres dédiés aux usages marketing et publicitaires (ciblage et analytics).


Par exemple, pour développer une application mobile sous IOS il faudra utiliser le SDK mobile IOS. Sous l’environnement Java,  le kit de développement logiciel est le JDK.

 

Autre utilisation : dans une logique drive-to-store, un SDK de géolocalisation peut être utilisé par un acteur publicitaire tierce, pour exposer les utilisateurs d’une application mobile à de la publicité contextualisée (après que ceux-ci aient donné leur accord à ce que leurs données de localisation soit utilisées).

 

Quelle est la différence entre une API et un SDK ?

 

Pour bien comprendre la différence entre une API (Application Programming Interface) et un SDK , il faut d’abord que nous définissions l’API.


L’API est une interface permettant à un logiciel d'interagir avec d'autres logiciels. Il faut voir l’API comme un traducteur universel, un traducteur par lequel deux langues très différentes peuvent être traduites et transférées pour une compréhension mutuelle.


Dans le domaine du web, l'API a une fonction légèrement différente. Les API Web permettent l'interaction entre différents systèmes, souvent pour des cas d'utilisation spécifiques. Par exemple, lorsqu'un utilisateur utilise les services d’Uber, les données de la carte affichée proviennent de l’API Google Maps.

Bien souvent, les personnes confondant les API et les SDK le font car dans les faits, la majorité des SDKs sont constitués d’APIs. Par définition un SDK est un kit constitué d’une multitude d’éléments. Il n'est donc pas surprenant que, lorsqu'un SDK est utilisé pour créer une application dans le but de communiquer avec d'autres applications, il inclut une API pour cette fonctionnalité. Voilà donc d'où provient la confusion entre API et SDK.

 

Que contient un SDK ?

 

Il comprend un ensemble d’éléments : fichiers sources, informations, méthodes, projet test etc. - afin de guider les développeurs dans la programmation. 

 

En complément, un émulateur peut être fourni pour réaliser des tests. 

 

Comment est stockée l’information dans un SDK ?

 

L’information est stockée sous forme de code, qui lui-même est organisé en différentes librairies, c'est-à-dire des collections de fonctions prédéfinies que l’on peut appeler à la demande.

 

Toutefois, le code prédéfini ne peut pas être intégré tel quel dans le code source. Il va falloir créer des ponts pour permettre la communication entre le code source et le SDK. 


Parmi les outils principaux se trouvent donc généralement des API (Interfaces de programmation d’application), qui permettent de rattacher les nouvelles fonctionnalités au code source.

 

Combien coûte un SDK ?

 

Un SDK peut être gratuit ou payant. Il peut aussi être accessible en libre-service (open-source) sur internet ou créé pour une demande spécifique et être sous licence.

 

CTA - Blog Post - Business case Carrefour

Fabien Dutrieux
Fabien Dutrieux