Skip to content

Référence API ​

mineproj génère une API entièrement statique de type REST sous dist/api/v1/. Chaque point de terminaison sert du JSON statique — aucun backend requis.

Enveloppe ​

Chaque réponse suit cette structure :

json
{
  "apiVersion": "v1",
  "kind": "ProjectList",
  "generatedAt": "2026-01-01T00:00:00.000Z",
  "schemaVersion": 1,
  "data": { ... }
}

Points de Terminaison ​

Point de TerminaisonKindDescription
/api/v1/projects.jsonProjectListListe complète des projets
/api/v1/projects/<slug>.jsonProjectDétail d'un seul projet
/api/v1/tags.jsonTagListTous les tags avec leurs compteurs
/api/v1/categories.jsonCategoryListToutes les catégories
/api/v1/collections.jsonCollectionListToutes les collections
/api/v1/profile.jsonProfileDonnées du profil
/api/v1/stats.jsonStatsStatistiques agrégées
/api/v1/search.jsonSearchIndexIndex MiniSearch
/api/v1/feed.jsonFeedÉléments du flux
/api/v1/manifest.jsonManifestListe auto-descriptive des points de terminaison

Paramètres de Requête (mode développement) ​

ParamExempleDescription
q?q=webRecherche en texte intégral
tag?tag=web,gameFiltrer par tags (ET)
category?category=webFiltrer par catégorie
status?status=releasedFiltrer par statut
sort?sort=createdAt:descChamp et direction de tri
page?page=2Numéro de page
pageSize?pageSize=20Éléments par page
lang?lang=enLocale pour les données localisées

SDK Client ​

ts
import { createApiClient } from '@mineproj/client';

const api = createApiClient({ baseUrl: 'https://example.com' });
const projects = await api.getProjects();
const project = await api.getProject('mon-projet');
const results = await api.search('web');

Hooks React :

ts
import { useProjects, useProject, useTags, useSearch } from '@mineproj/client';

function MonComposant() {
  const { data, loading } = useProjects({ tag: 'web' });
  return <div>{loading ? 'Chargement...' : data.length} projets</div>;
}

Released under the Apache-2.0 License.