L'OpenData du Système Solaire

Les fonctionnalités

Tout ce qui est nécessaire

Tous les astres principaux

Toutes les planètes et leurs satellites, les planètes naines et les astéroïdes principaux.

Caractéristiques physiques

Les dimensions, la masse, l'applatissement, la gravité, l'inclinaison et la température.

Caractéristiques orbitales

Le demi-grand axe, le périhélie, l'aphélie, l'excentricité, la période de révolution et la vitesse orbitale.

Historique

Découverte et découvreur, désignation temporaire et nom anglais.

Grande famille

Ensemble de satellites de chaque astre. La possibilité de naviguer entre les satellites et l'astre.

Version

Une API vivante

20/07/2019 - Mise à jour des données

Ajout des désignations temporaires et des noms anglais pour tous les astres où ces informations étaient absentes.

13/04/2019 - 1.0.1 - Correction paramètres

Les paramètres brutData et datas sont remplacés par rowData et data.

06/04/2019 - 1.0.0 - Données physiques et orbitales

Ajout de plusieurs données : le volume, la densité, la gravité, la vitesse d'échappement, les rayons, la dimension, le périhélie, l'aphélie et les vitesses de révolution et de rotation.

27/03/2019 - 0.2.0 - La masse {Value, Exponent}

Ajout de la masse des astres avec deux valeurs possibles pour représenter celle-ci en 10nkg.

12/03/2019 - Un site web

Developpement de ce site web pour accompagner l'API. Avec les release notes, la documentation de l'API, le descriptif des données retournées et une interface Swagger.

15/06/2018 - 0.1.0-beta - Nouvelles données

Ajout des astéroïdes et des TNO. Les noms anglais sont possibles en tant que clé de recherche avec une redirection 301 vers l'astre en Français.

30/05/2018 - 0.1.0-alpha - MVP

Première version de l'API en ligne. Sont inclus les planètes et les satellites. La documentation swagger est disponible.

02/05/2018 - Juste une idée.

Aucune API avec toutes les données du Système solaire n'existe. Il est grand temps de remédier à cela non?

Documentation

Comment utiliser l'API?

Tous les astres en une requête

Une URL renvoie tous les astres de la base avec toutes les données :

https://api.le-systeme-solaire.net/rest/bodies/

Astre par astre

Une URL renvoie toutes les données d'un astre :

https://api.le-systeme-solaire.net/rest/bodies/{id}

Les paramètres de l'API

# Paramètre Action
1 data Permet de limiter les données renvoyées (séparé par une virgule).
Exemple : data=id,semimajorAxis,isPlanet
2 exclude Permet d'exclure certaines données (séparé par une virgule).
Exemple : exclude=id,isPlanet
2 order Permet de trier le résultat.
Exemple : order=semimajorAxis,asc
NB : Un seul paramètre de tri autorisé.
3 page Permet de paginer le résultat d'une requête triée. Il faut préciser le numéro de page (numéro>=1) et la taille des page (taille>=1 and 20 par défaut).
Exemple : page=1,10
NB : Vous ne pouvez pas utiliser “page” sans le paramètre "order".
4 rowData Permet de transformer les objets en enregistrement.
Exemple : rowData=true
NB : Cette action peut être faite en JavaScript coté client!
NB : La valeur par défaut est false.
5 filter[] Permet de filtrer le résultat. Chaque filtre est composé d'une donnée, un opérateur et une valeur (séparé par une virgule).
Exemple : filter[]=id,eq,mars
Les opérateurs acceptés sont :
  • cs (like)
  • sw (start with)
  • ew (end with)
  • eq (equal)
  • lt (less than)
  • le (less or equal than)
  • ge (greater or equal than)
  • gt (greater than)
  • bt (between)
Tous opérateurs inverses existent : ncs - nsw - new - neq - nlt - nle - nge - ngt - nbt.
NB : Si un filtre est invalide il sera ignoré.
6 satisfy Permet de forcer si tous les filtres s'appliquent (choix par défaut) ou juste certains.
Exemple : satisfy=any
NB : la seule valeur possible est any

Les données disponibles

# Nom Type Contenu
1 id string Identifiant de l'astre dans l'API.
2 name string Nom de l'astre (en français).
3 englishName string Nom anglais de l'astre.
4 isPlanet boolean Est-ce une planète?
5 moons
[{moon, rel}, ...]
array
[{string, string}, ...]
Tableau avec tous les satellites.
moon : nom du satellite, rel : adresse de l'API pour le satellite.
6 semimajorAxis integer Le demi grand axe en kilomètres.
7 perihelion integer Le périhélie en kilomètres.
8 apheion integer L'aphélie en kilomètres.
9 eccentricity decimal L'excentricité orbitale.
10 inclination decimal L'inclinaison orbitale en degrés.
11 mass
{massValue, massExponent}
object
{number, integer}
La masse de l'objet en 10n kg.
massValue : masse de l'astre, massExponent : exposant 10 de la masse.
12 vol
{volValue, volExponent}
object
{number, integer}
Le Volume de l'objet en 10n kg.
volValue : volume de l'astre, volExponent : exposant 10 du volume.
13 density decimal La dentité de l'astre en g.cm3.
14 gravity decimal La gravité de surface en m.s-2.
15 escape decimal La vitesse d'échappement en m.s-1.
16 meanRadius integer Le rayon moyen en kilomètres.
17 equaRadius integer Le rayon équatorial en kilomètres.
18 polarRadius integer Le rayon polaire en kilomètres.
19 escape flattening L'aplatissement.
20 dimension string Dimension de l'astre en kilomètres sur 3 axes X, Y et Z pour les astres non sphériques.
21 sideralOrbit decimal La période le révolution de l'astre autour d'un autre astre (le Soleil ou une planète) en jours terrestres.
22 sideralRotation decimal La période de rotation de l'astre, le temps nécessaire pour astre pour réaliser un tour sur lui même, en heure.
23 aroundPlanet
{planet, rel}
object
{string, string}
Pour un satellite, la planète autour de laquelle orbite l'astre.
planet : nom de la planète, rel : adresse de l'API pour la planète.
24 discoveredBy string Nom du découvreur de l'astre.
25 discoveryDate string Date de découverte de l'astre
26 alternativeName string Désignation temporaire.