Recherche effectué dans :

Cliquez sur un tag pour affiner votre recherche :

[ << Page précédente (500) ] [ Page suivante (2792) >> ]

Journal du lundi 09 septembre 2024 à 15:00 #scaleway, #pricing, #hosting

Dans cette note, j'essaie autant que possible de comparer des offres Bare-metal server, Elastic Metal et Virtual Instances de Scaleway, pour une puissance égale.

Je lis ici que les Virtual Instances "Workload-Optimized - POP2HC" sont exécutés sur des serveurs « AMD EPYC™ 7003 Series processors ».

Le serveur Dedibox Core-9-L avec un CPU "AMD EPYC 7313P" fait partie de la famille des 7003, équivalent je pense aux serveurs qui font tourner les Virtual Instances POP3HC.

Coté Elastic Metal, j'ai identifié le modèle EM-I210E-NVME avec un processeur de la famille 7003 : "AMD EPYC 7313P".

Tarif de ce serveur avec un engagement au mois : 239,99 € / mois et sans cet engagement : environ 480 € / mois.

Si je fais un bilan de comparaison :

  • Dedibox Core-9-L : 249 € / mois avec 256 GB de Ram et 3x1TB, engagement au mois. À cela il faut ajouter 329.99 € de frais de setup.
  • Elastic Metal EM-I210E-NVME : 239 € / mois avec 128 GB de Ram et 2x1.9 TB, engagement au mois. À cela il faut ajouter 239,99 € de frais de setup.
  • Elastic Metal EM-I210E-NVME : 480 € / mois avec 128 GB de Ram et 2x1.9 TB, engagement à l'heure
  • Virtual Instances POP2HC : 1464 € / mois, avec 256 GB de Ram et 3TB de volume

À puissance égale, une Virtual Instances est approximativement 6 fois plus cher qu'une Dedibox (sans prise en compte des frais de setup Dedibox qui s'élèvent à 329 €).

Il est important de noter que je pourrais manquer d'informations concernant les serveurs hébergeant les Virtual Instances, ce qui pourrait entraîner des erreurs dans mon analyse.

Je tiens également à préciser qu'une Virtual Instance offre, en théorie, une meilleure fiabilité grâce à la possibilité — toujours en théorie — de migrer à chaud d'un serveur à un autre.

Journal du dimanche 08 septembre 2024 à 20:18 #javascript, #WebDev, #JaiDécouvert

#JaiDécouvert isbot.

Detect bots/crawlers/spiders using the user agent string

Journal du dimanche 08 septembre 2024 à 11:15 #JaiDécouvert

#JaiDécouvert Window.sessionStorage

L'objet global sessionStorage est similaire à Window.localStorage, à la différence que les données enregistrées dans sessionStorage ont une durée vie limitée et expirent à la fin de la session de navigation actuelle.

...

En revanche, une session de navigation n'est valable que pour le contexte de navigation actuel, c'est-à-dire que le fait d'ouvrir une page dans un nouvel onglet ou dans une nouvelle fenêtre provoquera l'initialisation d'une nouvelle session de navigation, ce qui diffère du comportement des sessions utilisant des cookies.

-- from

Je vais avoir besoin de sessionStorage pour le projet Idée d'un outil de session recoding web minimaliste basé sur rrweb.


2024-09-14 : j'ai nommé ce projet gibbon-replay.

Journal du dimanche 08 septembre 2024 à 11:03 #stoïcisme, #JaiDécouvert

#JaiDécouvert le nom du concept "dichotomie du contrôle" (from).

Je n'ai pas trouvé d'article Wikipedia sur ce sujet.

La "dichotomie du contrôle" est un principe clé dans la philosophie stoïcienne, notamment développé par Épictète. Elle distingue entre ce qui est en notre pouvoir et ce qui ne l'est pas. Selon les Stoïciens, seules nos propres actions, nos jugements et nos choix (notamment comment nous répondons aux impressions externes) sont sous notre contrôle. Tout le reste — y compris la richesse, la santé, ou l'opinion des autres — est considéré comme étant en dehors de notre pouvoir et, par conséquent, ne devrait pas influencer notre tranquillité d'esprit.

Le concept est central dans les enseignements d'Épictète, qui insiste sur l'importance de se concentrer uniquement sur ce qui dépend de nous, afin de mener une vie vertueuse et en accord avec la nature. Cette approche est explorée dans ses "Entretiens" et d'autres textes stoïciens, et constitue une base de la pratique stoïcienne pour atteindre la paix intérieure et la résilience face aux événements extérieurs.

-- from ChatGPT

Journal du dimanche 08 septembre 2024 à 10:18 #POC, #rrweb, #SvelteKit

J'ai envie d'essayer de créer un "mini" service de session recording, basé sur rrweb, SvelteKit et KeyDB ou DragonflyDB.
Je pense que ce projet pourrait être minimaliste 🤔.

-- from

J'ai publié https://github.com/stephane-klein/gibbon-replay (gibbon-replay).

J'ai passé 2h sur ce projet.

Idée d'un outil de session recoding web minimaliste basé sur rrweb #Idée, #rrweb, #POC

Plus le temps passe, et plus le nombre de services présents dans les docker-compose.yaml de OpenReplay et Posthog augmente.

Je trouve ces services de plus en plus pénible à self hosted pour de petits besoins de session recording.

J'ai envie d'essayer de créer un "mini" service de session recording, basé sur rrweb, SvelteKit et KeyDB ou DragonflyDB.
Je pense que ce projet pourrait être minimaliste 🤔.


2024-09-14 : j'ai nommé ce projet gibbon-replay.

Journal du samedi 07 septembre 2024 à 21:44 #JaiLu, #JaiDécouvert

#JaiLu ce thread Hacker News : Rrweb – record and replay debugger for the web.

#JaiDécouvert highlight.io, replay.io, Zipy et wirequery qui semblent être des alternatives à Posthog et OpenReplay.

Tous ces outils sont basés sur rrweb.

wirequery semble être un projet 100% open source.

#JaiDécouvert un autre projet basé sur rrweb : RecordOnce pour générer des tutoriels.

Journal du samedi 07 septembre 2024 à 19:32 #DevOps, #admin-sys, #JeMeDemande, #JaiPublié

#JeMeDemande souvent comment nommer la méthode permettant d'installer des applications de manière scriptée.

Lorsque je recherche cette fonctionnalité, j'utilise généralement les mots-clés : "headless", "script", "cli".

Je constate que la roadmap de Proxmox utilise le terme « automated and unattended installation » :

Support for automated and unattended installation of Proxmox VE.

-- from

#JaiPublié cette question dans la section discussion du projet Plausible : Plausible automated and unattended installation support (create user and web site by script) · plausible/analytics.

Journal du samedi 07 septembre 2024 à 11:53 #WebDev, #JaiDécouvert

#JaiDécouvert le package goatcounter-js pour directement charger le code JavaScript de Goatcounter. Ce qui, je pense, permet d'éviter le blocage de chargement de ce script par uBlock Origin.

Journal du vendredi 06 septembre 2024 à 17:05 #css, #SvelteKit, #skleinxyz

J'ai fait quelques recherches pour identifier quelle est la "meilleure" méthode pour implémenter un "Theme Switcher" pour un projet SvelteKit SSR.

J'ai trouvé cet article pertinent : How to implement a cookie-based dark mode toggle in SvelteKit.

En particulier, cette partie :

One might save the preference in the browser's local storage. With every page visit, we check with it if a theme is saved. This works well, but it will cause the website to flash because it takes some time to download and execute the JavaScript.

et un peu plus loin dans l'article :

After publishing this post, I was made aware that we can make the localStorage solution work also without flashing. Then we do not need any server-side logic and can also work with prerendered pages (such as a blog). In fact, the initial theme can be retrieved (via a media query or a localStorage value if it exists) in a script tag which is directly put into the body element of the app.html.

Voici une mise en pratique dans cet exemple : https://github.com/ScriptRaccoon/sveltekit-darkmode-toggler-localstorage/.

J'ai utilisé cette technique pour https://sklein.xyz.

Journal du vendredi 06 septembre 2024 à 10:10 #kernel, #linux, #rust, #JaiLu

#JaiLu Is Linux collapsing under its own weight? On Rust for Linux, j'ai trouvé cela très intéressant (from).

À la suite de cette lecture, j'ai lu ce thread Lobster : https://lobste.rs/s/yx57uf/is_linux_collapsing_under_its_own_weight.

J'ai lu Rust for Linux revisited de Drew DeVault, bien que n'étant pas un spécialiste du sujet, je trouve son idée intéressante.

Journal du jeudi 05 septembre 2024 à 13:18 #JaiLu, #security, #JaimeraisUnJour

J'ai un peu parcouru la documentation de OpenBao, #JaimeraisUnJour faire un POC de cet outil.

Journal du jeudi 05 septembre 2024 à 11:52 #security, #JaiLu, #JaiDécouvert

#JaiLu The SOC2 Starting Seven (from)

First: for us, SOC2 is about sales. You will run into people with other ideas of what SOC2 is about. Example: “SOC2 will help you get your security house in order and build a foundation for security engineering”. No. Go outside, turn around three times, and spit. Compliance is a byproduct of security engineering. Good security engineering has little to do with compliance. And SOC2 is not particularly good. So keep the concepts separate.

-- from

😉

Suite à cela, j'ai lu l'article Wikipédia sur System and Organization Controls.

This is not an instruction guide for getting SOC2-certified. Though: that guide would be mercifully short: “find $15,000, talk to your friends who have gotten certified, get referred to the credible auditor that treated your friends the best, and offer them the money, perhaps taped to the boom box playing Peter Gabriel you hold aloft outside their offices”.

-- from

😉

If there is one thing to understand about SOC2 audits, it’s: SOC2 is about documentation, not reality.

-- from

🙈

Puis ils vous remettront un questionnaire de 52 000 lignes appelé Liste de demandes d'informations (IRL), basé d'une manière occulte sur ce que vous leur avez dit que vous faisiez. Vous le remplirez. Vous aurez quelques réunions, puis vous leur enverrez un chèque. Le nom de votre entreprise figurera sur un rapport.

-- from

🙈

#JaiDécouvert Shibboleth.

PRs, Protected Branches, and CI/CD

Enable Protected Branches for your master/deployment branches in Github. Set up a CI system and run all your deploys through it. Require reviews for PRs that merge to production. Make your CI run some tests; it probably doesn’t much matter to your auditor which tests.

We probably didn’t even need to tell you this. It’s how most professional engineering shops already run. But if you’re a 3-person team, get it set up now and you won’t have to worry about it when your team sprawls and new process is a nightmare to establish.

-- from

J'implémente systématiquement ce workflow dès que je travaille en équipe. Cependant, je me demande à partir de combien de développeurs cela devient réellement pertinent. Avant de lire cet article, je pensais que cela valait la peine à partir de trois développeurs.
À noter que ma motivation première de mise en place de ce workflow n'est pas la sécurité, mais la fluidité de développement en équipe et d'éviter les bugs.

Centralized Logging

Sign up for or set up a centralized logging service. It doesn’t matter which. Pipe all your logs to it. Set up some alerts – again, at this stage, it doesn’t matter which; you just want to build up the muscle.

-- from

Pour cela, j'utilise Grafana avec Loki branché sur un Object Storage.

The AWS console is evil. Avoid the AWS console.

Instead, deploy everything with Terraform (or whatever the cool kids are using, but it’s probably still just Terraform). Obviously, keep your Terraform configs in Github.

C'est aussi l'une de mes premières motivations pour utiliser Terraform ! 😊

#JaiDécouvert Munki, MicroDMD, NanoMDM qui sont des MDM.

Web Application Firewalls: Most SOC2’d firms don’t use them, and most WAFs don’t work at all.

-- from

🙂

Endpoint Protection and AV: You have MDM and macOS/Windows full complement of security features and a way to force them enabled, you’re covered. AV software is a nightmare; avoid it while you can.

-- from

🙂

Journal du jeudi 05 septembre 2024 à 10:37 #data-analytics, #llm, #JaiDécouvert

#JaiDécouvert Laminar (from)

« Laminar - Open-Source observability, analytics, evals and prompt chains for complex LLM apps. ».

Premier post de l'auteur à ce sujet sur hackers : Laminar – fast Rust backend and monitoring for AI applications

Journal du mercredi 04 septembre 2024 à 08:30

Le 2024-02-15_1100 j'avais découvert Freenginx.

Je viens de prendre un peu de temps à étudier comment le projet a évolué.

De nouvelle version sont sorties :

Si je compare avec nginx (canal historique), je constate que Freenginx a des versions en avance.
Par contre, pour le moment, je n'ai aucune idée si les versions contiennent les mêmes corrections de bug et les mêmes feature.

Journal du mardi 03 septembre 2024 à 13:26 #coding, #SvelteKit, #svelte, #WebDev

Je viens de vérifier, il n'est toujours pas possible d'utiliser des slot nommés dans les layout SvelteKit : Treat layout pages like components when using named slots.

Journal du lundi 02 septembre 2024 à 15:31 #vocabulaire, #JaiDécidé

J'utilise souvent le terme "rationale" pour donner une explication raissonnée d'une proposition.

Dans la description d'une issue, on trouve souvent une section intitulée "Motivation" et "Rationale", comme dans cette PEP : https://peps.python.org/pep-0625/

Pour être plus clair avec mes interlocuteurs moins familiers avec le vocabulaire des hackers, #JaiDécidé de remplacer « Rationale » par « raisons qui justifient cette proposition ».

Journal du lundi 02 septembre 2024 à 12:07

Je viens de découvrir une limite pénible à Discord : je souhaite poster mon Monthly Update, mais je suis limité à 2000 caractères. Je ne sais pas comment faire pour poster mon message 🤔.

Journal du lundi 02 septembre 2024 à 10:32 #vocabulaire, #idiosyncrasique, #JaiDécidé

Depuis janvier 2022, j'ai pris l'habitude de publier quotidiennement par écrit le contenu de mon Standup Meeting ou Daily Scrum.

Dans certaines situations, je publie ce message sans participer à un meeting synchrone.

En l'absence de réunion, l'appellation "standup meeting" ne semble pas appropriée. Je me pose la question de savoir comment nommer ce type de message, par exemple pour l'utiliser comme nom de channel.

Après quelques recherches sémantiques, #JaiDécidé d'utiliser les termes suivants :

Journal du dimanche 01 septembre 2024 à 21:55 #WebDev, #frontend, #font

J'ai perdu énormément de temps à essayer de passer de ce rendu :

à celui-ci :

De base, j'utilise font-variant-caps: small-caps.

Ensuite, j'ai essayé les paramètres suivants pour obtenir des "lining figures" :

font-variant-numeric: tabular-nums;
font-variant-numeric: oldstyle-nums;
font-variant-numeric: lining-nums;
font-feature-settings: "lnum";

Rien n'y faisait !

J'ai fini par trouver la solution !

J'utilisais le package @fontsource/source-serif-pro or, celui contient des fontes de caractères au format TrueType et non pas OpenType.

$ hexdump -C -n 32 node_modules/@fontsource/source-serif-pro/files/source-serif-pro-latin-200-italic.woff
00000000  77 4f 46 46 00 01 00 00  00 00 5f 4c 00 0e 00 00  |wOFF......_L....|

00 01 00 00 signifie que la fonte de caractères est au format TrueType.

J'ai ensuite installé le package source-serif et cette fois, les Fontes de caractères sont au format OpenType.

$ hexdump -C -n 32 node_modules/source-serif/WOFF2/OTF/SourceSerif4-BoldIt.otf.woff2
00000000  77 4f 46 32 4f 54 54 4f  00 01 47 bc 00 0d 00 00  |wOF2OTTO..G.....|

4f 54 54 4f signifie que la fonte de caractères est au format OpenType.

Avec une fonte de caractères au format OpenType la hauteur des chiffres en small-caps est alignée avec la taille des lettres.

Journal du dimanche 01 septembre 2024 à 17:50 #npm, #coding, #JaiDécouvert

#JaiDécouvert que des fontes de caractères sont distribuées directement via npm.

Par exemple, la police de caractères source-serif utilisé par gwern.net, sous licence SIL Open Font est disponible via ce package npm https://www.npmjs.com/package/source-serif.

En creusant un peu plus le sujet, #JaiDécouvert https://fontsource.org qui est le projet qui semble packager toutes ces polices de caractères sur npm.

Journal du dimanche 01 septembre 2024 à 11:28 #nutrition, #JaiDécouvert

Dans le podcast Les gens de + de 30 ANS devraient TOUS savoir ça avec Gregoire Gibault de Major Mouvement et Léa Pateras-Pescara j'ai découvert la fonction des collagènes.

Quand on est stressé, on perd du magnésium.

#JaiDécouvert le laboratoire français de compléments alimentaires nommé NHCO.

Journal du dimanche 01 septembre 2024 à 10:42 #llm, #JaiLu

Suite à des échanges avec Alexandre au sujet de la "position" et de l'usage de Ollama dans le domaine des LLM, j'ai pris un peu de temps pour essayer d'y voir plus clair.

#JaiLu ce thread Reddit : newbie confusion: LocalLM / AnythingLLM / llama.cpp / Lamafile / Ollama / openwebui All the same? : LocalLLM

Voici ma description d'Ollama. Ollama est un wrapper au-dessus de Llama.cpp afin de rendre son utilisation davantage User Friendly. Ollama est écrit en Golang.

D'après :

Supported backends

-- from

et la présence de Llama.cpp directement dans le code source de Ollama

Je comprends que pour le moment, Ollama supporte uniquement le backend Llama.cpp.

Conclusion : je pense qu'il est préférable d'utiliser Ollama plutôt que directement Llama.cpp.

Journal du samedi 31 août 2024 à 17:29 #OnMaPartagé, #CodeAssistant, #llm, #Inference

Alexandre m'a partagé Continue.

Continue is the leading open-source AI code assistant. You can connect any models and any context to build custom autocomplete and chat experiences inside VS Code and JetBrains

Je lis ici que ce projet peut être assimilé à avante.nvim ou llm.nvim.

Je constate qu'il est possible de connecter Continue à beaucoup de types de LLM : Model Providers.

D'autre part, chose intéressante, Continue permet d'intégrer facilement du contexte provenant de diverses sources, telles que :

Je me pose toujours la même question que le 27 août :

Cependant, une question me revient sans cesse à l'esprit en voyant ce genre d'outil utilisant les API d'AI Provider : est-ce que le coût d'utilisation de ce type de service ne risque pas d'être exorbitant ? 🤔 Je sais bien que ces AI Provider permettent de définir un plafond de dépenses, ce qui est rassurant. La meilleure approche serait donc de tester l'outil et d'évaluer les coûts mensuels pour voir s'ils restent raisonnables.

Journal du samedi 31 août 2024 à 17:26 #OnMaPartagé

Alexandre m'a partagé README-AI :

README file generator, powered by large language model APIs 👾.

Je trouve cela assez fun, bien que je ne suis pas sûr d'en avoir l'usage 🤔.

Journal du vendredi 30 août 2024 à 15:24 #obsidian, #JaiDécouvert

#JaiDécouvert et je viens de tester le plugin Obsidian https://github.com/czottmann/obsidian-blockquote-levels. Je suis content, cela fait plusieurs mois que j'étais frustré de ne pas pouvoir indenter des "blockquote" sur plusieurs niveaux !

This plugin for Obsidian adds commands for increasing/decreasing the blockquote level of the current line or selection(s).

Journal du jeudi 29 août 2024 à 13:23 #iteration, #projet

Voici les nouveautés depuis ma dernière itération du Projet 11 - "Première version d'un moteur web PKM".

Ce commit contient le résultat du travail du Projet 13, c'est-à-dire le refactoring de PostgreSQL vers Elasticsearch ainsi que la page /src/routes/search qui permet à la fois d'effectuer une recherche sur le contenu des notes et un filtrage de type and sur les tags.

Une démo est visible ici https://notes.develop.sklein.xyz/

Ma Developer eXperience avec Elasticsearch est excellente. J'ai trouvé toutes les fonctionnalités dont j'avais besoin.

Je pense que mon utilisation des Fleeting Note n'est pas la bonne. Je pense que les notes que je qualifie de Fleeting Note sont en réalité des Diary notes ou Journal notes.

J'ai donc décidé de :

  • [x] Renommer partout fleeting_note en journal_notes

Après implémentation, j'ai réalisé que j'ai fait l'erreur de mélanger l'implémentation de le page qui affiche la liste des notes antéchronologiques et la page de recherche.

Pour être efficace, le résultat de la page recherche doit être affiché en fonction du scoring de la recherche, alors que les pages listes de notes par date de publication.

J'ai donc décidé de :

  • [x] Implémenter une page /diaries/ (pour la cohérence des path en anglais, je préfère "diaries" à "journaux") qui affiche une liste de notes de type Diary notes ;
    • [x] Cette page doit permettre un filtrage par tags
  • [x] Implémenter une page /notes/ qui affiche une liste des notes qui ne sont pas de type Diary notes, comme des Evergreen Note, Hub note
    • [x] Contrairement à la page liste des Diary notes, cette page de liste ne doit pas afficher le contenu des notes, mais seulement le titre des notes ;
    • [x] Je propose de classer ces titres de notes par ordre alphabétique ;
    • [x] Je propose aussi de séparer ces notes par lettre, A, B… c'est-à-dire un index alphabétique.
    • [x] Cette page doit permettre un filtrage par tags
  • [x] Refactoring la page /search/ pour ordonner le résultat de la recherche par scoring.
    • [x] Cette page doit afficher le contenu des notes avec highligthing ;
    • [x] Cette page doit permettre un filtrage sur les types de notes, pour le moment Diary notes et Evergreen Note.
    • [x] Cette page doit permettre un filtrage par tags

Au moment où j'écris ces lignes, je ne sais pas encore comment je vais gérer les opérateurs or, (.

Pour le moment, le filtrage multi tags est effectué avec des and.

Journal du mercredi 28 août 2024 à 11:31 #prometheus, #DevOps, #monitoring, #grafana, #DomainName, #JaiDécouvert

Je cherche depuis plusieurs années une solution pour surveiller la date d'expiration des noms de domaine en analysant le contenu de Whois.

#JaiDécouvert cet exporter Prometheus qui correspond exactement à mon besoin : https://github.com/shift/domain_exporter

En examinant l'historique du projet, je constate qu'il a été lancé en 2017. Il me semble pourtant avoir recherché ce type d'exporter en 2019 sans le trouver. Peut-être n'était-il pas encore assez mature à ce moment-là 🤔.

J'ai identifié aussi les projets suivants :

Pour le moment, je n'ai pas encore trouvé de dashboards Grafana pour cet exporter.

Journal du mercredi 28 août 2024 à 09:46 #css, #tailwindcss, #coding, #Web, #JaiLu, #JaiDécouvert

#JaiLu la documentation de UnoCSS.

Tailwind CSS is a PostCSS plugin, while UnoCSS is an isomorphic engine with a collection of first-class integrations with build tools (including a PostCSS plugin). This means UnoCSS can be much more flexible to be used in different places (for example, CDN Runtime, which generates CSS on the fly) and have deep integrations with build tools to provide better HMR, performance, and developer experience (for example, the Inspector).

-- Why UnoCSS?

Si je souhaite utiliser UnoCSS tout en conservant une compatibilité Tailwind CSS je dois utiliser Uno preset :

This preset is compatible with Tailwind CSS and Windi CSS, you can refer to their documentation for detailed usage.

#JaiDécouvert les features innovantes de UnoCSS :

<button
  bg="blue-400 hover:blue-500 dark:blue-500 dark:hover:blue-600"
  text="sm white"
  font="mono light"
  p="y-2 x-4"
  border="2 rounded blue-200"
>
  Button
</button>

Est l'équivalent de :

<button class="bg-blue-400 hover:bg-blue-500 text-sm text-white font-mono font-light py-2 px-4 rounded border-2 border-blue-200 dark:bg-blue-500 dark:hover:bg-blue-600">
  Button
</button>
<text-red> red text </text-red>
<flex> flexbox </flex>
I'm feeling <i-line-md-emoji-grin /> today!

Est l'équivalent de :

<span class="text-red"> red text </span>
<div class="flex"> flexbox </div>
I'm feeling <span class="i-line-md-emoji-grin"></span> today!

Je trouve ces syntaxes élégantes, mais, à ma connaissance, elles sont très peu courantes. Si je me mets à la place d'un développeur "onbordé" dans un nouveau projet utilisant le "attributify mode" et Tagify mode, je crains que cela puisse être un choc pour lui. Il me faudrait probablement plusieurs semaines avant que mon cerveau s'habitue à interpréter automatiquement cette syntaxe.

Je me demande donc si le gain final est réellement positif ou négatif.

Pour le moment, j'ai décidé que n'utiliserait pas les fonctionnalités "attributify mode" et Tagify mode.

Journal du mardi 27 août 2024 à 15:02 #Idée, #JeMeDemande

Au cours des 12 derniers mois, j'ai été confronté à la nécessité de compléter de nombreux dossiers administratifs complexes, chacun comprenant un grand nombre de documents. Voici quelques exemples concrets :

  • J'ai dû rassembler et transmettre à mon courtier immobilier un dossier complet de 70 fichiers pour l'achat de mon logement, une opération impliquant quatre acteurs : le courtier, la banque, ma compagne et moi-même.
  • J'ai constitué et envoyé un dossier à un diagnosticien pour obtenir un certificat de Diagnostic de performance énergétique
  • J'ai préparé et soumis un dossier pour une assurance de prêt immobilier.
  • Dans le cadre de mes fonctions de président d'association :
    • J'ai demandé à des futurs employés de compléter un dossier d'embauche.
    • J'ai rédigé trois dossiers distincts pour effectuer trois demandes de subventions différentes.
    • J'ai constitué et transmis un dossier destiné au Commissaire aux comptes.
  • Demande de dossier pour l'entrée d'un locataire de logement.

Méthodes utilisées pour constituer et transmettre ces dossiers :

  • Partage via Google Drive ;
  • Envoi par email ;
  • Utilisation de plateformes en ligne proposées par certaines structures, comme la mairie ou le conseil départemental, pour l'upload des documents.

Difficultés rencontrées :

  • Identifier précisément les documents à fournir, avec un manque d'exemples ou de spécimens pour référence.
  • Gestion du workflow de validation des pièces.
  • Difficultés de nommage et d'identification des documents.
  • Problèmes de versionning des documents.
  • Difficile d'avoir une vue d'ensemble des documents manquants.
  • Suivi de la progression difficile.
  • Pas de statut clair si un document est validé ou non.
  • Méthode de notification de mise à jour de document imprécis.
  • Complexité accrue lorsque plusieurs personnes participent à la constitution d'un dossier.
  • Limites de taille pour certains documents.
  • Choix de la plateforme d'échange : certaines personnes refusent d'utiliser certains outils.
  • Conformité avec le RGPD.

Fort de cette expérience et des difficultés rencontrées, je m'interroge sur la possibilité de créer une application web capable de simplifier la constitution de dossiers.

Voici l'idée que j'envisage.

Souvent, un email ou un fichier PDF détaille les pièces nécessaires à la constitution d'un dossier.

Je propose de remplacer ou de compléter ces documents par une page web interactive. Cette page web intégrerait la documentation nécessaire ainsi que les emplacements pour uploader les documents requis.

L'objectif pour l'utilisateur chargé de rassembler les documents est de combler les "trous" : si un trou est visible, cela signifie qu'un document est manquant.

Les PDF seraient transformés en images miniatures, cliquables pour un aperçu en zoom, ce qui est bien plus pratique que d'ouvrir un PDF entier pour le consulter.

Dans ce croquis, j'ai tenté de représenter en bas à droite un composant d'interface permettant de savoir si une pièce est validée ou refusée (ce n'est qu'une première ébauche de cette fonctionnalité).

J'imagine également un espace dédié à la consultation des dernières activités effectuées sur le dossier.

L'interface utilisateur varierait légèrement en fonction du type d'utilisateur et de son rôle dans le processus. Par exemple, un courtier pourrait rapidement voir les pièces qu'il doit valider.

Je prévois aussi la possibilité de visualiser un spécimen du document, ainsi qu'un système de commentaires attachés à un document ou à un groupe de documents, permettant de comprendre facilement à quel document une remarque fait référence.

Je pense que tant la personne qui constitue le dossier que celle qui en demande la complétion pourraient devenir prescripteurs du service. Idéalement, c'est le demandeur des documents qui devrait être le prescripteur, car cela lui permettrait de configurer et documenter en amont un template de dossier. Ce template pourrait ensuite être réutilisé à volonté.

J'imagine également que le service pourrait envoyer un SMS contenant un message tel que « John Doe vous demande les documents suivants …url… » ou « Alice vous a envoyé les documents suivants …url… ».

Cela pourrait remplacer des solutions comme WeTransfer, Dropbox ou Google Drive.

Cette grande page web permettrait d'organiser et d'identifier clairement tous les documents, évitant ainsi de devoir gérer un amas de fichiers aux noms pas toujours explicites.

Si un utilisateur a un compte sur la plateforme, il pourrait très bien garder de coté des pièces très souvent demandé, comme sa carte d'identité par exemple.

Il serait également possible d'intégrer une fonctionnalité de chiffrement symétrique côté browser, pour assurer la confidentialité des documents (voir [référence 2024-08-27_1406]).

Une autre idée serait de proposer des templates préconfigurés :

  • Template standard pour une demande de location ;
  • Template standard pour une demande de prêt ;
  • Template standard pour un Diagnostic de Performance Énergétique (DPE).

De plus, si un utilisateur dispose d'un compte sur la plateforme, il pourrait conserver des documents fréquemment demandés, comme sa carte d'identité, pour les réutiliser facilement.

Idéalement, ce service serait distribué sous une licence de type fair source.

Pour l’implémentation, la première étape consisterait à configurer un template initial codé en dur, par exemple, un dossier de demande de location.

Ensuite, implémenter le système de gestion des documents manquants ("trous") avec un rendu des PDF sous forme d’images.

Ah… j'ai oublié quelque chose d'important ! #JeMeDemande si ce type de produit existe déjà !

Deux options s'offrent à moi : soit je me lance pour le plaisir et développe une première version de cette application, soit je prends les choses plus au sérieux et réalise une étude de marché 🤔.

Mon premier beta testeur pourrait être mon ami courtier en prêt immobilier.

Journal du mardi 27 août 2024 à 14:30 #JaimeraisUnJour, #Idée

Quelques mots au sujet de kamal. Encore une fois, une oeuvre de David Heinemeier Hansson (DHH de Basecamp) ❤️.

https://kamal-deploy.org/

J'aime beaucoup la doctrine de DHH et c'est tout naturellement que kamal me plait.

Cependant, un bémol : je commence à me lasser des projets d'outillage développés en Ruby. Cette approche me semble un peu dépassée. À mon avis, Golang est bien mieux adapté pour ce type d'outil, ne serait-ce que parce qu'un outil développé en Golang peut être distribué sous la forme d'un simple binaire.

#JaimeraisUnJour créer un clone de kamal en Golang. Peut-être que je l'appellerai "Gamal" 🤔. #Idée

[ << Page précédente (500) ] | [ Page suivante (2792) >> ]