Blog
All articles. All pillars. All authors.
Pourquoi j'ai refusé reCAPTCHA et choisi Cloudflare Turnstile pour protéger les commentaires
Thales a demandé reCAPTCHA. J'ai dit non. Google piste les visiteurs, charge 400 Ko de JS et affiche des puzzles de feux de circulation. Cloudflare Turnstile est gratuit, invisible et pèse 30 Ko. Voici le raisonnement complet.
Pourquoi le monde a besoin d'un service cron à 2 $
Le marché des tâches cron est cassé : les outils gratuits sont peu fiables, les payants commencent à 19 $/mois. Voici pourquoi nous avons construit 0cron à 1,99 $/mois en illimité depuis Abidjan.
FlinDB : base de données embarquée à configuration zéro
Comment nous avons construit FlinDB, une base de données embarquée à configuration zéro pour le langage de programmation FLIN -- pas de chaîne de connexion, pas de migrations, pas de serveur externe. Juste save et c'est parti.
Précision du suivi et validation
Comment la session 079 a révélé que le modèle temporel de FLIN était plus avancé que documenté -- et les leçons tirées sur la précision du suivi, la validation et le danger de la documentation obsolète.
Agrégations et analytique
Comment nous avons ajouté les fonctions d'agrégation, GROUP BY, DISTINCT et les opérateurs IN/NOT IN à FlinDB en une seule session -- rendant l'analytique embarquée possible sans SQL.
Fonctions de comparaison temporelle
Comment nous avons construit six fonctions natives de comparaison temporelle dans FLIN -- field_changed, calculate_delta, percent_change, changed_from, value_changed et field_history.
Filtrage et tri temporels
Comment nous avons ajouté le filtrage et le tri aux requêtes d'historique temporel de FLIN -- de la décision de conception d'éviter les lambdas à l'implémentation VM de ListFilterField et ListOrderBy.
Destroy et Restore : la suppression douce bien faite
Comment FLIN implémente trois niveaux de suppression de données -- suppression douce, suppression dure (destroy) et restauration -- avec la conformité RGPD intégrée au langage.
La déstructuration partout
Comment nous avons implémenté la déstructuration dans FLIN -- déstructuration de tableaux, d'entités et imbriquée avec motifs rest, valeurs par défaut, et l'approche stub-first qui a gardé le compilateur sain.
D'Abidjan à la production : lancement de 0cron.dev
L'histoire complète de la construction de 0cron.dev : 3 sessions, 4 agents, 3 500+ lignes de Rust, un tableau de bord SvelteKit, facturation Stripe, et un système d'administration -- le tout depuis Abidjan avec zéro ingénieur humain.
Types union étiquetés et types de données algébriques
Comment nous avons apporté les types de données algébriques à FLIN -- les enums génériques avec données associées, Option<T>, Result<T, E>, et l'implémentation Rust des unions étiquetées.
Boucles étiquetées et motifs Or
Comment nous avons implémenté les boucles étiquetées et les motifs Or dans FLIN -- sortir des boucles externes par nom, combiner des bras de match avec la syntaxe pipe, et les changements du compilateur qui les supportent.