
Cliquez sur un tag pour affiner votre recherche :
[ << Page précédente (1550) ] [ Page suivante (1933) >> ]
Projet 5 - "Importation d'un vault Obsidian vers Apache Age"
Date de la création de cette note : 2024-05-02.
Quel est l'objectif de ce projet ?
Je souhaite essayer d'implémenter un script d’importation d’un vault Obsidian vers la Base de données Graph Apache Age, avec importation des tags, alias.
Pourquoi je souhaite réaliser ce projet ?
Pour progresser en Cypher. À cause de 2024-04-30_1704.
Repository de ce projet :
https://github.com/stephane-klein/obsidian-vault-to-apache-age-poc/
Plus d'informations sur ce projet :
Projet 4 - "Je souhaite apprendre les bases d'utilisation de Apache Age"
Date de la création de cette note : 2024-05-02
J'ai commencé ce projet le 20 avril 2024
Quel est l'objectif de ce projet ?
Je souhaite dans un premier temps être capable de reproduire ce que j'avais fait dans le projet neo4j-playground
et peut être même ensuite d'aller un peu plus loin dans mon apprentissage du langage de Query Cypher.
Pourquoi je souhaite réaliser ce projet ?
J'ai envie d'ajouter à ma stack de compétence, un moteur de base de données orienté Graph. Idéalement, j'aimerais que ça soit Apache Age parce que c'est un projet libre et basé sur PostgreSQL. Cela me permettrait de facilement coupler les avantages d'une base de données relationnel avec une base de données Graph.
Repository de ce projet :
https://github.com/stephane-klein/apache-age-playground
Idées après ce projet :
Si j'arrive à terminer ce projet, j'ai les idées suivantes :
- Écrire un script d'importation d'un vault Obsidian vers Apache Age, avec importation des tags, alias. => voir Projet 5
- Écrire des scripts de benchmark pour comparer PostgreSQL vs Apache Age sur les aspects suivants : vitesse de lecture, vitesse d'écriture et espace disque consommé.
Projet 2 - "Réaliser un petit projet basé sur NextJS pour le comparer avec SvelteKit"
Date de la création de cette note : mardi 30 avril 2024.
Quel est l'objectif de ce projet ?
Ce projet remplace l'issue Étudier la version 12 de NextJS que j'ai créé en mars 2023.
Contexte : J'utilise SvelteKit depuis avril 2022, j'apprécie très fortement l'élégence de toutes les fonctionnalités de routing de SvelteKit.
Mon objectif est de créer un projet de type #POC pour apprendre les bases de NextJS et de comparer ce framework avec SvelteKit.
Artefacts à produire :
- Un repository GitHub qui contient le projet de type POC que j'aurais réaliser pour apprendre à utiliser NextJS
- Une note d'opinion qui présente ma comparaison entre SvelteKit et NextJS
Objectif secondaire de ce projet:
Je pense pas dire de bétise, en déclarant qu'en 2024 ReactJS est plus populaire que VueJS et Svelte, par conséquent, je pense que maitriser Nuxt me sera utile à l'avenir, par exemple pour des projets en freelance.
Je souhaite ajouter Nuxt sur mon CV.
Repository de ce projet :
Aucun pour le moment.
Ressources :
- Voir les notes que j'ai prise dans l'issue Étudier la version 12 de NextJS
Date de la création de cette note : 6 décembre 2024.
Quel est l'objectif de ce projet ?
En décembre 2017, convaincu par les avantages du modèle Monorepo, j'ai effectué un véritable changement de paradigme en abandonnant le modèle Multirepos.
Depuis, je n'ai eu aucun regret. J'utilise le modèle Monorepo dans tous mes projets, car il simplifie énormément la plutpart des workflow, notamment l'onboarding, grâce à des kits de développement simplifiés.
Cependant, le modèle Multirepos est très populaire, je le rencontre partout où j'interviens.
Cela me perturbe beaucoup, car je constate à chaque fois que ce modèle complique tout. L'onboarding, le flux de travail, de déploiement, la documentation…
L'objectif de ce projet est de documenter une méthode et des outils qui me permettent de maintenir en douceur, sans rien imposer, un monorepo qui contient un development kit de qualité, agréable à utiliser.
Je souhaite pouvoir travailler dans ce monorepo tout en envoyant mon travail dans des branches sur les multi repositories d'origine.
Je souhaite aussi pouvoir pull les changements des multi repositories vers mon monorepo.
Ces deux user stories me permettront d'améliorer le monorepo sans modifier le workflow de développement des autres membres de l'équipe.
Une fois le kit de développement du monorepo opérationnel, je pourrai présenter ce projet à l'équipe pour leur en montrer le fonctionnement, les avantages, ainsi que sa simplicité d'utilisation et d'onboarding.
Au final, il reviendra à l'équipe de décider si elle souhaite adopter ce paradigme ou non.
Repository de ce projet :
Ressources :
Projet 18 - "Créer un skeleton pour l'anonymisation des dumps de bases de données PostgreSQL"
Date de la création de cette note : 6 décembre 2024 .
Quel est l'objectif de ce projet ?
Réaliser un repository de type skeleton, qui contient un workflow permettant de générer et de mettre à disposition des développeurs des versions anonymisées des bases de données PostgreSQL de production, contenant des Personally Identifiable Information (PII).
Ce skeleton aura pour vocation d'être intégré dans des kits de développement.
Pourquoi je souhaite réaliser ce projet ?
Je rencontre réglulièment la problématique de mise à disponsition de dump de base de données de production, dans des environnements de développement des projets sur lesquels je travaille.
On m'a demandé plusieurs fois quel solution mettre en place pour anonymiser et partager une base de données de production.
Repository de ce projet :
anonymous-postgresql-devkit-skeleton
Ressources :
Projet 17 - Créer un POC de création d'une app smartphone avec Capacitor
Date de création de cette note : 2024-11-18.
Quel est l'objectif de ce projet ?
Je souhaite apprendre à créer une app smartphone avec Capacitor.
Idéalement, suivre la documentation "Using Capacitor in a Web Project" pour transformer l'app PWA créée dans Projet 16 - Créer un POC d'application PWA en application smartphone.
Capacitor fully supports traditional web and Progressive Web Apps. In fact, using Capacitor makes it easy to ship a PWA version of your iOS and Android app store apps with minimal work.
-- from
Todo :
- [x] Setup un projet Capacitor
- [x] Documenter comment configurer l'icône de l'application (voir 2024-12-27_1123)
- [x] Documenter comment configurer l'image de splash-screen (voir 2024-12-27_1123)
- [x] Étudier @capacitor/app-launcher
- [x] Setup une webview dans l'app, via
@capacitor/inappbrowser
- [x] Documenter la configuration de Deep Linking with Universal and App Links
- [ ] Jouer du contenu audio en background (peut-être basé sur
capacitor-native-audio
) - [ ] Étudier @capacitor/local-notifications
- [ ] Étudier @capacitor/push-notifications
- [ ] Tester l'envoi de notifications avec Firebase Cloud Messaging
- [ ] Tester l'envoi de notifications avec OneSignal
- [ ] Tester l'envoi de notifications avec Gotify
- [ ] Étudier
@capacitor/status-bar
- [ ] Modifier la couleur de fond de la "status-bar"
- [x] Essayer d'utiliser l'offre Apple Mac mini M1 de Scaleway pour builder l'app pour iOS
- [ ] À la fin, rédiger une note de comparaison de Capacitor versus PWABuilder.
- [ ] Déployer une version de l'app sur Google Play Store en privé, pour tester
- [ ] Déployer une version de l'app sur iOS App Store en privé, pour tester
Repository de ce projet :
Projet 16 - Créer un POC d'application PWA
Date de création de cette note : 2024-11-18.
Quel est l'objectif de ce projet ?
Je souhaite apprendre à créer des applications web de type Progressive Web Apps (PWA).
J'ai déjà une certaine culture dans ce domaine, mais je n'ai jamais créé d'application de ce type.
Voici les éléments que je souhaite apprendre / tester dans ce POC :
- [ ] Accélérer le chargement d'une app web qui a déjà été visitée (configurer correctement la gestion du cache)
- [ ] Rendre l'app web installable
- [ ] Define your app icons
- [ ] Display a badge on the app icon
- [ ] Essayer de publier l'app sur (basé sur PWABuilder)
- [ ] Google Play Store
- [ ] iOS App Store
- [ ] Implémenter l'envoie de notification via un worker
- [ ] L'application doit être accessible même offline.
Si possible, j'aimerais implémenter ce POC avec SvelteKit.
Idéalement, j'aimerais intégrer le travail de "Projet GH-339 - Implémenter un POC de Automerge" dans un PWA.
Ressources :
Projet 15 - Installation et configuration de OpenWrt sur Xiaomi Mi Router 4A Gigabit
Date de création de cette note : 2024-11-09.
Quel est l'objectif de ce projet ?
Je souhaite installer OpenWrt sur Xiaomi Mi Router 4A Gigabit Edition.
Ressources :
Projet 14 - Script de base d'installation d'un serveur Ubuntu LTS
Date de création de cette note : 2024-10-11.
Quel est l'objectif de ce projet ?
Je souhaite implémenter et publier un projet de "référence", de type skeleton, dont la fonction est d'installer les éléments de base d'un serveur Ubuntu LTS sécurisé.
Comme point de départ, je peux utiliser mon repository poc-bash-ssh-docker-deployement-example
et le faire évoluer.
Le script _install_basic_server_configuration.sh
se contente d'installer Docker.
J'aimerais y intégrer les recommandations présentes dans l'excellent article "Securing A Linux Server".
J'aimerais, entre autres, ajouter les fonctionnalités suivantes :
- [x] Amélioration de la configuration de OpenSSH ;
- [x] Installation et configuration de ufw ;
- [x] Mise en place de ipsum ;
- [x] Installation et configuration de fail2ban ;
- [x] Système d'installation / suppression de clés ssh ;
- [x] En option : installation et configuration de node exporter ;
- [x] En option : installation et configuration de l'envoi des logs de journald et Docker vers Loki en utilisatant Promtail (
installation et configuration de l'envoi des logs de journald vers Loki en utilisant Vector) ; - [x] En option : installation de configuration de Grafana ; avec Grizzly configuration des dashboards
- [x] des logs et
- [x] metrics des serveurs
- [x] En option : installer et configurer apticron pour envoyer un message dans les logs dès qu'un package de sécurité doit être installé.
- [x] Génération d'une alerte Grafana si une mise à jour de sécurité doit être installé
- [x] En option : envoie de notification sur smartphone en cas d'alerte Grafana, via ntfy
- [ ] En option : installation et configuration de Linux Audit ;
Le repository doit présenter cette installation :
- [x] via Vagrant
- [ ] sur un Virtual machine Scaleway avec Terraform
Repository de ce projet :
Ressources :
Projet 13 - "POC Elasticsearch sur un PKM"
Date de la création de cette note : 2024-08-17 .
Quel est l'objectif de ce projet ?
Suite à :
Contenu de ce constat, je vais peut-être redonner une chance à Elasticsearch malgré mon aversion pour la JVM 🤔. -- from
et dans le cadre de Projet 11 - "Première version d'un moteur web PKM", je souhaite réaliser une alternative à obsidian-vault-to-pg_search
et obsidian-vault-to-typesense
basé sur Elasticsearch.
Tâches :
- [x] Setup une instance Elasticsearch avec Docker
- [x] Utiliser la méthode Explicit mapping
- [x] Importer le contenu en version html dans ElasticSearch
- [x] Implémenté le support de Highlighting Text That Contains HTML Tags sur le contenu Markdown converti en HTML ;
- [x] Setup Language analyzers français
- [x] Setup Stop analyzer
- [x] Setup un Tokenizer reference
- [x] Setup Stemmer token filter français
- [x] Setup HTML strip character filter
- [ ] Implémenter les facets sur :
- [ ] Date de publication
- [x] Tags
- [ ] Type de note
- [x] Support de la pagination
- [x] Effectuer des recherches basées sur Query string query
- [ ] Benchmarker la vitesse de démarrage de Elasticsearch
- [ ] Benchmarker la consommation de RAM
- [ ] Benchmarker la vitesse de réponse des query
Repository de ce projet :
Ressources :
Projet 12 - "Implémentation nodemailer-scaleway-transport"
Date de la création de cette note : 2024-07-30.
Quel est l'objectif de ce projet ?
Implémenter et publier un plugin Nodemailer de transport pour l'API HTTP Transactional Email de Scaleway.
Pourquoi je souhaite réaliser ce projet ?
Les ports SMTP des instances computes de Scaleway sont par défaut fermés. Pour contourner cette contrainte, il est nécessaire d'effectuer une demande au support pour les ouvrir.
Partant de ce constat, #JaiDécidé d'utiliser le protocole HTTP autant que possible pour envoyer des e-mails.
Problème : je n'ai pas trouvé de plugin de transport Nodemailer pour Scaleway, ce qui a motivé la création de ce projet.
Repository de ce projet :
https://github.com/stephane-klein/nodemailer-scaleway-transport (non publié au moment de la rédaction de cette note)
Ressources :
Projet 11 - "Première version d'un moteur web PKM"
Date de la création de cette note : 2024-07-16.
Quel est l'objectif de ce projet ?
À partir des POC listés ci-dessous, je souhaite implémenter un moteur HTML de rendu de mon Personal knowledge management, que je nomme sklein-pkm-engine.
Celui-ci sera propulsé par SvelteKit.
Voir plus loin "Objectif détaillé".
Pourquoi je souhaite réaliser ce projet ?
Le 30 avril je disais :
Pour le moment, j'utilise Obsidian Quartz pour déployer https://notes.sklein.xyz.
Est-ce que j'en suis satisfait ? Pour le moment, la réponse est non, parce que je ne le maitrise pas assez.
J'ai une grande envie d'implémenter une version personnelle basée sur SvelteKit et Apache Age, mais j'essaie de ne pas tomber dans ce Yak!.
Via de multiples itérations, je souhaite transformer https://notes.sklein.xyz et https://sklein.xyz vers un site qui s'inspire de gwern.net, Andy's working notes et de Simon Willison - TIL.
Objectif détaillé de ce projet
Dans un premier temps, j'aimerais implémenter une page https://notes.sklein.xyz qui ressemble, par exemple, à la page https://simonwillison.net/2024/Jan/ de Simon Willison.
C'est-à-dire, une page infinie, qui rassemble mes Notes éphémères, avec un système de pagination.
Je souhaite que l'intégralité du contenu de chaque note soit rendue, séparée, par des <hr />
.
Pour chaque note, je souhaite, comme dans cet exemple, afficher l'heure et des tags de la note :
Je souhaite aussi séparer les notes par des dates.
La date et l'heure des notes sont définies dans le nom de fichier des notes (YYYY-mm-dd_HHMM.md
).
Je souhaite aussi implémenter les pages suivantes :
/{date}/
liste toutes les notes d'une journée ;/{note_filename}/
(sans.md
) affiche une seule note.
Toutes les notes sont classés à "plat", c'est-à-dire directement à la racine du site /{note_filename}/
(sans .md
).
Roadmap
- [x] Implémentation d'un script qui injecte des nanoid dans le frontmatter de toutes les notes ;
- [x] Implémentation d'un script qui injecte
type: fleeting_note
dans toutes les notes qui se trouvent dans le dossier/Notes éphémères/
; - [x] Implémentation d'un script qui injecte
type: evergreen_note
à toutes les notes sanstype
; - [x] Implémentation d'un script qui injecte
created_at: ISO 8601
sur les Fleeting Note ; - [x]
/{note_filename}/
(sans.md
) affiche une seule Fleeting Note ; - [ ]
/{date}/
liste toutes les Fleeting Note d'une journée ; - [x]
/
liste de toutes les Fleeting Note de la plus récente à la plus ancienne ; - [x] Afficher les Fleeting Note liées aux Evergreen Note en bas des Evergreen Note ;
- [ ] Afficher les backlink sur les Fleeting Note ;
- [ ] Afficher les backlink autre que Fleeting Note sur les pages Evergreen Note ;
- [x] Rendering des wikilink ;
- [x] Rendering des
#tags
; - [ ]
/tags/{tag_name}/
- [x]
/search/?tags=tagname
- [x] Support des fichiers binaires (image…)
- [ ] Rendering des Callouts ;
- [ ] Permettre de partager un permalien vers une note, basé sur un nanoid ;
- [ ] Sur la page
/
implémenter un moteur de recherche, qui permet :- [x] Recherche plain texte
- [x] Recherche à facettes sur les tags
- [x] Sur les types de notes
- [x] Activer l'attribue
loading="lazy"
sur les images ; - [x] Ajouter de la pagination sur
/
; - [x] Rendering markdown :
- [x] Rendering des simples liens;
- [x] Rendering des codes sources.
- [x] Affichage des tags derrière l'heure :
;
- [ ] Permettre de remplacer les tages du type
JaiDécouvert
parJ'ai découvert
pour simplifier la lecture. - [ ] Améliorer le rendu des listes de todo (voici à quoi cela ressemble actuellement Pasted image 20241001115211.png)
- [ ] Lors du clique sur "Réduire l'affichage de la note", j'aimerais que
Choses que je ne souhaite pas faire
Je souhaite publier quelque chose au plus tôt. Pour cela, dans la première itération, je ne souhaite pas consacrer trop de temps à la mise en forme. Cette première itération sera minimaliste dans son style.
Repository de ce projet :
https://github.com/stephane-klein/sklein-pkm-engine/
Ressources :
Projet 10 - "Mettre en oeuvre DotTXT AI"
Date de la création de cette note : 2024-07-07.
Quel est l'objectif de ce projet ?
Essayer de générer du contenu fictif d'un knowlege management system, créé par Obsidian, que j'aimerais utiliser pour le projet obsidian-vault-to-apache-age-poc
Pour réaliser ce projet, j'aimerais essayer de mettre en œuvre :
- Outlines et/ou DotTXT AI (mentionné dans la note du 2024-06-06_1047)
- Replicate.com
Pourquoi je souhaite réaliser ce projet ?
Pour le fun et pour essayer de comprendre Outlines et DotTXT AI (mentionné dans la note du 2024-06-06_1047).
Repository de ce projet :
Non déterminé pour le moment
Projet 1 - "CodeMirror, autocomplétion, Svelte"
Date de la création de cette note : lundi 29 avril 2024.
Quel est l'objectif de ce projet ?
Dans une application web frontend en Svelte, je souhaite essayer d'implémenter un éditeur texte markdown, avec un support d'autocomplétion. Je souhaite faire cela avec la librairie CodeMirror.
Pourquoi je souhaite réaliser ce projet ?
J'ai besoin d'implémenter une fonctionnalité d'autocomplétion dans l'application Value Props.
Repository de ce projet :
https://github.com/stephane-klein/svelte-codemirror-autocomplete-poc
Ressources :
- En août 2023, j'ai déjà setup CodeMirror dans un projet Svelte. Voici le code source de ce projet :
poc-svelte-prosemirror-markdown
et son issue.
Voici un screencast du résultat : https://youtu.be/IwrV7U5kDhU. - Documentation de la fonctionnalité d'autocomplétion de CodeMirror : https://codemirror.net/examples/autocompletion/
- Concealing syntax - v6 - discuss.CodeMirror
30 avril 2024
J' 'aimerais aussi essayer d'implémenter dans ce POC une fonctionnalité conceal comme celle de Neovim.
Article wiktionary anglais : https://en.wiktionary.org/wiki/IMHO
Autres articles :
Je pense que cet acronyme permet de placer des Marqueur de modestie épistémique.
Article wikipedia : https://en.wikipedia.org/wiki/Data_curation
Le #data-cleaning fait parti des opérations de #data-curation .
Article wikipedia https://en.wiktionary.org/wiki/brain_dump
Shiori peut jouer le rôle de Bookmark manager.
Auteurs : Ryan Singer de chez Basecamp.
The self-hosted search, analysis, and alerting server built for structured logs and traces.
Site officiel : https://datalust.co/seq
Site officiel : https://semver.org
Projet créé par Tom Preston-Werner.
Self-Appointed Board (modèle de prise de décision)
Modèle de process de prise de décision du type Conseil auto-nommé : https://communityrule.info/templates/self-appointed-board.html
Conseil auto-nommé
Un conseil qui choisit ses propres membres détermine les politiques et organise leur mise en œuvre.
- Valeurs : Délégation, méritocratie, leadership au service des autres
- Membres : Le conseil d'administration définit les politiques d'adhésion et de révocation.
- Conseil d'administration : Le conseil d'administration est chargé de prendre des décisions et de les mettre en œuvre, notamment en déléguant le travail nécessaire à d'autres personnes. Le conseil d'administration élit ses propres membres.
- Vote à la majorité : Le conseil d'administration prend ses décisions à la majorité.
-- from
SECURITY INVOKER
indicates that the function is to be executed with the privileges of the user that calls it. That is the default.SECURITY DEFINER
specifies that the function is to be executed with the privileges of the user that owns it. For information on how to writeSECURITY DEFINER
functions safely, see below.-- from
https://github.com/searxng/searxng
SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Voir ma note : Qu'est-ce qu'un "Script Helper" ?
Auteur : Lê Nguyên Hoang.
Chaine YouTube : https://www.youtube.com/@le_science4all
Dépôt GitHub qui contient des manuscripts de certaines épisodes de Science4All : https://github.com/lenhoanglnh/manuscripts
Article wikipedia : https://fr.wikipedia.org/wiki/Scaleway
https://www.scaleway.com/fr/object-storage/
Solution de Object Storage.
Service de stockage d'objets compatible S3 et Multi-AZ résilient, qui assure une haute disponibilité de vos données.
Alternative à Amazon S3.
Offre de Managed Inference Service de Scaleway.
Prix : https://www.scaleway.com/en/pricing/deployment/
Product page : https://www.scaleway.com/en/inference/
Changelog : https://www.scaleway.com/en/docs/changelog/?product=managed-inference
Article Wikipedia : https://fr.wikipedia.org/wiki/Savoirs_(revue)
Auteur de Community at Work.
Site personnel : https://samsapti.dev
Compte Mastodon : https://social.data.coop/@sam
Administrateur de l'instance SearXNG https://search.sapti.me.
Salvatore Sanfilippo est connu pour être le créateur de Redis.
- Site personnel : http://invece.org/
- Profil Hacker News : https://news.ycombinator.com/user?id=antirez