API publique
L'ensemble du catalogue de solutions sous forme de fichier JSON ouvert et statique – sans inscription, sans pistage.
1 · Aperçu
Swiss IT Navigator met à disposition son catalogue complet et curé de solutions open source souveraines sous forme d'API JSON publique et en lecture seule. Les données sont générées au moment du build sur une infrastructure suisse (RZO Gais) et servies comme fichier statique – aucun code serveur à l'exécution, aucune base de données, aucune collecte de données personnelles.
2 · Point de terminaison
https://swissitnavigator.ch/api/v1/solutions.jsonIl existe exactement un point de terminaison. Il renvoie tout le répertoire en une seule réponse.
3 · Accès & conditions d'utilisation
- Aucune authentification
- Pas de clé API, pas de jeton, pas de connexion.
- CORS
- Access-Control-Allow-Origin : * – utilisable directement depuis le navigateur.
- Mise en cache
- Cache navigateur 1 heure, CDN/proxy 24 heures (s-maxage). Merci de le respecter.
- Limite de débit
- Pas de limite stricte ; usage raisonnable attendu. Mettez en cache plutôt que d'interroger en boucle.
- Actualité
- Régénéré à chaque déploiement (généralement quotidien), avec les étoiles GitHub actuelles.
4 · Structure de la réponse
La réponse est un objet contenant des métadonnées et le tableau solutions :
| Champ | Type | Description |
|---|---|---|
version | number | API schema version (currently 1). |
generatedAt | string | ISO 8601 timestamp of the build that produced this file. |
count | number | Number of solutions in the array. |
license | string | Licence of the dataset (MIT). |
homepage | string | Canonical project homepage. |
solutions | Solution[] | Array of solution objects (see below). |
5 · Objet Solution
Chaque entrée du tableau solutions possède les champs suivants :
| Champ | Type | Description |
|---|---|---|
name | string | Display name of the solution. |
category | string | One of the fixed category names (e.g. "DevOps", "Storage"). |
description | string | German description (source of truth). |
descriptionEn | string | English description. |
descriptionFr | string? | French description (optional). |
descriptionIt | string? | Italian description (optional). |
license | string | OSI/SPDX licence identifier (e.g. "MIT", "AGPL-3.0"). |
deployment | string[] | Subset of "kubernetes" | "docker" | "linux". |
audience | string[] | Subset of "business" | "private" — who realistically uses this solution. |
complexity | number | 1–10 · setup & deployment effort (lower = simpler). |
maturity | number | 1–10 · project stability & production-readiness (higher = more mature). |
resourceUsage | number | 1–10 · RAM/CPU footprint (lower = lighter). |
maintenance | number | 1–10 · day-to-day operational overhead (lower = less). |
tags | string[] | Free-form tags, incl. "<product>-alternative" markers. |
github | string | Source repository URL (GitHub or GitLab). |
website | string | Official project website URL. |
icon | string | Emoji used as the solution icon. |
origin | string | Geographic origin label (e.g. "🇨🇭 Schweiz", "🌍 International"). |
addedAt | string | ISO date (YYYY-MM-DD) the solution was added to the catalogue. |
stars | number | null | GitHub stars at build time; null if unavailable. |
6 · Exemples
Shell (curl + jq)
curl -s https://swissitnavigator.ch/api/v1/solutions.json | jq '.count'JavaScript (fetch)
const res = await fetch('https://swissitnavigator.ch/api/v1/solutions.json')
const { solutions } = await res.json()
// e.g. all low-maintenance Kubernetes-ready options
const easy = solutions.filter(
(s) => s.deployment.includes('kubernetes') && s.maintenance <= 3
)Exemple de réponse (tronqué)
{
"version": 1,
"generatedAt": "2026-06-05T08:00:00.000Z",
"count": 123,
"license": "MIT",
"homepage": "https://swissitnavigator.ch",
"solutions": [
{
"name": "Gitea",
"category": "DevOps",
"description": "Gitea ist ein selbstgehosteter Git-Service …",
"descriptionEn": "Gitea is a self-hosted Git service …",
"license": "MIT",
"deployment": ["kubernetes", "docker", "linux"],
"audience": ["business", "private"],
"complexity": 2,
"maturity": 8,
"resourceUsage": 2,
"maintenance": 2,
"tags": ["git", "ci-cd", "github-alternative"],
"github": "https://github.com/go-gitea/gitea",
"website": "https://gitea.io",
"icon": "🐙",
"origin": "🌍 International",
"addedAt": "2026-05-17",
"stars": 47000
}
]
}7 · Licence & attribution
Le jeu de données est publié sous licence MIT et peut être utilisé librement – y compris à des fins commerciales. Une attribution avec un lien vers swissitnavigator.ch est appréciée. Les exploitants des projets liés sont responsables de leur propre contenu.
Mise à jour : juin 2026