Informations sur les événements au format JSON
Tu peux obtenir toutes les informations publiques sur les événements de goabase.net au format JSON pour ton utilisation.
Nous n'utilisons pas de clé API pour le moment et tu n'as pas besoin de t'inscrire pour utiliser l'API.
Si tu cherches un moyen très simple d'intégrer des événements de fête, consulte Serveur de fête.
Si tu souhaites publier ou réutiliser les données, ne supprime pas le backlink vers goabase.net. Merci beaucoup !
Et si tu as des questions, n'hésite pas à nous contacter : Contact
Syntaxe/Versions
- Notre propre syntaxe "plate" ou
- JSON-LD selon schema.org.
Tu peux choisir la version en fonction de l'URL :
https://www.goabase.net/api/party/json/
- Notre syntaxe, version 1https://www.goabase.net/api/party/jsonld/
- LD JSON selon schema.org (Ver. 2)Les données
- Liste des soirées
[https://www.goabase.net/api/party/json/?limit=10]
(max 10)
[https://www.goabase.net/api/party/jsonld/?limit=10]
(max 10)
Les liens te conduisent à une liste claire des 10 événements à venir. Ils sont classés par date de début, nom de la fête et pays. Tu peux aussi utiliser des paramètres GET pour limiter la liste. Avec ?limit=50, seuls 50 seront affichés. - Tous les pays
[https://www.goabase.net/api/party/json/?country=list-all]
[https://www.goabase.net/api/party/jsonld/?country=list-all]
Tu obtiendras ainsi une liste de tous les pays et le nombre de leurs événements... - Fête
https://www.goabase.net/api/party/json/{id}
https://www.goabase.net/api/party/jsonld/{id}
Si tu ajoutes l'ID, tu obtiendras tous les détails de la fête.
Paramètres GET pour la liste des parties
https://www.goabase.net/api/party/json/?{parameter}={value}
https://www.goabase.net/api/party/jsonld/?{parameter}={value}
Remarques générales sur notre syntaxe (ver. 1)
Nous rendons notre objet JSON aussi "plat" que possible.
Les noms des clés sont inspirés de schema.org et écrits en "camelCase", la première partie décrivant le type de données et la seconde les données. Cela devrait être explicite.
Nous utilisons "nameType" d'une manière différente de schema.org, car ils ne diffèrent qu'entre"Festival" et"DanceEvent". Nous utilisons plus spécifiquement (pour notre genre) les types "festival", "open air" (comme schema.org/festival) et "indoor", 'club', "indoor et outdoor" (similaire à schema.org/DanceEvent).
Le contenu de "urlOrganizer" pourrait être un texte avec des sauts de ligne comme \n ou \n\r.
Formats d'heure et fuseaux horaires
Nous enregistrons tous les événements avec le fuseau horaire Europe/Berlin et les renvoyons en ISO 8601 avec la différence par rapport à UTC. La date et l'heure du 16 mai 2015 à 22:00h à Berlin sont renvoyées comme 2015-05-16T22:00:00+02:00
et la même date et heure en Asie/Kalkutta comme 2015-06-16T22:00:00+05:30
.
Mais ces heures UTC ne peuvent pas être utilisées comme l'attend la méthode Date.toJson. Il est nécessaire d'indiquer un fuseau horaire supplémentaire pour obtenir l'heure locale.
Ci-dessous, tu trouveras donc un petit snippet Javascript pour lire la date.
Lorsqu'un événement est saisi sur goabase, le fuseau horaire est déterminé et enregistré. La plupart des pays se trouvent dans un seul fuseau horaire, ce qui est facile à vérifier.
Pour les pays avec plusieurs fuseaux horaires (par exemple les États-Unis, le Brésil, la Russie), nous utilisons la géolocalisation pour déterminer le fuseau horaire. Cela peut échouer parce que les valeurs Lat-Lon ne sont pas indiquées ou ne sont pas trouvées dans les 4,4 millions de jeux de données que nous utilisons comme base. Dans ce cas, nous utilisons le fuseau horaire par défaut.
Pourquoi tout cela ? Si une fête commence par exemple à 12:00 à Goa, l'heure française enregistrée 2014-06-14T12:00:00+02:00
apparaîtrait à Goa comme le début de la fête à 15:30. Mais au lieu de cela, il faut utiliser l'heure de l'Asie / Calcutta 2014-06-14T12:00:30:00+05:30
. Dans tous les cas, il s'agit donc de l'heure locale plus l'écart par rapport à l'heure UTC.
Javascript
Exemple de fonction Javascript pour analyser les données ISO8601 avec jQuery
// Cette fonction a été arrachée de // timeago.js (http://timeago.yarp.com/) et requiert jQuery(http://jquery.com/) function parseIso8601(iso8601) { var s = $.trim(iso8601) ; s = s.replace(/-/,"/").replace(/-/,"/") ; s = s.replace(/T/," ").replace(/Z/," UTC") ; s = s.replace(/([\+-]\d\d)\: ?(\d\d)/," $1$2") ; // -04:00 -> -0400 return new Date(s) ; }