Technologie
Un journal fait avec des outils simples.
Ce que nous utilisons, ce que nous n’utilisons pas, et où sont les limites. Un média doit pouvoir expliquer sa propre mécanique.
Comment le site est construit
Les pages du journal sont générées à partir de fichiers texte, par un script Node.js, puis publiées sur Cloudflare Workers. Elles ne reposent ni sur un système de gestion de contenu, ni sur une base de données de contenus, ni sur des plugins de CMS. Le service de recherche de Mike fonctionne séparément.
- Cloudflare Registrar pour le domaine, DNS et certificat Universal SSL pour HTTPS.
- Cloudflare Workers pour servir les pages — et un Worker séparé pour l’API de l’assistant.
- Cloudflare Email Routing pour bonjour@angle50.ca, sans boîte mail payante.
- Chaque publication passe par une vérification automatique : pages, liens internes, redirections, sitemap. La mise en ligne est bloquée si un contrôle échoue.
Ce qui se passe quand vous lisez
Le Worker envoie du HTML. Il n’y a pas de framework JavaScript côté lecteur, pas de police chargée depuis un service tiers, pas d’image servie par une plateforme externe. Deux petits scripts seulement : la barre date–météo–change et le clavardage.
La mesure d’audience est agrégée et sans témoin : le serveur enregistre la page consultée, la provenance, le type d’appareil et le pays. Aucune adresse IP, aucun identifiant, aucun profil.
L’assistant Mike
Avant de rédiger une réponse, Mike consulte notre base documentaire sur une machine locale. Cette recherche porte sur le livre, les articles et les pages éditoriales d’ANGLE 50; ce n’est pas une recherche Web en direct :
- Recherche hybride — un index vectoriel BGE-M3 (compréhension du sens) combiné à un index lexical BM25 (chiffres, dates, noms exacts).
- Reclassement — un modèle BGE Reranker remet les passages dans l’ordre de pertinence avant de les transmettre.
- Rédaction — les passages retrouvés sont transmis au modèle avec leurs identifiants et leurs métadonnées, y compris les URL associées. Le modèle reçoit la consigne de s’appuyer sur ces passages et de retourner les identifiants des sources utilisées.
- Contrôle des références — le serveur rejette une réponse qui contient un identifiant absent des passages récupérés. Il construit les liens affichés à partir de nos métadonnées, plutôt que d’accepter des liens inventés par le modèle. Ce contrôle ne garantit pas que chaque affirmation est exacte ou soutenue par le passage cité.
Si la recherche documentaire est indisponible, aucune réponse n’est générée. Si elle ne trouve pas de passage pertinent, Mike doit le signaler et ne pas inventer de réponse factuelle. Ses réponses peuvent néanmoins comporter des erreurs.
Transparence : pour l’essai actuel, la rédaction de la réponse finale est confiée à l’API DeepSeek Flash. La recherche, elle, reste locale. Une version entièrement locale est en préparation.
Les images
Les illustrations sont générées par intelligence artificielle. Chacune est enregistrée avec son empreinte numérique, sa description et sa légende. Nous ne présentons jamais une image générée comme la photographie d’un événement réel.
Ce que nous n’utilisons pas
- Pas de Google Analytics, ni de pixel publicitaire, ni de réseau social embarqué.
- Pas de témoins (cookies) de mesure ou de publicité.
- Pas de serveur publicitaire tiers, ni de « contenu recommandé » externe.
- Pas de fenêtre surgissante, pas de lecteur vidéo automatique.
Où sont les limites
Le site dépend d’une infrastructure Cloudflare et, pour l’assistant, d’une machine locale qui doit rester allumée. Un assistant qui cite ses sources n’est pas un assistant infaillible : les réponses de Mike ne sont pas relues par la rédaction et ne constituent pas des articles publiés.
Les détails techniques des échanges avec l’assistant figurent dans notre politique de confidentialité. La méthode éditoriale est décrite dans notre méthode.