L’archéologie est un domaine qui, depuis ses débuts, s’attache au catalogage, à la structuration et l’archivage de données issues de fouilles. Sur le terrain, elle a longtemps reposé sur la création de fiches, la collecte manuelle d’information sur papier, et le dessin à la main, retranscrit lors des phases d’étude sur support numérique. Ce n’est que récemment que certains archéologues ont lancé le mouvement de la fouille « tout numérique ». Je vous propose de raconter ici l’histoire de la numérisation de l’archéologie, qui, comme vous allez le voir, repose en partie sur le logiciel libre.
Journal TapTempo.sql
Ce journal fait suite à la dépêche publiée mardi à propos de SQLPage. Si vous ne l'avez pas encore lu, c'est le moment !
Pour résumer: SQLPage est un petit serveur web qui permet de réaliser des applications web complètes en SQL.
Pas de bras, pas de chocolat
Il se trouve que SQL est l'un des rares langages de programmation populaires pour lequel il n'y a pas d'implémentation de TapTempo. La raison semble assez évidente: le principe de (…)
Sanipasse : le déconfinement libre !
Je suis fier de vous présenter aujourd’hui l’application sanipasse.
Les passes sanitaires
Aujourd’hui, lorsque l’on se fait tester ou vacciner contre le COVID-19, on reçoit une attestation numérique, sous forme d’un QR code, qui prouve que l’on n’est pas contagieux.
Jusqu’à aujourd’hui, la seule application qui permettait de lire ces codes était le fameux TousAntiCovid, qui permet seulement d’importer son certificat sanitaire dans son application, et n’affiche pas la totalité des informations contenues dans le certificat.
L’application officielle de vérification de ces certificats, TousAntiCovid-Vérif est propriétaire, n’est pas publique, et la sécurité de son implémentation ne peut pas être vérifiée. Elle n’est, aujourd’hui, pas disponible aux petits organisateurs d’évènements privés, qui souhaiteraient pouvoir vérifier les certificats de leurs invités.
J’ai donc décidé de créer une nouvelle application, et je l’ai appelée sanipasse.
Journal TousAntiCovid Carnets, sans TousAntiCovid
Bonjour à tous,
Le semaine dernière, ma dépêche sur la vérification de pass sanitaires avec sanipasse a quelque peu déchaîné les passions.
Depuis, j'ai reçu beaucoup de retours, et outre les personnes outrées de l'outrecuidance de proposer une vérification de passe sanitaire, la majorité était très enthousiaste. Je propose donc ici petit résumé de ce qu'il s'est passé sur sanipasse depuis.
Article "French Health Pass"
J'ai écrit un article en anglais sur le fonctionnement technique des passes sanitaires. Je (…)
Écrire une appli web en une journée avec SQLPage
Aujourd'hui, je souhaite vous présenter le logiciel SQLPage, un outil open-source (MIT) qui permet de développer des applications web complètes, avec une belle interface graphique et une base de données, entièrement en SQL.
Le SQL est un langage très simple, qui permet de faire des recherches dans des base de données. Il est utilisé depuis les années 80, et est encore omniprésent aujourd'hui. Contrairement aux langages de programmation traditionnels, on peut apprendre les bases de SQL en une journée, et commencer à faire des requêtes complexes croisant plusieurs tables de données très rapidement.
Dans une application web traditionnelle, on développe aujourd'hui en général trois composants :
- un front-end, qui gère uniquement l'interface utilisateur,
- un back-end, qui traite les requêtes du front-end et contient le cœur de la logique de l'application lorsque celle-ci est complexe,
- une base de données qui va stocker et structurer les données, s'assurant de leur cohérence et de leur bonne organisation.
Les deux premiers éléments sont en général ceux sur lesquels les programmeurs passent le plus de temps lors du développement d'une application. Et pourtant, c'est souvent le dernier, la base de données, qui contient la substantifique moelle de l'application !
Ce que propose SQLPage, c'est de s'abstraire complètement du back-end et du front-end, et générer toute une application entièrement en SQL. Nous allons voir ici comment c'est possible, avec un exemple concret d'application que nous allons construire ensemble en SQL : à la Tricount.com, une petite application qui permet de gérer ses comptes entre amis.
WBO : un tableau blanc interactif
WBO est une application Web de dessin collaboratif en temps réel (licence GPL v3). Est‐ce qu’il vous est déjà arrivé de passer plusieurs minutes à expliquer un concept simple lors d’une vidéoconférence alors qu’un petit schéma aurait suffi ? WBO résout ce problème en permettant la création de croquis partagés en temps réel entre plusieurs utilisateurs.
École Inclusive: une application libre pour la prise en charge des élèves en situation de handicap
Directeur adjoint d’un collège en Occitanie, chargé de la SEGPA et de l’accueil des élèves en situation de handicap, je me suis retrouvé dans une situation où le suivi des élèves et de leurs accompagnants devenait difficile, notamment par manque d’outils adaptés.
Loin de me décourager, j’ai créé ma propre application de suivi, École Inclusive, en utilisant le cadriciel libre SQLPage et la publie aujourd’hui sous licence GPLv3. Ce projet a été possible grâce au support proposé par la documentation en ligne et à de fréquents échanges avec Ophir Lojkine, créateur de SQLPage.
Sans aucune connaissance préalable en programmation, j’ai réalisé toute cette application en SQL. Cela permet un large panel de fonctionnalités pour École Inclusive, qui gère tout le suivi horaire des élèves, des classes et des accompagnants, les emplois du temps, les statistiques, les notifications, l’identification des utilisateurs avec plusieurs niveaux de permission.

Journal web moderne, bases de données et beauté logiciel libre
J'aimerais parler ici de mon expérience lors du développement de sql.js, un port de SQLite en javascript. Pour ceux qui ne s’intéressent pas aux technologies du web, la fin de ce journal pourrait quand même vous intéresser, on va parler de SQLite.
Web moderne
Ceux d'entre vous qui s'intéressent aux technologies modernes du web ont certainement entendu parler d’emscripten, et d’asm.js.
Emscripten est un compilateur de bitcode LLVM en Javascript. Il permet de compiler du (…)
Journal Tous les parsers JSON sont mauvais
Introduction
Ce weekend, je me suis intéressé au langage JSON, aux parsers JSON par défaut de plusieurs langages de programmation, et j'ai fait des découvertes intéressantes.
Je pense que le langage JSON n'est plus à présenter à personne, mais au cas où vous vivriez dans une grotte depuis 1999,
petit résumé rapide: JSON est un format de données, très utilisé notamment sur le web, et qui a l'avantage d'être plutôt compact, assez lisible par les êtres humains, et surtout implémenté (…)
Journal Chaînes de formatage et sécurité en python (solution au "Petit Défi Python")
La semaine dernière, je vous proposais un défi de cybersécurité en python. Si vous ne l'avez pas encore vu, allez tenter votre chance sur Github avant de lire la suite de ce journal, ce sera plus intéressant.
La vulnérabilité
La première étape du défi était de trouver où était la faille de sécurité. L'application étant toute simple, ce n'était pas très difficile. Le script python contient les deux lignes suivantes:
to_format = f"Printing a {self.width}-character wide box: [Age: (…)
Journal toutf8: autodétecter et convertir de n'importe quel encodage de caractères vers UTF8
Les fichiers textes encodés avec des codecs exotiques, c'est toujours énervant. Il existe des tonnes et des tonnes normes d'encodage de caractères différentes, parfois partiellement compatibles entre elles, qui font qu'ouvrir un fichier texte est parfois une galère.
Personnellement, j'ai souvent le problème avec des sous-titres de films en français où en russes, qui ne sont jamais dans le même encodage de caractère, et dont il faut à chaque fois deviner l'encodage, avant de le convertir.
Pour résoudre ce problème (…)
Zaibu, une alternative libre pour les amateurs de dégustation
Cette dépêche présente Zaibu, une application web auto-hébergeable permettant de conserver un journal structuré de ses dégustations de bières et de vins. Développée avec SQLPage, elle met l’accent sur la simplicité, l’indépendance et le respect de la vie privée. Contrairement aux solutions centralisées comme Untappd ou Vivino, Zaibu ne collecte aucune donnée et reste entièrement sous le contrôle de l’utilisateur.

Note : n’ayant absolument aucune compétence ni aucun talent en graphisme, le logo a été créé avec Bing Image Creator et retravaillé et vectorisé par mes soins. Je sais, çaymal.
Retour d'expérience sur sql.js
J'aimerais parler ici de mon expérience lors du développement de sql.js, un port de SQLite en JavaScript. Pour ceux qui ne s’intéressent pas aux technologies du web, la deuxième partie de cette dépêche pourrait quand même vous intéresser, on va parler de SQLite.
Note : cette dépêche a initialement été postée en tant que journal.
Journal Regain d'activité sur WBO
J'ai déjà mentionné ici WBO auparavant. C'est mon projet de tableau blanc interactif en ligne sous licence AGPLv3 (version en ligne, github)
Il permet de faire de petits schémas ou des dessins sur une page blanche, qui sont visibles en temps réel par tous les utilisateurs connectés sur la même page. C'est très utile notamment lors d'une visioconférence, lorsque l'on travaille à plusieurs sur une idée qui a besoin d'un support visuel.
Et les visioconférences, en ce (…)
Journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière
Les expressions régulières sont un outil très pratique pour rechercher un texte correspondant à un certain motif. Elles sont très connues et leur usage est très répandu parmi les programmeurs, et les informaticiens en général. Cependant, et je pense que c'est dommage, elles ne sont pas enseignées à l'école, et sont assez peu connues de la population générale des utilisateurs de l'outil informatique.
Récemment, ma compagne a été chargée d'une nouvelle mission. Elle doit déchiffrer et traduire du russe en (…)





