Swagger (logiciel)
# Swagger (logiciel)

Swagger est un langage de description d'interface permettant de décrire des API exprimées à l'aide de JSON.

Swagger est utilisé avec toute une série d'outils logiciels open source pour concevoir, créer, documenter et utiliser des services Web.

Swagger inclut des outils de documentation automatisée, de génération de code (dans de nombreux langages de programmation) et de génération de cas de test.

## Historique

Le projet Swagger API a été créé en 2011 par Tony Tam, cofondateur technique du site de dictionnaires Wordnik. Au cours du développement des produits Wordnik, le besoin d'automatisation de la documentation de l'API et de la génération du SDK client est devenu une source majeure de frustration. Tam a conçu une représentation JSON simple de l'API, en s'appuyant sur la flexibilité d'une partie du style d'architecture REST et en utilisant de nombreuses fonctionnalités d'outils conçus pour le protocole SOAP. Le concept de l'interface utilisateur a été proposé par Ayush Gupta, qui a suggéré qu'une interface utilisateur interactive profiterait aux utilisateurs finaux qui souhaitaient « essayer » et développer une API. Le projet Swagger API a été rendu open source en septembre 2011. Peu de temps après la sortie, un certain nombre de nouveaux composants ont été ajoutés au projet, notamment un validateur autonome, la prise en charge de Node.js et de Ruby on Rails.

En novembre 2015, SmartBear Software, la société qui maintenait Swagger, a annoncé qu'elle aidait à créer une nouvelle organisation, sous le parrainage de la Linux Foundation, appelée OpenAPI Initiative. Diverses entreprises, dont Google, IBM et Microsoft en sont les membres fondateurs.

Le 1er janvier 2016, la spécification Swagger a été renommée OpenAPI Specification et déplacée vers un nouveau référentiel de logiciels sur GitHub. Bien que la spécification elle-même n'ait pas été modifiée, ce changement de nom a permis d'expliciter la séparation entre le format de description de l'API et les outils open source.

## Usage

L'utilisation des outils open source de Swagger peut être divisée en différents cas d'utilisation : développement, interaction avec les API et documentation.

