Guide du site — pour les IA, robots et scientifiques des données
Ce site est conçu autant pour les machines que pour les humains. Chaque page possède des équivalents lisibles par machine, accessibles par négociation de contenu ou par URL explicite, et l'ensemble du graphe de connaissances est interrogeable. Vous trouverez ci-dessous des exemples prêts à copier-coller.
Identité et historique de publication vérifiables
Chaque version de l’identité did:webvh 1.0 est conservée dans un journal signé à ajout uniquement, permettant de vérifier les états historiques et les changements de clés autorisés. Une démonstration distincte en trois versions montre l’autorisation d’une nouvelle clé par l’ancienne, puis une mise à jour signée par la nouvelle clé. Le build vérifie les journaux avec TypeScript et une implémentation Python indépendante.
La déclaration de publication reçoit un reçu du service de transparence SCITT exploité par Blackcat Informatics. L’éditeur et le journal partagent le même opérateur ; le reçu atteste l’enregistrement et l’intégrité des octets, sans établir la véracité du contenu ni constituer une approbation indépendante. Le service publie sa politique, ses ancres de confiance, ses racines signées et ses preuves d’inclusion et de cohérence. Architecture : RFC 9943 ; reçus : RFC 9942 ; interface SCRAPI : draft-11, encore à l’état de projet.
Dans le navigateur de preuves, « Verify this publication » vérifie l’historique d’identité et le reçu. L’état des contrôles périodiques indique les dernières tentatives, les derniers succès et leur ancienneté : identité, reçus et continuité chaque heure ; MCP, A2A, compétences, isolation des propriétaires, trois langues et passages exacts chaque jour.
Négociation de contenu
Les pages d'accueil du site répondent à la négociation par en-tête Accept — même URL, la représentation demandée :
curl -H "Accept: application/ld+json" https://chatnoirinformatique.ca/
curl -H "Accept: text/turtle" https://chatnoirinformatique.ca/
curl -H "Accept: application/n-triples" https://chatnoirinformatique.ca/
curl -H "Accept: text/markdown" https://chatnoirinformatique.ca/
Chaque page — pas seulement l'accueil — est aussi accessible par URL explicite :
curl https://chatnoirinformatique.ca/index.jsonld
curl https://chatnoirinformatique.ca/index.ttl
curl https://chatnoirinformatique.ca/index.md
curl https://chatnoirinformatique.ca/llms.txt
/index.jsonld→ JSON-LD ·/index.ttl→ RDF Turtle ·/index.nt→ N-Triples/index.md→ Markdown ·/llms.txt,/llms-full.txt→ LLM context (text/plain)
Les pages d'accueil négocient de façon transparente en périphérie (Vary: Accept) ; les URL explicites par page fonctionnent toujours.
Le graphe de connaissances
Ce jeu de données expose actuellement 31 concepts SKOS, 3 publications et 2 brevets, la plupart ancrés par des QID Wikidata. Les entités principales sont liées depuis le document JSON-LD racine. Le nœud entreprise est #bii et le nœud personne #paudley.
Vocabulaires: Schema.org · FOAF · SKOS · DOAP · BIBO · vCard · PROV-O · OWL · Dublin Core · Wikidata.
SPARQL
Le graphe de connaissances est interrogeable via un point d'accès SPARQL, avec ses métadonnées décrites en VoID. Exemple — chaque concept avec son ancrage Wikidata :
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?concept ?label ?wikidata WHERE {
?concept a skos:Concept ; skos:prefLabel ?label .
OPTIONAL { ?concept owl:sameAs ?wikidata }
}
curl -G https://blackcatinformatics.ca/sparql \
--data-urlencode query@query.rq \
-H "Accept: application/sparql-results+json"
/sparql— SPARQL endpoint/.well-known/void.ttl— VoID dataset description
Voir aussi l’exemple de déclaration RDF 1.2 : source, attribution, date, statut, requête SPARQL 1.2 exécutable et résultat calculé.
MCP
Ce site propose la recherche publique et des tâches persistantes via le MCP (Model Context Protocol). Le descripteur présente les outils ; l’accès aux tâches privées nécessite le jeton de leur propriétaire :
https://blackcatinformatics.ca/.well-known/mcp.json
/.well-known/mcp.json— MCP server descriptor/webmcp.js— in-page WebMCP bridge/.well-known/agent-policy.json— agent usage policy/.well-known/agent-skills/— published agent skills
L’extension MCP Skills expose les workflows via skills/list, skills/get et resources/read. Chaque compétence fournit ses métadonnées YAML complètes, son inventaire de fichiers, les SHA-256 et tailles des octets bruts, et une durée de cache public de cinq minutes.
Modèle d'exécution
| Mode | État |
|---|---|
| Découverte par descripteur statique | ✓ /.well-known/mcp.json |
| WebMCP en navigateur | ✓ /webmcp.js |
MCP Streamable-HTTP public (/mcp) | ✓ recherche publique et tâches privées |
| Jeton propriétaire pour les tâches privées | ✓ |
| Recherche/réponse via Workers AI + Vectorize | ✓ |
Outils
Ce tableau présente les outils de mcp.json et leurs effets :
| Outil | Rôle |
|---|---|
get_identityLecture seule | Return canonical site identity, policy, and source links. |
get_cvLecture seule | Return the published JSON Resume and canonical CV resources; unavailable when this site has no CV. |
get_servicesLecture seule | Return published service records and contact policy. |
get_publicationsLecture seule | Return publication records, authored dates, identifiers, and source links. |
get_projectsLecture seule | Return project records, versions, status, and source links. |
search_siteLecture seule | Search the canonical site and assistant corpus using embeddings and reranking. |
answer_questionLecture seule | Answer site questions using retrieved canonical context and citations. |
cite_claimLecture seule | Find relevant public source passages for a claim. Evidence candidates are not a verdict; the caller assesses support. Omit claim to list canonical sources. |
prepare_contactLecture seule | Return published contact policy and sources for preparing a contact brief. |
site_healthLecture seule | Return deployment and active retrieval-index diagnostics. |
create_evidence_dossierCrée une tâche privée | Create a durable public-evidence dossier. Requires an owner bearer token and the io.modelcontextprotocol/tasks client capability. Poll tasks/get, then inspect with browse_evidence. Use the browser URL when your client cannot supply these. |
browse_evidenceLecture seule | Open the evidence browser. With task_id, read your dossier, exact passages and verification artifacts; requires the task owner bearer token. Without task_id, return the public browser and history links. |
Exemple d'appel
/mcp utilise Streamable HTTP sans état et prend en charge MCP 2026-07-28. Chaque requête indique sa version dans les en-têtes et _meta ; server/discover permet de découvrir les capacités. Les anciens clients peuvent toujours utiliser initialize.
# Discover the current protocol and capabilities:
curl -s https://blackcatinformatics.ca/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: server/discover" \
-d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"curl","version":"1"},"io.modelcontextprotocol/clientCapabilities":{}}}}'
# Call a read-only tool directly; no session or initialize required:
curl -s https://blackcatinformatics.ca/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: tools/call" \
-H "Mcp-Name: get_identity" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_identity","arguments":{},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"curl","version":"1"},"io.modelcontextprotocol/clientCapabilities":{}}}}'
Points d'accès lisibles par machine
/index.jsonld— linked-data graph/llms.txt·/llms-full.txt— LLM context (full-corpus pull:curl https://chatnoirinformatique.ca/llms-full.txt)did:web:chatnoirinformatique.ca— decentralized identifier (/.well-known/did.json)/.well-known/webfinger— WebFinger/.well-known/api-catalog— API catalog · catalogue de découverte/sitemap.xml— sitemap (freshness vialastmod)
Licence et usage par les IA
-
L'entraînement d'IA/LLM est explicitement autorisé. La politique d'exploration est ouverte, sans règle
Disallow./robots.txtet l'en-tête HTTPContent-Usagepublient la préférence AIPREF expérimentaletrain-ai=y, ai-use=y, search=y; les conditions de citation et de licence figurent dans la politique d'agent. - Le contenu est sous licence Creative Commons BY-NC-SA CAv2.5 ; attribution à « Chatnoir Informatiques Inc. » appréciée.
Tâches de recherche A2A
Déléguez une recherche documentaire via A2A 1.0 JSON-RPC : soumettez un sujet ou des questions et recevez un dossier JSON et Markdown contenant des passages exacts, des données publiques, les versions des sources et les lacunes de recherche. L’agent appelant évalue les conclusions que ces éléments permettent de tirer.
- Agent Card signée · Clés publiques
- Tâches persistantes, progression en flux, reconnexion, liste par propriétaire et annulation. Aucun compte requis ; le jeton expire après 30 jours d’inactivité. Entrées et résultats sont supprimés sept jours après la création.
- Les sources publiques originales sont conservées indéfiniment par adresse SHA-256 ; les dossiers privés nécessitent le jeton du propriétaire. Une signature Ed25519 lie les empreintes des dossiers et des sources.
Exploration des preuves et historique
MCP Apps intègre le navigateur de preuves aux assistants compatibles ; la page autonome propose une navigation au clavier et des téléchargements JSON et Markdown. L’interface distingue l’intégrité des signatures, l’actualité des sources et l’évaluation des affirmations par le lecteur. L’extension MCP Tasks utilise les mêmes tâches persistantes et jetons de propriétaire qu’A2A.
LDES 1.0 et TREE publient un historique append-only des services, projets, publications et CV publics. Les versions sont ajoutées après le déploiement et l’activation de l’index ; modifications et suppressions conservent les versions antérieures. L’historique commence à la première capture, sans reconstruction des publications précédentes. LDES est une spécification technique SEMIC et TREE une spécification de groupe communautaire.
Provenance et vérification
L'authenticité de ce site est vérifiable de façon indépendante :
- Les pages verrouillent leurs ressources par des empreintes SRI (Subresource Integrity).
- Les ressources signées ont une signature OpenPGP détachée (
.asc) ; la clé des artefacts est à/pgp/github-signing.asc. - Le manifeste de provenance est signé par une clé Ed25519 ; les réponses HTTP ne sont pas actuellement signées. L'annuaire est à
/.well-known/http-message-signatures-directory. - La provenance de construction (qui, quoi, quand) figure dans le graphe PROV-O et
/.well-known/content-provenance.json.
Les exports JSON-LD, Turtle et N-Triples de chaque langue sont comparés par la canonisation RDF 1.2 native de PurRDF : purrdf-rdfc12 v2, overlay v1, SHA-256, sur le jeu de données complet. Le reçu identifie la version, le commit, l’outil et le corpus de référence. Les octets canoniques sont opaques ; ce profil ne constitue pas une preuve RDFC-1.0 ou Data Integrity.
Une projection RDF 1.1 distincte signe le graphe JSON-LD complet de l'accueil avec une preuve Data Integrity eddsa-rdfc-2022 et une méthode de vérification dans le DID du site. Cette preuve ne couvre pas les termes triples RDF 1.2 arbitraires.
Graphe RDF 1.1 signé · Reçu d’identité RDF · Inventaire signé des sources publiques
Recettes de vérification
Inspectez la couche de découverte (outils, politique d'agent, compétences) :
curl -s https://blackcatinformatics.ca/.well-known/mcp.json | jq '.tools[].name'
curl -s https://blackcatinformatics.ca/.well-known/agent-policy.json | jq '.agent_use, .citation_required'
curl -s https://blackcatinformatics.ca/.well-known/agent-skills/index.json | jq '.skills[].name'
Vérifiez un artefact signé, puis inspectez la provenance de construction :
# import the published key, then verify any signed source
curl -s https://blackcatinformatics.ca/pgp/github-signing.asc | gpg --import
curl -sO https://blackcatinformatics.ca/llms.txt
curl -sO https://blackcatinformatics.ca/llms.txt.asc
gpg --verify llms.txt.asc llms.txt
curl -s https://blackcatinformatics.ca/.well-known/content-provenance.json | jq '.'
Identité, clés, signatures, confidentialité et sécurité courriel au complet — avec vérification en direct dans le navigateur — sur la page Confiance et provenance.
Construction et technologie
Le générateur est signé BespokeIdentityHub_v2.5. Sous le capot, le site est rendu en HTML statique et en données liées par un pipeline Go html/template sur mesure ; les ressources sont adressées par contenu et verrouillées par SRI, les images étant optimisées au moment de la construction par jampack. Les polices sont Inter et Hubot Sans. Le site ne dépose aucun cookie, se lit sans JavaScript et n'intègre aucun traceur tiers ; hébergé derrière Cloudflare et Apache, avec des ressources lisibles par machine signées en OpenPGP.
Version: 039e339