Traduction automatique du turc (Cloudflare Workers AI), non relue par l'auteur. Lire l'original en turc

Ozan Özdil
ARCHITECTE SYSTÈME & DÉVELOPPEURKastamonu, Turquie (UTC+3)

Ozan Özdil

Ingénieur forestier (KTÜ) · Coordinateur open source et informatique de la municipalité de Kastamonu · Développeur Omarchy Linux · Photographe moyen format

Biographie et approche d'ingénierie

Ma licence en génie forestier à l'Université technique de Karadeniz (KTÜ) m'a inculqué une discipline d'analyse des systèmes naturels complexes par les données, les systèmes d'information géographique (SIG) et les principes de durabilité à long terme. Depuis 2019, j'ai exercé au sein de la municipalité de Kastamonu, d'abord comme conseiller du maire et coordinateur média, puis comme directeur des systèmes d'information et responsable R&D ; aujourd'hui, je coordonne l'écosystème de logiciels open source de l'institution et son organisation GitHub.

En matière de logiciel et d'architecture système, je privilégie les principes de souveraineté numérique, zéro fuite de télémétrie et performance déterministe plutôt que les dépendances en boîte noire. Autour de l'écosystème de bureau Omarchy basé sur Arch Linux, je développe des outils natifs en Rust, Slint et QML (OmaStudio, PolyCodex, QuickNews) ; sur les réseaux institutionnels, je conçois des topologies OPNsense, FQ_CoDel SQM et multi-WAN.

En dehors de l'écran, je documente avec le système moyen format Fujifilm GFX les mosquées en bois sans clous de Kastamonu et de la mer Noire occidentale, l'artisanat du bois kündekâri, la géomorphologie des canyons et les zones de ciel étoilé. Je publie en toute transparence la télémétrie brute de l'ensemble de mes archives photographiques et écrites sur la page Open Data.

Domaines d'architecture

01 // ARCHITECTURE RÉSEAU ET SÉCURITÉ

OPNsense, Zero Trust et réseaux à faible latence

Je conçois des architectures réseau d'entreprise et locales avec équilibrage de charge multi-WAN, élimination du bufferbloat via la gestion intelligente des files d'attente FQ_CoDel (SQM), segmentation VLAN RFC 1918, durcissement Unbound DNSSEC/DoT et isolation des processus HANCORE.

02 // INGÉNIERIE SYSTÈME ET BUREAU

Arch Linux, écosystème Omarchy et outils Rust

Je développe des applications natives basées sur Rust, Slint et QML pour l'environnement de bureau Omarchy fonctionnant sur Wayland/Hyprland et Quickshell : OmaStudio (traitement RAW moyen format), PolyCodex, QuickNews et optimisations du noyau pour console portable (Steam Deck).

03 // CONSEIL MULTI-MODÈLES IA ET EDGE COMPUTING

12 Orchestration IA à membres et Cloudflare Workers AI

Je pilote la production logicielle, l'audit de sécurité et l'analyse de données avec un conseil multi-modèles à 12 membres (Claude Code, Gemini Argon, Codex, J-Code, OpenCode). Je fais tourner les applications web en architecture edge entièrement autonome avec Cloudflare Workers AI, MCP, RFC 9727 API Catalog et les standards llms.txt.

04 // PHOTOGRAPHIE DOCUMENTAIRE MOYEN FORMAT

Documentation du patrimoine architectural et de la lumière naturelle au Fujifilm GFX

Avec le système moyen format Fujifilm GFX (capteur 44×33 mm), je documente les mosquées en bois sans clous du patrimoine UNESCO de Kastamonu et de la région du Karadeniz occidental (mosquée Mahmutbey), l'artisanat kündekâri, les écosystèmes de canyon et le ciel nocturne du mont Ilgaz.

Matrice de compétences techniques et technologiques

Outils et protocoles activement utilisés en production

Langages & frameworks applicatifs

RustTypeScriptSvelte 5 (Runes)AstroQML / Qt6Slint UIPOSIX ShellPythonGDScript

Ingénierie réseau & sécurité

OPNsense / FreeBSD pfFQ_CoDel & Cake SQMTCP BBRVLAN IEEE 802.1QUnbound DNSSEC / DoTZero TrustWireGuardIsolation HANCORE

Noyau Linux & bureau

Arch LinuxOmarchyWayland / HyprlandQuickshellAudio spatial PipeWireOrdonnanceur BORESystemdSteamOS / Steam Deck

Edge computing & intelligence artificielle

Cloudflare Workers AIWorkers KV & CronModel Context Protocol (MCP)Catalogue d'API RFC 9727llms.txtClaude Code & AntigravityLLM local (Ollama)

Informatique publique & analyse de données

Plateformes de ville intelligenteGouvernance open sourceSystèmes d'information géographique (SIG)Linguistique computationnelle turqueModélisation statistique (OLS / Gini / Zipf)

Optique & imagerie moyen format

Fujifilm GFX (44×33mm)Traitement du signal RAW 16 bitsDocumentation de l'architecture en bois & du KündekâriPhoto nocturne & astro-photographie (EV₁₀₀ < 0)Science des couleurs & calibration

Expérience et fonctions institutionnelles

  1. 2024 — Aujourd'hui
    Secteur public & open source

    Coordination open source et infrastructure informatique

    Municipalité de Kastamonu

    Je gère l'organisation GitHub officielle de la municipalité (Kastamonu-Belediye-Baskanligi) et je coordonne les travaux d'architecture technique des directions R&D et informatique. Je travaille sur la plateforme de ville intelligente, l'archive numérique institutionnelle et les normes d'open data.

  2. 2024 — Aujourd'hui
    Rust · Linux · Edge AI

    Architecte système indépendant et développeur open source

    Écosystème Omarchy Linux & FOSSWire

    J'ai développé plus de 20 composants système et applications indépendantes (OmaStudio, PolyCodex, QuickNews, DeckOpt) pour l'écosystème de bureau Omarchy basé sur Arch Linux. Je publie des recherches techniques sur les conseils d'IA multi-modèles et les architectures d'edge computing Cloudflare.

  3. 2023 — 2024
    Infrastructure & cybersécurité

    Directeur informatique et responsable R&D

    Municipalité de Kastamonu

    Renouvellement des serveurs institutionnels, du pare-feu et de la dorsale du réseau local, renforcement des politiques de sécurité des données, numérisation des services e-Belediye et intégration des données géographiques/administratives entre les directions.

  4. 2019 — 2022
    Communication institutionnelle & stratégie

    Conseiller du maire et coordinateur média

    Municipalité de Kastamonu

    J'ai piloté les processus de presse institutionnelle, de production média numérique et de communication publique. Grâce à une stratégie de contenu axée sur les données, les canaux de communication numérique de la municipalité ont atteint plus de 25 millions de portées organiques en un trimestre.

  5. 2019 et 2024
    Développement de projets

    Projets de technologie urbaine et communication de campagne

    Kastamonu

    Lors des élections locales de 2019 et 2024, j'ai participé à la conception technique et à la communication visuelle et rédactionnelle des projets de ville intelligente, de transport, de patrimoine culturel et de transformation numérique préparés pour Kastamonu.

  6. Formation universitaire
    SIG & modélisation des écosystèmes

    Génie forestier

    Université technique de Karadeniz (KTÜ) · Faculté de foresterie

    Formation d'ingénieur en planification des ressources naturelles, gestion des bassins versants, biostatistique, systèmes d'information géographique (SIG/GIS) et modélisation mathématique des écosystèmes complexes.

Technologies utilisées sur ce site

Uniquement celles qui fonctionnent réellement aujourd'hui

Ce site fonctionne sur un seul Cloudflare Worker. Les articles, albums, projets et textes des pages sont stockés dans la base de données ; l'ajout de nouveau contenu ne nécessite pas de reconstruire le site. Le code source se trouve dans un dépôt GitHub privé.

Interface

Astro 7
Génère les pages sur le serveur, au moment de la requête. Le navigateur reçoit du HTML prêt à l'emploi ; JavaScript n'est chargé que dans les parties qui en ont besoin.
Svelte 5
Parties interactives : visionneuse de galerie, fenêtre de recherche, bouton de thème, menu mobile, explorateur de projets et graphiques Open Data.
TypeScript
Le code du Worker, du serveur et des composants est écrit avec vérification des types.
Tailwind CSS 4
Mise en page et couleurs. Les thèmes clair et sombre s'appuient sur les mêmes variables de couleur.
LayerCake
Échelles et axes des graphiques de la page Open Data.
Lucide
Icônes d'interface ; intégrées à la page en SVG, aucun fichier séparé n'est téléchargé.

Police et typographie

JetBrains Mono Nerd Font
L'unique police du site (basée sur Nerd Fonts 3.5.1, JetBrains Mono 2.304, sous licence OFL). 16 sous-ensembles proviennent du propre serveur du site ; aucun service externe comme Google Fonts n'est utilisé.
Fichiers WOFF2 en sous-ensembles
Les sous-ensembles de texte sont de petits fichiers séparés des icônes (environ 80 Ko chacun). Grâce à unicode-range, le fichier d'icônes n'est téléchargé que si la page contient des icônes.
Graisses
Titres en gras, texte courant en graisse normale ; les italiques sont de vraies italiques, les ligatures ne sont activées que dans les blocs de code.

Hébergement et serveur de périphérie

Cloudflare Workers
Un seul Worker traite toutes les requêtes : génération des pages, redirections, en-têtes de sécurité et points de terminaison API.
Workers Static Assets
Polices, icônes, scripts compilés et fichiers de style sont servis depuis la couche de fichiers statiques de Cloudflare.
Cache API
Les pages générées sont conservées dans le cache de Cloudflare. La clé de cache inclut le numéro de déploiement et la version du contenu ; lorsqu'un nouveau contenu est ajouté, l'ancienne page est automatiquement renouvelée.
Cloudflare DNS et TLS
Nom de domaine, certificat HTTPS et redirection de www vers ozanozdil.com.
Workers AI
Traduction automatique des articles en anglais, allemand et français. Le modèle ne s'exécute que lors d'une tâche planifiée toutes les dix minutes, pour les articles nouveaux ou modifiés ; une requête de visiteur ne déclenche pas le modèle. Les traductions sont stockées dans la base de données et signalées sur la page comme traductions automatiques.

Données et stockage

Cloudflare D1
Base de données basée sur SQLite. Les articles, albums, projets, textes de pages, jeux de données ouvertes, versions de contenu et journaux d'erreurs y sont stockés.
Cloudflare R2
Stockage d'objets. Les photos d'albums et les fichiers de données ouvertes sont conservés dans un bucket, et les sauvegardes nocturnes dans un bucket séparé et privé.
Workers KV
Compteurs de lectures et de vues, ainsi que les résumés hebdomadaires.

Images

Cloudflare Images
Les photos sont redimensionnées à la demande en largeurs fixes (entre 320 et 1920 pixels). AVIF est envoyé si le navigateur le prend en charge, sinon WebP ; le résultat reste en cache.
Aperçu flou
Une version très petite et floue s'affiche à la place jusqu'au chargement de la photo.
sharp et exif-reader
Lors de l'ajout d'un album, convertit les photos en WebP, génère des vignettes et lit les informations EXIF (appareil, objectif, exposition). S'exécute lors du téléversement, pas sur le site.

Publication et développement

GitHub
Le code source est conservé dans un dépôt privé. La branche main est le site en production lui-même.
Workers Builds
À chaque envoi sur la branche main, Cloudflare compile et met le site en ligne.
Wrangler
L'outil en ligne de commande de Cloudflare pour les migrations de base de données, les clés secrètes et les réglages du Worker.
Outil de contenu
La commande npm run icerik écrit directement les articles, albums, textes de pages et jeux de données dans D1 et R2 sans compilation.
Exécuteur de tests Node.js
Tests du Worker et vérification que le code serveur ne se retrouve pas dans les bundles navigateur.

Surveillance et sauvegarde

Sauvegarde nocturne
Une tâche planifiée (Cron Trigger) compresse chaque nuit à 03.17 le contenu de D1 et les compteurs KV, puis les écrit dans le bucket de sauvegarde sur R2.
Résumé hebdomadaire
Chaque lundi à 09.00, les chiffres de la semaine précédente sont publiés sur la page Données ouvertes et envoyés par e-mail.
Worker de garde
Un Worker distinct contrôle le site de l'extérieur toutes les cinq minutes. Il envoie un e-mail en cas d'interruption et d'augmentation des erreurs serveur (5xx).
Journal des erreurs
Les erreurs JavaScript survenant dans le navigateur sont écrites dans D1 sans utiliser de cookies.
Workers Observability
Journaux et traces des requêtes du Worker.
Envoi d'e-mails Cloudflare
Les e-mails d'alerte et de résumé sont envoyés depuis le Worker via la liaison send_email.

Confidentialité et sécurité

Aucun cookie de suivi
Aucun cookie identifiant ou suivant le visiteur n'est utilisé. La préférence de thème reste uniquement dans le stockage du navigateur.
Aucun script tiers
Aucun script publicitaire, d'analyse ou de suivi n'est chargé. Les compteurs sont hébergés dans le Worker du site et sont accessibles à tous sur la page Données ouvertes.
YouTube chargé au clic
Les vidéos des articles sont chargées via youtube-nocookie.com et uniquement après avoir appuyé sur le bouton de lecture.
En-têtes de sécurité
Politique de sécurité du contenu (CSP) et Politique d'autorisations ; les accès à la caméra, au microphone et à la localisation sont désactivés.

Pour les lecteurs et les moteurs de recherche

RSS
Les nouveaux articles peuvent être suivis à l'adresse /rss.xml.
Sitemaps
Des sitemaps distincts pour les pages et les images, mis à jour automatiquement à chaque modification du contenu.
schema.org (JSON-LD)
Les informations sur la personne, les articles et les pages sont fournies sous forme de données structurées lisibles par les moteurs de recherche.
llms.txt
Résumé en texte brut du site pour les moteurs de réponse IA.
Manifeste d'application web
Le site peut être ajouté à l'écran d'accueil du téléphone et ouvert comme une application.

Soutien open source et contact direct

Vous pouvez soutenir mes logiciels open source et mes recherches techniques via GitHub Sponsors ou Buy Me a Coffee ; pour les collaborations de projet et le conseil technique, utilisez l'e-mail chiffré et les outils de messagerie rapide de la page Contact.