❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

DocuSeal - Pour signer vos documents sur votre propre serveur

Si comme moi, vous êtes un jeune entrepreneur plein de talent, vous avez sûrement déjà signé des tas de contrats, de NDA et autres documents relatifs à votre société. Et pour cela, en général, nos interlocuteurs et autres avocats ne se font pas chier : ils nous envoient des liens vers des plateformes comme Yousign ou DocuSign,

Car oui, faire signer un contrat à trois personnes passe en général par un service en ligne qui compte le nombre de documents et facture au volume. Snif... Mais c'était sans compter sur le projet DocuSeal qui fait exactement le même travail depuis un conteneur Docker tout simplement posé sur votre serveur. C'est l'avantage d'avoir une solution open source, et surtout, ça permet de tout garder chez vous et de ne rien envoyer sur des serveurs tiers.

Vous chargez un PDF, vous posez les champs à la souris dans un éditeur visuel, et vous envoyez ça à vos interlocuteurs. Il y a 10 types de champs côté version libre, notamment case à cocher, image, date et sélection multiple. Plusieurs signataires se succèdent ensuite dans l'ordre que vous fixez, chacun ne recevant le document qu'une fois que le précédent est passé, et les invitations partent via votre propre serveur SMTP.

Les documents signés restent ensuite sur le disque de la machine, à moins que vous ne préfériez les envoyer vers votre S3, votre Google Storage ou votre Azure.

L'API REST et les webhooks sont également dispo dans la version open source, Mais attention, toutes les fonctionnalités proposées par la version SaaS qu'il propose en mode payant ne se retrouvent pas forcément dans la version open source. Par exemple, on n'a pas la possibilité de créer des modèles différents pour générer des documents sur mesure par client.

Et là où l'auto-hébergement se paie vraiment, c'est sur le certificat car le cloud de DocuSeal signe avec un certificat reconnu par Adobe, alors que votre instance génère le sien par défaut. Donc, il faudra faire avec, surtout que le nombre de documents gérables est limité. Ou alors, modifiez vous-même le code source pour vous faire votre propre version custom.

Pour l'installer avec Docker afin de tester, c'est simple :

sudo docker run --name docuseal -p 3000:3000 -v.:/data docuseal/docuseal

Côté juridique, ce que vous récupérez est une signature électronique simple au sens du règlement eIDAS. C'est le niveau d'entrée, parfaitement valable pour un devis ou un accord interne. Par contre, ça ne supporte pas la signature qualifiée, qui est la seule à valoir juridiquement une signature manuscrite dans toute l'Union européenne.

Ce n'est d'ailleurs pas une faiblesse de l'open source car chez DocuSign aussi, la signature qualifiée se vend en module complémentaire des forfaits classiques. Chez DocuSeal, elle passe par un prestataire de confiance partenaire et se facture aujourd'hui 2 à 4 dollars pièce. Ensuite, le logo maison, le SSO, les relances et l'envoi en masse demanderont la licence Pro. Si vous choisissez de passer par leur version payante, faites attention à bien vous mettre sur l'instance européenne pour que vos documents soient conformes au RGPD et ne partent pas dans les mains des Américains.

Par exemple, comme je vous disais, le code est sous AGPL. Donc, vous pouvez faire un peu ce que vous voulez dedans tant que vous gardez l'attribution DocuSeal dans l'interface.

Et si vous n'avez pas le temps et que ça vous saoule d'auto-héberger votre propre, certificateur de documents, il existe aussi Goodflag Community , un service gratuit pour les particuliers, indépendants et associations dont vous n'êtes pas le produit (lol), qui vous permettra de faire tout pareil sans débourser un centime et avec de la signature qualifiée (Merci à Karefil pour l'info).

Source : DocuSeal sur GitHub

Speakr - Interrogez toutes vos réunions enregistrées

Vous avez un dossier plein d'enregistrements de réunions, d'entretiens ou de notes vocales que vous avez dictées en marchant, et vous ne les avez jamais réécoutés. Forcément, réécouter doit se faire en temps réel, et un fichier baptisé REC_20260812_143301.m4a ne permet pas forcement de savoir de quoi ça cause... Alors que faire ?

Hé bien le projet Speakr s'attaque exactement à ce problème. Vous y déposez vos fichiers, ou vous enregistrez directement depuis le navigateur en captant le micro, le son du système, ou les deux mélangés. Et en sortie, vous récupérez un texte en clair, cherchable, découpé par intervenant, avec un résumé et les actions à retenir.

Et si vous cliquez sur une ligne du texte transcrit, la lecture se lancera à cet instant précis. Mais Speakr va encore plus loin grâce à sa fonctionnalité Inquire. Grâce à ça, plus besoin de farfouiller dans un enregistrement. Vous posez simplement une question à toute la bibliothèque d'un coup du genre "qu'est-ce qu'on avait décidé sur le tarif, et qui n'était pas d'accord ?".

Un mode agent optionnel, encore en bêta, va même lire les enregistrements concernés un par un avant de répondre, avec des liens numérotés qui ouvrent chaque extrait à la seconde citée. Et chacun décide si ses résumés et ses notes privées sont lisibles par cet agent.

Reste la question qui fâche, parce que le projet se vend comme un truc auto-hébergé, donc privé. Et en creusant un peu, je me suis rendu compte qu'il y avait quand même des choses qui sortaient de la machine. Il y a d'abord la transcription, qui envoie l'audio au moteur qui le transforme en texte. Et celui du texte ensuite, qui expédie la transcription au modèle qui écrit les résumés, les titres et les réponses du chat.

Et dans la configuration de base, les deux usages IA pointent chez un tiers : une clé OpenAI pour l'audio, une clé OpenAI (ou OpenRouter) pour le texte. Votre serveur, lui, ne stockera que des fichiers...

Alors, il faudra bien penser, si vous voulez que ça reste en local, à brancher Ollama à la place d'OpenAI et OpenRouter. Mais couper celui de l'audio se paiera car pour réussir à transcrire de l'audio, il vous faudra quand même une bonne carte graphique et un gros modèle Whisper comme expliqué dans le guide d'installation .

Sans carte, ça tourne quand même, rassure-vous, mais ce sera plus lent.

Pour le reste, c'est du Docker avec SQLite ou PostgreSQL, 2 Go de RAM annoncés pour l'application seule, et tout ce qu'on attend d'un truc qui s'utilise à plusieurs : comptes, authentification unique, partages, API et webhooks signés.

C'est sous licence AGPLv3, doublée d'une licence commerciale pour ceux qui ne veulent pas s'y contraindre.

Niveau outils semblables, il y a Scriberr, dont je vous ai déjà parlé , transcrit en local sans jamais rien envoyer dehors, mais son auteur vient d' annoncer une pause dans le développement . On a aussi l'application Meetily , qui elle, vise le poste de travail plutôt que le serveur d'équipe, et réserve la séparation des voix à son offre payante. Et si c'est de la dictée en direct sur Mac dont vous avez besoin plutôt que d'exploiter des enregistrements déjà faits, j'ai codé Kassis pour ça, qui reste en local lui aussi.

Alors finalement, pourquoi ne pas donner sa chance à Speakr ?

HortusFox - Le carnet de bord partagé de vos plantes

Je n'ai plus mes 5 hectares de jardin et de forêt, snif snif.... Maintenant c'est un immense jardin de 15 mètres carrés dans lequel je n'ai encore rien planté. Il y a des framboisiers, une pelouse en souffrance++ et deux ou trois trucs qui servent surtout de litière aux chats du quartier. Dans la maison, j'ai également deux spathiphyllums, ces fleurs de lune que tout le monde a chez soi, et une Monstera achetée chez Ikea.

Et je ne sais absolument pas m'en occuper. ^^

Alors quand je suis tombé sur HortusFox , j'ai regardé ça d'un autre œil que d'habitude. Il s'agit d'une application web que vous installez chez vous, qui est développée sous licence MIT depuis 2023 par un type tout seul, Daniel Brendel, qui va vous permettre de gérer toutes vos plantations et autres plantes vertes en intérieur.

Reste à comprendre ce que ça fait vraiment, parce que ce n'est pas ce à quoi on s'attend... Ça n'est pas vraiment un conseiller, ça ne va pas vous dire par exemple quand arroser votre Monstera, ni diagnostiquer une feuille jaune.

C'est simplement un carnet de bord, point. Vous déclarez vos lieux (le salon, la cuisine, la serre), vous y rattachez vos plantes avec leurs photos, vos notes et un journal, et vous créez des tâches dont c'est vous qui fixez l'intervalle. Le système vous rappelle alors ce que vous avez à faire selon l'échéance que vous avez décidée, et il garde la trace de ce que vous avez fait.

Dit comme ça, ça paraît maigre, sauf que quand vous êtes cinq à passer devant les mêmes pots de fleurs, c'est super pratique ! Est-ce que quelqu'un a arrosé pendant les vacances ? Est-ce que le petit s'est occupé de ses plantes carnivores ou pas ? Là, la réponse est dans le journal de la plante et pas dans la tête de X ou Y qui a mis son téléphone en mode avion.

C'est d'ailleurs ce qui fait sa différence. Plusieurs comptes partagent le même espace, avec les tâches en commun, un inventaire du matériel et même un chat de groupe pour se laisser des mots.

Plant-it , l'autre projet libre du genre, repose exactement sur la même philosophie. À la base, c'était également une application web, mais comme il y avait trop de bugs , l'auteur a préféré supprimer la version qu'il hébergeait. Et Plant-it est ainsi devenu une simple application Android. Adieu les versions web et la version iOS.

HortusFox, lui, a fait le chemin inverse et garde son serveur, mais du coup il n'a aucune application native en face : le dépôt Android du projet est archivé depuis 2024, ce qui fait que pour savoir ce qui se passe, vous devrez ouvrir la page web pour voir l'état de vos plantes. Je vous laisse deviner si mon fils va penser à ouvrir un onglet tout seul pour ses plantes carnivores... lol.

Ce n'est pas grave, je me suis acheté ces petites Oyas pour les plantes vertes (lien affilié), et ça fait super bien le taf pour garder la terre un petit peu humide en permanence.

Ça s'installe en Docker Compose avec une base MariaDB. Pas de SQLite, pas de PostgreSQL et n'attendez pas que ça change parce que ça demanderait trop de boulot à l'auteur... L'interface est également disponible en onze langues dont le français. Au niveau de la vie privée, il n'y a pas vraiment de télémétrie, il faut juste savoir que l'identification des photos passe par l'API de Pl@ntNet , qui est gratuite jusqu'à 500 identifications par jour, et la météo par OpenWeatherMap. Ces deux-là réclament donc vos propres clés, et vous n'êtes pas obligé de les activer. Les données botaniques, elles, viennent du GBIF sans rien demander.

Et si vous voulez juste identifier vos plantes sans monter un serveur, j'avais déjà parlé des applis qui font ça .

Un point quand même avant que vous ne lanciez le docker compose : Une XSS stockée a été remontée le 11 août 2026 dans la version 5.9, qui est la dernière en date. Cela veut dire que n'importe quel membre de votre espace HortusFox peut glisser du JavaScript persistant dans les notes d'une plante, qui s'exécutera ensuite chez tous ceux qui la consultent, admin compris ( CVE-2026-72559 ). Donc mettez bien cette application ailleurs que sur Internet et assurez-vous que votre grand-mère ou vos enfants ne sont pas des petits hackers en herbe.

Amusez-vous bien avec vos plantes vertes !

OTI - Le lien à usage unique que les bots ne crament plus

Si vous avez déjà envoyé un lien à usage unique qui est arrivé mort chez votre collègue, c'est probablement la prévisualisation de la messagerie qui a ouvert le lien en premier et qui a cramé le secret accompagnant le lien.

La bonne nouvelle c'est que Oğuzhan Karacabay vient de publier une grosse mise à jour d' OTI , son service open source auto-hébergeable qui génère des liens de partage consultables une seule fois, avec chiffrement dans le navigateur.

Vous collez un mot de passe, une clé d'API ou un bout de config dans OTI, le navigateur chiffre, le serveur lui ne stocke que du charabia, et le destinataire reçoit une jolie URL qui ne fonctionnera bien qu'une fois.

Ce qui change, c'est que le lien ne meurt plus tout seul. En chargeant la page, votre destinataire voit un compte à rebours et un bouton "Decrypt Message", rien d'autre. Du coup, tant que personne ne clique, le message continue son roupillon.

Comme ça, un bot qui déroule les URLs pour fabriquer une jolie vignette repart bredouille. Après si c'est un vrai scanner de sécurité qui charge vraiment la page dans un navigateur automatisé, vous ne pourrez pas éviter le problème.

L'autre nouveauté dans OTI c'est à la création d'un nouveau lien. Le service vous génère en fait 2 liens. Il y a celui que vous envoyez et un second que vous gardez pour vous. Ce dernier vous permettra de consulter l'état du message sans jamais afficher son contenu.

Côté crypto, le contenu est chiffré en AES-256-GCM via WebCrypto, et cette clé AES est elle-même emballée dans une paire RSA-2048 générée dans votre navigateur. La clé privée voyage dans le fragment de l'URL, la partie après le #, que les navigateurs n'envoient jamais au serveur.

Le principe zero-knowledge utilisé par OTI est quasi le même que celui de PrivateBin ou d' Enclosed où la clé ne quitte jamais le navigateur.

Par contre, ça donne des liens obèses puisque le mien faisait 1825 caractères, dont 1728 rien que pour le fragment, et c'est déjà compressé en zlib. Bon courage donc pour le dicter au téléphone ^^ (il y a un QR code, heureusement !)

Le reste, c'est du confort... Fichiers .txt jusqu'à 100 Ko validés dans le navigateur avant chiffrement, mot de passe optionnel par-dessus, expiration au choix entre 5 minutes et 7 jours, limitation de débit via Redis et une tâche planifiée qui balaie les secrets périmés toutes les 30 minutes.

Pour l'héberger, c'est de l'AdonisJS 6 en TypeScript avec Dockerfile, docker-compose et migrations fournis, en licence MIT. Redis peut céder sa place au limiteur en mémoire si vous montez juste un petit truc perso.

Notez quand même que pour le moment, le projet n'a pas été audité et est maintenu par un gars tout seul, donc évitez de l'utiliser pour des secrets d'État.

La démo est en ligne si vous voulez essayer avant d'installer.

Open Archiver - L'archiveur qui perdait des emails (mais c'est corrigé, ouf !)

Un import qui affiche "terminé" et qui a mangé une partie de vos mails au passage, c'est le genre de bug qu'on ne voit jamais venir... Hé bien Open Archiver vient d'en corriger quatre d'un coup.

Open Archiver c'est une plateforme d'archivage d'emails auto-hébergée développée par Weishest, dont la seule et unique mission est d'aspirer vos boîtes et de les stocker en .eml sur votre serveur.

Mais attention, le mot "archivage" a son importance, parce que ce n'est pas un backup. Je m'explique... l'idée c'est de garder un dépôt consultable et inaltérable de tout ce qui est passé par vos boîtes, ce qui intéresse surtout les structures ou les personnes comme moi qui doivent pouvoir retrouver un échange trois ans plus tard parce qu'on leur demande tout un tas de trucs tout le temps ^^.

Côté sources, il avale de l'IMAP, du Google Workspace, du Microsoft 365, des fichiers PST, des .eml zippés et du mbox. Ensuite, vos mails archivés finissent chez vous, sur votre disque ou dans un bucket S3, chacun accompagné de son empreinte SHA256 pour repérer une altération.

La grosse news de cette nouvelle release, c'est la recherche avancée. En effet, un panneau de filtres est apparu à côté du champ de mots-clés. Vous restreignez à une source d'ingestion, à une boîte précise, à une fenêtre de dates, aux mails qui ont une pièce jointe ou à ceux qui n'en ont pas et expéditeurs et destinataires s'excluent autant qu'ils s'incluent.

Le panneau de filtres de la recherche avancée, ajouté en v0.5.2

Le mot-clé, lui, peut viser une partie précise du message. Chercher "facture" dans les noms de pièces jointes ne remonte plus tous les mails qui prononcent le mot, juste ceux qui transportent un fichier facture.pdf. Et comme la recherche entière vit dans l'URL, une requête se met en favori et se rejoue à l'identique. L'API suit, avec un GET /v1/search qui accepte les mêmes paramètres que l'interface.

Attention quand même si vous faites la MAJ, faudra relancer un reindex . Et comme les mails existants sont marqués "déjà indexés" à la montée de version, c'est une reconstruction complète qu'il vous faut, pas le simple rattrapage des trous.

Puis surtout, ces notes de version annoncent que plusieurs correctifs "ferment des chemins où un import pouvait sauter ou dupliquer des messages tout en signalant un succès". Le cas le plus vicieux vient d'un composant qui découpe le fichier en messages et qui rendait la main trop tôt. Node recollait alors les morceaux et plusieurs mails arrivaient soudés et finissaient archivés comme un seul. Les imports PST, eux, fabriquaient des messages malformés que les lecteurs affichaient de travers, et une simple re-synchronisation ré-archivait le fichier entier en doublons.

Le plus spectaculaire reste quand même le nom de pièce jointe trop long. Au-delà de 255 octets, l'écriture sur le disque échouait et emportait l'email complet avec elle. Bref, beaucoup de soucis quoi...

Donc si vous tournez déjà dessus, la question à se poser, c'est de savoir si votre archive est déjà foireuse ou pas car un reindex ne la réparera pas. Comme il reconstruit l'index de recherche à partir de ce qui est sur le disque, un message jamais écrit ne réapparaîtra pas. Mais bon, voilà, le découpeur de mbox journalise maintenant son nombre de messages, ce qui rend l'écart visible entre le fichier source et l'archive. Pour le reste, il faudra réimporter ce qui manque

Pour le faire fonctionner, comptez 4 Go de RAM, ou 2 Go si vous branchez PostgreSQL, Valkey et Meilisearch en externe. Le cœur est en AGPL, ça se lance avec un docker compose up, et une démo publique tourne en ligne si vous voulez tâter le truc avant. Pour ma part, je pense que c'est intéressant en entreprise, mais clairement, une usine à gaz, si vous avez juste un compte Gmail à archiver. A la place, je vous avais déjà montré Eonvelope et Bichon , qui sont deux archiveurs autrement plus légers !

Et si c'est pour faire de la recherche, ce que je vous conseille, c'est de faire comme moi, c'est-à-dire un RAG qui indexe tous vos emails en local et qui vous permet de chercher dedans facilement avec n'importe quel LLM qui supporte les outils MCP. Moi je fais ça avec LEANN et ça marche très bien .

Open Archiver est à découvrir ici !

DockPanel - Le panel web qui gère tout votre serveur

Gérer un serveur à la main, c'est nginx à configurer, les certificats à renouveler, les sauvegardes à planifier et les conteneurs à surveiller... C'est beaucoup de travail. Mais vous allez avoir de l'aide grâce à DockPanel, d'Ovidiu Drobotă, qui met tout ça derrière une jolie interface web tenant dans 19 Mo de RAM.

L'installation se colle en une ligne sur un VPS frais et vous récupérez un panneau d'admin sur le port 8443. Ubuntu, Debian, Rocky, Fedora ou Amazon Linux, en x86_64 comme en ARM64.

À partir de là vous créez des sites en PHP, Node ou Python, avec nginx configuré tout seul et les certificats Let's Encrypt qui se renouvellent sans y penser. Les bases MySQL et PostgreSQL vont avec, navigateur SQL intégré et restauration à un instant T via les journaux binaires.

Ensuite, c'est surtout le catalogue Docker qui fait le gros du travail. Environ 150 modèles en un clic répartis sur 14 catégories, WordPress, Postgres, Grafana, n8n ou Immich, et le reverse proxy, le SSL et le réseau se câblent automatiquement derrière. Les conteneurs inactifs peuvent même se mettre en veille tout seuls pour libérer la machine.

Je vous parlais l'an dernier de Coolify pour le déploiement en self-hosted , et avant ça de aaPanel, le clone gratuit de cPanel mais aucun des deux ne couvre autant de terrain.

Côté déploiement, vous poussez votre code et ça part en production, avec bascule atomique par lien symbolique et retour arrière en un clic quand le déploiement du vendredi tourne mal. Nixpacks reconnaît plus de 30 langages, donc pas de Dockerfile à écrire, et chaque branche peut avoir son environnement de préversion.

Il y a aussi un serveur mail complet, Postfix, Dovecot et DKIM, avec Roundcube en webmail et Rspamd contre le spam. La partie DNS pilote Cloudflare et PowerDNS, avec vérification de propagation, DNSSEC et les tunnels Cloudflare. Un module CDN gère BunnyCDN et Cloudflare, purge du cache comprise.

Pour la surveillance, des sondes HTTP, TCP et ping, une gestion d'incidents avec chronologie et post-mortem, une page de statut publique à laquelle vos utilisateurs peuvent s'abonner, et des alertes qui partent sur Slack, Discord ou PagerDuty. Un point de collecte Prometheus est dispo, avec un tableau Grafana prêt à importer.

La sécurité est activée par défaut avec pare-feu applicatif ModSecurity par site, Fail2Ban, durcissement SSH en un clic, connexion par passkey ou 2FA, et chaque image Docker déployée peut être scannée à la recherche de CVE avec grype, avec refus de déploiement au-dessus du seuil que vous fixez. Les sauvegardes passent par Restic, chiffrées et dédupliquées, vers S3, SFTP, B2 ou GCS, avec vérification de restauration.

Le reste ensuite, c'est que du confort. Terminal web avec enregistrement de session, gestionnaire de fichiers, palette de commandes en Ctrl+K, 6 thèmes, boîte à secrets chiffrée, passerelle à webhooks et une ligne de commande. La configuration complète s'exporte en YAML pour être rejouée ailleurs. Si vous gérez plusieurs machines, un seul panneau les pilote toutes, avec des comptes revendeur en marque blanche pour ceux que ça intéresse.

Deux choses à savoir avant de lancer l'installation quand même... En mars, une injection de commande dans le formulaire de création de site a permis à un visiteur de passer root sur la machine de l'auteur. C'est corrigé depuis, mais l'agent tourne en root par conception puisque c'est lui qui touche à Docker, à nginx et aux certificats.

L'autre point, c'est la licence. DockPanel est en Business Source License 1.1, ce qui n'est pas de l'open source même si la page d'accueil le présente comme ça. L'usage est libre et gratuit sur vos propres serveurs, mais la revente en service hébergé est interdite. Une bascule en MIT est quand même programmée pour mars 2030.

Voilà, je me suis dit que ça pourrait vous intéresser.

Source

❌