Publier sans passer par le formulaire
Vous avez déjà vos prompts, contextes ou serveurs MCP dans un dépôt de code ? Reliez-le à Contexte Tech : vos fiches sont publiées et mises à jour automatiquement, sans ressaisie dans le formulaire. Il suffit d'un compte et d'un jeton.
Outil en ligne de commande, sans dépendance : un fichier JSON, une commande, vos fiches sont en ligne.
Une requête HTTP avec votre jeton : publiez depuis n'importe quel langage ou logiciel.
Vos fiches se mettent à jour toutes seules à chaque modification de votre dépôt.
Un seul fichier JSON avec plusieurs fiches : idéal pour importer une bibliothèque existante.
Comment ça marche
- Créez un compte, puis un jeton dans Profil → Sécurité → Jetons.
- Décrivez vos fiches dans un fichier JSON (un exemple est donné plus bas).
- Lancez ctx-publish, un appel à l'API ou une GitHub Action avec votre jeton.
- Vos fiches sont en ligne ; relancez la même commande pour les mettre à jour.
Vous avez un autre outil ?
L'API Contexte Tech (JSON, jeton personnel) relie n'importe quel logiciel : un script Python, une chaîne d'intégration continue, un outil maison. Tout est décrit ci-dessous.
1. Créer un jeton
Connectez-vous, puis ouvrez Profil → Sécurité → Jetons. Donnez un nom au jeton et copiez-le : il ne sera plus jamais affiché.
2. Sécurité
- Un compte est obligatoire : chaque jeton appartient à un compte et agit en son nom.
- 3 jetons maximum par compte, valables 1 an, supprimables à tout moment.
- Portée limitée : un jeton ne sert qu'à vos fiches. Il ne donne accès ni au profil, ni au mot de passe, ni à l'administration, et ne peut pas créer d'autre jeton.
- Le jeton n'est jamais stocké en clair (seule son empreinte est gardée) et un e-mail d'alerte est envoyé à chaque création.
- Gardez-le secret : ne le mettez jamais dans un dépôt de code ; utilisez une variable d'environnement.
3. Publier avec ctx-publish
Outil en Python, sans dépendance, fourni dans le dépôt (tools/ctx-publish.py). Une fiche déjà publiée (même type, même nom) est mise à jour.
export CTX_TOKEN=ctx_xxxxxxxxxxxxxxxx python3 tools/ctx-publish.py fiche.json
4. Publier avec curl
L'identifiant d'une fiche est « votre-identifiant--nom-de-la-fiche ». Ajoutez ?create=1 pour une création ; sans ce paramètre, la fiche existante est modifiée.
curl -X PUT "https://contextetech.com/api/resources/votre-identifiant--resume-reunion?create=1" \ -H "Authorization: Bearer $CTX_TOKEN" \ -H "Content-Type: application/json" \ --data @fiche.json
GitHub Actions
Ajoutez le jeton comme secret CTX_TOKEN du dépôt, puis ce fichier .github/workflows/contextetech.yml : vos fiches sont republiées à chaque push.
name: Contexte Tech
on: { push: { branches: [main] } }
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: curl -fsSLo ctx-publish.py https://raw.githubusercontent.com/contexte-tech/contextetech/main/tools/ctx-publish.py
- run: python3 ctx-publish.py fiches/*.json
env: { CTX_TOKEN: "${{ secrets.CTX_TOKEN }}" } 5. Format d'une fiche
Les champs communs sont décrits ci-dessous ; le contenu de data dépend du type (voir la documentation de chaque type).
{
"kind": "prompt",
"name": "resume-reunion",
"description": "Résume une réunion en décisions et actions.",
"clang": "fr",
"license": "MIT",
"data": { "template": "Résume ces notes : {{notes}}" }
} | Champ | Rôle |
|---|---|
kind | Type : context, prompt, dataset, lora, tool, model, agent, skill, eval, rag, harness, workflow, guardrail, embedding, inference, stack, redteam, aiact, schema, corpus, worldmodel, reward, synthetic, annotation, charter, memory, a2a |
name | Nom court (minuscules, chiffres, tirets), unique pour vous dans un type |
description | Une phrase (240 caractères maximum) |
clang | Langue du contenu, obligatoire : fr, en, es, de, it, pt, nl ou multi. La fiche apparaît dans les listes de cette langue |
license | MIT, Apache-2.0, CC-BY-4.0, CC-BY-SA-4.0, CC-BY-NC-4.0, CC0-1.0… |
data | Le contenu propre au type (template, system, jsonl, command…) |
6. Limites et réponses
- 20 nouvelles fiches par compte et par jour.
- Réponses : 200 (réussi), 400 (champ invalide, le message indique lequel), 401 (jeton absent, expiré ou supprimé), 403 (fiche d'un autre auteur), 409 (fiche déjà existante avec ?create=1).