Sources de données et licences
Des informations sur l’exploitant ou la politique commerciale manquent. Cette version provisoire doit être complétée avant lancement commercial.
Ce calculateur repose sur des données et des logiciels créés par d’autres. Pour certains, citer la source est une obligation de licence. Cette page est cette mention.
En un coup d’œil
Le service n’appelle aucun serveur externe pendant le calcul. Les données astronomiques, de fuseaux horaires et de villes sont transformées à l’avance en tables statiques et livrées dans le déploiement. Tout ce qui suit se trouve dans la même image serveur que le service.
| Données ou logiciel | Licence | Usage |
|---|---|---|
GeoNames cities500 |
CC BY 4.0 | Nom de ville → coordonnées et fuseau horaire IANA |
| Base de fuseaux horaires IANA (2026c) | Domaine public | Heure locale légale → UTC, historique de l’heure d’été |
| astronomy-engine 2.1.19 | MIT | Longitude solaire → instants d’entrée des 24 termes solaires |
| Noto Serif KR (sous-ensemble de 104 sinogrammes) | SIL OFL 1.1 | Affichage des sinogrammes des piliers. Auto-hébergé, sans requête externe. Texte intégral de la licence |
| API de termes solaires et de calendrier lunaire du KASI | Publiées sur le portail coréen de données publiques, aux conditions fixées par le fournisseur | Vérification croisée de nos propres calculs (uniquement à la compilation) |
| Logiciels libres | Voir le tableau des dépendances logicielles | Exécution du serveur et de l’écran |
Données de villes GeoNames
- Créateur — GeoNames (geonames.org)
- Mention de droit d’auteur — © GeoNames
- Licence — Creative Commons Attribution 4.0 International (CC BY 4.0)
- Fichier d’origine —
cities500.txt(download.geonames.org) - Exclusion de garantie — GeoNames fournit les données en l’état, sans aucune garantie ni déclaration quant à leur exactitude, leur actualité ou leur exhaustivité.
Les données ont été modifiées. Nous ne redistribuons pas le
fichier d’origine. Nous convertissons le fichier cities500.txt en
base SQLite, normalisons dans une table séparée les autres graphies de chaque
ville afin qu’elles soient consultables, et ajoutons des index de préfixe.
C’est cette base dérivée qui est livrée : 235 046 villes et 873 241 noms
alternatifs, environ 49,5 Mio.
La recherche de ville se fait entièrement dans cette base locale. Aucune requête ne part vers GeoNames pendant la recherche, et cette base ne contient aucune table qui enregistrerait les termes recherchés. La connexion est ouverte en lecture seule et ne fait que lire.
Base de fuseaux horaires IANA
L’heure légale et l’historique de l’heure d’été proviennent de la base de
fuseaux horaires IANA
(iana.org/time-zones),
qui relève du domaine public. Le service utilise la version
IANA 2026c, figée via le paquet de distribution Python
tzdata 2026.3. Le code de ce projet de paquetage est lui-même
sous licence Apache 2.0.
Pourquoi la version est figée. Cette base est mise à jour plusieurs fois par an et les périodes passées sont elles aussi corrigées rétroactivement. Une même date de naissance ne doit pas donner un thème le mois dernier et un autre ce mois-ci : la version est donc figée et consignée avec le résultat.
Ce que ces données ne peuvent pas dire. Les fuseaux sont découpés selon qu’ils concordent depuis 1970. Des lieux qui différaient avant 1970 peuvent donc se retrouver dans le même fuseau. Pour les naissances de cette période, le fuseau horaire est incertain dans la source elle-même, et ce service ne peut pas y remédier.
Astronomie — astronomy-engine
Un terme solaire commence à une longitude solaire précise. Ce calcul utilise astronomy-engine 2.1.19, sous licence MIT.
Il n’est exécuté qu’une fois, à la compilation. Les 4 872 instants d’entrée des termes solaires de 1899 à 2101 sont calculés à l’avance dans une table, et une requête réelle se contente de consulter cette table. La table obtenue est notre propre production, et non une redistribution d’astronomy-engine.
Données de termes solaires et de calendrier lunaire du KASI
Nous avons utilisé le service des 24 termes solaires et le service de calendrier lunaire publiés par l’Institut coréen d’astronomie et de sciences spatiales (KASI) sur le portail coréen de données publiques (data.go.kr). L’utilisation est soumise aux conditions fixées par l’organisme fournisseur.
L’objectif était la vérification croisée. Nous avons comparé nos propres instants d’entrée des termes solaires et nos piliers du jour aux valeurs du KASI et conservé la trace des écarts, y compris la liste des défauts confirmés. Notre table calculée reste la référence.
Le service en fonctionnement n’appelle jamais l’API du KASI. La clé d’accès n’est incluse ni dans le déploiement ni dans le dépôt.
Ce que nous avons délibérément écarté
Ce qui est absent est aussi un fait de licence, et a donc sa place ici. Aucun des deux éléments ci-dessous n’a été écarté par manque de capacité : ils l’ont été parce que ce service ne peut pas remplir les conditions que leurs licences imposent.
- Swiss Ephemeris — distribuée sous AGPL-3.0. L’AGPL étend l’obligation de publier l’intégralité du code source aux logiciels proposés via un réseau. Nous ne pouvons pas remplir cette condition, nous ne l’avons donc jamais adoptée. La seule grandeur astronomique nécessaire à cette méthode est la longitude solaire, et astronomy-engine sous MIT y suffit.
- timezonefinder — le code est sous MIT, mais les polygones de frontières de fuseaux horaires livrés avec lui sont sous ODbL, dérivés d’OpenStreetMap. Distribuer ces polygones attacherait à ces données une condition de partage à l’identique. Nous ne l’avons pas adopté : les fuseaux proviennent du fuseau IANA que GeoNames indique déjà pour chaque ville.
Résultat : rien dans le déploiement ne porte d’obligation AGPL ou ODbL. Il s’agit de respect des licences et non de contournement : nous n’utilisons pas de code ni de données dont nous ne pouvons pas honorer les conditions.
Dépendances logicielles
Les principaux composants libres sont listés ci-dessous. Le texte faisant foi
est la licence livrée avec chaque paquet ; les versions sont figées dans
requirements.txt et frontend/package.json.
| Nom | Licence | Usage |
|---|---|---|
| Python | PSF License | Environnement d’exécution du serveur |
| FastAPI | MIT | API web |
| Starlette | BSD 3-Clause | Couche web sous FastAPI |
| Uvicorn | BSD 3-Clause | Serveur web |
| Pydantic | MIT | Validation des requêtes et des réponses |
| Jinja2 | BSD 3-Clause | Rendu serveur, y compris cette page |
| Requests | Apache-2.0 | Collecte des données à la compilation |
| tzdata (paquet Python) | Apache-2.0 | Distribution des données de fuseaux IANA |
| SDK Python OpenAI | Apache-2.0 | Utilisé uniquement si la mise en forme des phrases est activée |
| httpx | BSD 3-Clause | Tests uniquement |
| React · React DOM | MIT | Écran du calculateur |
| Vite | MIT | Compilation du front-end |
| TypeScript | Apache-2.0 | Outillage front-end |
Tous les scripts, feuilles de style, polices et images chargés par l’écran du calculateur sont servis par ce serveur. Aucune ressource front-end n’est récupérée sur un CDN externe : votre navigateur n’envoie donc aucune requête à un hôte tiers. Une œuvre tierce est toutefois incluse : Noto Serif KR, la police des sinogrammes des piliers. Comme nous la redistribuons en l’hébergeant nous-mêmes, sa licence est créditée dans le tableau ci-dessus (SIL Open Font License 1.1). Seuls les 104 sinogrammes que ce calculateur peut afficher y figurent.
Ce que ce service a écrit lui-même
Les tables sexagésimales, les règles de jugement, les règles d’interprétation du thème natal et des périodes ainsi que leur formulation, et les traductions dans quatre langues ont été écrites pour ce service. La méthode traditionnelle elle-même n’est pas une œuvre à l’auteur identifiable, mais les décisions de mise en œuvre et les phrases affichées à l’écran sont les nôtres.
Un modèle de langage externe peut être utilisé pour fluidifier la formulation de ces phrases de règles fixes. Ce modèle ne calcule rien et ne juge rien. L’Avertissement l’explique en détail.
Cette page cite des sources ; elle ne vous accorde aucune licence. Ce que vous pouvez faire des résultats et des textes d’interprétation est défini par les Conditions d’utilisation.
S’il manque une mention
Si une attribution ou une mention de licence est absente ou erronée, signalez-le : nous vérifierons et corrigerons. Les coordonnées figurent sur la page Contact.
Cette liste est mise à jour chaque fois que les composants changent. La date d’entrée en vigueur et la version de ce document figurent en haut de la page.