L'OpenData du Système Solaire

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.

Nombre connu d'objet

Nombre connu de chaque famille d'astre : planètes, satellites, astéroïdes, comètes.

Version

Une API vivante

01/08/2023 - Nouveaux satellites

Ajout de 15 satellites de Jupiter.

Ajout de 62 satellites de Saturne.

08/01/2022 - 1.2.1 - Nouvelles données et corrections de bugs

Ajout du type d'astre.

Les valeurs massValue, massExponent, volValue, volExponent sont filtrables.

isplanet est filtrable en valeur booléenne true ou false.

07/06/2021 - 1.2.0 - Nouvelles données

Ajout de la température moyenne et des caractéristiques orbitales suivante Anomalie moyenne, Nœud ascendant et Argument du périhélie.

14/11/2020 - 1.1.0 - Nombre connu d'objet

Nouveau end-point /knowcount

Renvoie le nombre d'astre connu à ce jour.

10/10/2020 - Inclinaison sur l'axe & Fix

Ajout de l'inclinaison sur l'axe pour les planètes.

Fix du rayon moyen du Soleil.

20/07/2020 - Le demi grand axe, le périhélie et l'aphélie sont grands

Passage en bigint des données semimajorAxis, perihelion et aphelion.

05/04/2020 - Ajout des nouveaux satellites de Saturne

Ajout de 20 satellites de Saturne.

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}

Tous les nombres d'objet connu

Une URL renvoie tous les nombres d'objet connu dans le Système solaire :

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

Nombre connu, type d'objet par type d'objet

Une URL renvoie le nombre connu d'objet du type demandé :

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

Les paramètres de l'API /bodies

# 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
3 order Permet de trier le résultat.
Exemple : order=semimajorAxis,asc
NB : Un seul paramètre de tri autorisé.
4 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".
5 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.
6 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é.
7 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 pour /bodies

# 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 aphelion 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 km3.
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.
27 axialTilt decimal Inclinaison sur l'axe.
28 avgTemp interger Température moyenne en K.
29 mainAnomaly decimal Anomalie moyenne en degré.
30 argPeriapsis decimal Argument du périhélie en degré.
31 longAscNode decimal Nœud ascendant en degré.
32 bodyType string Type d'astre : Star, Planet, Dwarf Planet, Asteroid, Comet ou Moon.

Les paramètres de l'API /knowncount

# Paramètre Action
1 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.

Les données disponibles pour /knowncount

# Nom Type Contenu
1 id string Type d'astre.
2 knowncount integer Nombre connu.
3 updateDate string Date d'actualisation du nombre connu.