Recherche effectué dans :

Cliquez sur un tag pour affiner votre recherche :

[ << Page précédente (250) ] [ Page suivante (3011) >> ]

Journal du lundi 25 novembre 2024 à 10:34 #santé, #JaiDécouvert

Dans ce post Fediverse #JaiDécouvert :

  • doocteur.fr : pour faire une recherche sans tomber sur des sites comme doctissimo. Indispensable (beaucoup de résultats avec la revue médicale suisse, qui est très chouette) ;
  • compendium.ch pour se renseigner sur ses médicaments ;
  • theriaque.org (création de compte gratuit pour accéder à l'analyse) pour analyser les interactions entre tes médicaments ;
  • igorthiriez.com : des fiches sur la santé mentale (pathologies, tips, médicaments) ;
  • nofakemed.fr : pour savoir si le truc qui a bien marché sur ton voisin est du placebo ou pas.

Et aussi :

Qualiscope - Qualité des hôpitaux et des cliniques

sur le site Haute Autorité de Santé.

Journal du dimanche 24 novembre 2024 à 18:39 #OnMaPartagé

#OnMaPartagé le projet Speek, mais il n'a pas particulièrement retenu mon attention.

Journal du dimanche 24 novembre 2024 à 17:53 #Fediverse, #bluesky, #mastodon, #JaiDécouvert

J'ai lu "How decentralized is Bluesky really? (from)", écrit par Christine Lemmer-Webber, co-autrice de ActivityPub.

J'ai trouvé cet article précis, il explore de nombreuses thématiques avec objectivité.

J'ai retenu cette déclaration, que je vais sans doute retenir pour donner mon point de vue sur Bluesky :

In my opinion, this should actually be the way Bluesky brands itself, which I believe would be more honest: an open architecture (that's fair to say!) with the possibility of credible exit. This would be more accurate and reflect better what is provided to users.

-- from

« Une solution ouverte qui permet de quitter facilement Twitter dès maintenant ».

#JaiDécouvert Zooko's triangle.

Je suis une nouvelle fois tombé sur l'article "Petnames: A humane approach to secure, decentralized naming".

Journal du vendredi 22 novembre 2024 à 21:37 #hasura, #postgresql, #postgraphile, #graphql

Voici une stratégie pour contourner dans une certaine mesure la limitation Hasura que j'ai décrite dans la note 2024-11-22_1703.

Remplacer :

REVOKE ALL PRIVILEGES ON TABLE foobar FROM hasurauser;

CREATE FUNCTION myfunction() RETURNS SETOF foobar
LANGUAGE sql VOLATILE SECURITY DEFINER
AS $$
     SELECT * FROM foobar
$$;

par :

REVOKE ALL PRIVILEGES ON TABLE foobar FROM hasurauser;
GRANT SELECT ON TABLE foobar TO hasurauser;

ALTER TABLE foobar ENABLE ROW LEVEL SECURITY;

CREATE POLICY deny_untrusted_user ON foobar
FOR SELECT USING (current_user != 'hasurauser');

CREATE FUNCTION myfunction() RETURNS SETOF foobar
LANGUAGE sql VOLATILE SECURITY DEFINER
AS $$
     SELECT * FROM foobar
$$;

Journal du vendredi 22 novembre 2024 à 17:03 #opinion, #hasura, #postgraphile, #graphql

Je découvre une nouvelle limitation de Hasura par rapport à PostGraphile.

Hasura permet d'exécuter des fonctions PostgreSQL seulement si leur type de retour est une table. De plus, cette table doit être tracked par Hasura.

Return type: MUST be SETOF <table-name> OR <table-name> where <table-name> is already tracked.

Return type workaround: If the required SETOF table doesn't already exist or your function needs to return a custom type i.e. row set, you can create and track an empty table with the required schema to support the function.

-- from

D'autre part, Hasura doit avoir des permissions d'accès à cette table utilisée en retour de fonction.

Par exemple, Hasura ne supporte pas ce type de configuration :

REVOKE ALL PRIVILEGES ON TABLE foobar FROM hasurauser;

CREATE FUNCTION myfunction() RETURNS SETOF foobar
LANGUAGE sql VOLATILE SECURITY DEFINER
AS $$
     SELECT * FROM foobar
$$;

Cette limitation, parmi d'autres, renforce ma préférence pour PostGraphile plutôt que Hasura dans un contexte d'utilisation avec PostgreSQLPostGraphile supporte uniquement PostgreSQL.

Journal du jeudi 21 novembre 2024 à 17:36 #scaleway, #apple, #dev-kit, #iteration, #capacitor, #launch

Dans la note 2024-11-20_1102, je disais :

Prochaine étape du Projet 17 : Setup les iOS Requirements de Capacitor sur ce serveur Apple Silicon.

C'est chose faite 🙂.

Le repository poc-capacitor contient maintenant un script ./scripts/deploy-ios-requirements.sh qui permet d'exécuter ce script de provisioning sur le serveur Scaleway Apple Silicon distant : /provisioning/_ios.sh.

Ensuite, j'ai détaillé les étapes pour :

  • Uploader le projet sur le Scaleway Apple Silicon distant
  • Démarrer l'émulation d'un iPhone 15
  • Compiler et lancer l'application Capacitor dans l'émulateur iPhone 15
  • Et visualiser l'émulateur via VNC

Tout cela est détaillé ici : https://github.com/stephane-klein/poc-capacitor/tree/f109fb23dc612f486fad0d55ba939b4679841d06?tab=readme-ov-file#launch-application-on-ios

Je teste l'offre Scaleway Apple Silicon #scaleway, #apple, #dev-kit, #iteration

Dans le projet "Projet 17 - Créer un POC de création d'une app smartphone avec Capacitor" je disais :

Voici mon retour d'expérience d'utilisation de l'offre Scaleway Apple Silicon.

Voici la liste des images MacOS disponibles :

$ scw apple-silicon os list
ID                                    NAME                LABEL               IMAGE URL                                                                       FAMILY   IS BETA  VERSION  XCODE VERSION
59bf09f1-5584-469d-a0f6-55c8fee1ab81  macos-ventura-13.6  macOS Ventura 13.6  https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-ventura.png  Ventura  false    13.6     14
e08d1e5d-b4b9-402a-9f9a-97732d17e374  macos-sonoma-14.4   macOS Sonoma 14.4   https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-sonoma.png   Sonoma   false    14.4     15
7a8d85fb-781a-4212-8e47-240ec0c3d23f  macos-sequoia-15.0  macOS Sequoia 15.0  https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-sequoia.png  Sequoia  true     15.0     16

Voici la liste des types de serveurs disponibles dans la zone fr-par-3 :

$ SCW_DEFAULT_ZONE="fr-par-3" scw apple-silicon server-type list
Name  CPU                 Memory  Disk    Stock       Minimum Lease Duration
M1-M  Apple M1 (8 cores)  8.0 GB  256 GB  high stock  1 days

Et la liste dans la zone fr-par-1 :

$ SCW_DEFAULT_ZONE="fr-par-1" scw apple-silicon server-type list
Name  CPU                      Memory  Disk    Stock       Minimum Lease Duration
M2-M  Apple M2 (8 cores)       16 GB   256 GB  high stock  1 days
M2-L  Apple M2 Pro (10 cores)  16 GB   512 GB  high stock  1 days

Je souhaite installer un serveur de type M1-M à 0,11 € HT / heure, soit 2,64 € HT / jour, 80,3 € HT / mois.

Lors de ma première tentative, j'ai essayé de créer un serveur avec la commande suivante :

$ scw apple-silicon server create name=capacitor zone=fr-par-3 "$SCW_PROJECT_ID" M1-M 7a8d85fb-781a-4212-8e47-240ec0c3d23f
Invalid argument '46ad009f-xxxxxx': arg name must only contain lowercase letters, numbers or dashes

Suite à cette erreur, j'ai créé l'issue siuvante : Reduce"scw apple-silicon server create" helper message ambiguity.

$ scw apple-silicon server create name=capacitor project-id=${SCW_PROJECT_ID}  type=M1-M os-id=7a8d85fb-781a-4212-8e47-240ec0c3d23f zone=fr-par-3

Mais l'OS n'était pas trouvé, je me suis rendu compte que cette image OS n'était pas disponible dans la zone fr-par-3.

$ SCW_DEFAULT_ZONE="fr-par-3" scw apple-silicon os list
ID                                    NAME                LABEL               IMAGE URL                                                                       FAMILY   IS BETA  VERSION  XCODE VERSION
59bf09f1-5584-469d-a0f6-55c8fee1ab81  macos-ventura-13.6  macOS Ventura 13.6  https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-ventura.png  Ventura  false    13.6     14
e08d1e5d-b4b9-402a-9f9a-97732d17e374  macos-sonoma-14.4   macOS Sonoma 14.4   https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-sonoma.png   Sonoma   false    14.4     15

Voici finalement la commande de création de serveur qui a fonctionné avec succès :

$ scw apple-silicon server create name=capacitor project-id=$SCW_PROJECT_ID  type=M1-M os-id=e08d1e5d-b4b9-402a-9f9a-97732d17e374 zone=fr-par-3
ID              bb34d8ef-6305-4104-801c-1cf1b6b0f99f
Type            M1-M
Name            capacitor
ProjectID       46ad009f-xxxx
OrganizationID  215d7434-xxxx
IP              51.xxx.xxx.xxx
VncURL          vnc://m1:xxxx@51.xxx.xxx.121:5900
SSHUsername     m1
SudoPassword    xxxxxxx
Os              ID            e08d1e5d-b4b9-402a-9f9a-97732d17e374
Name          macos-sonoma-14.4
Label         macOS Sonoma 14.4
ImageURL      https://scw-apple-silicon.s3.fr-par.scw.cloud/scw-console/os/macos-sonoma.png
Family        Sonoma
IsBeta        false
Version       14.4
XcodeVersion  15

CompatibleServerTypes:
[M1-M M2-M M2-L]
Status             starting
CreatedAt          now
UpdatedAt          now
DeletableAt        23 hours from now
DeletionScheduled  false
Zone               fr-par-3

Voici le serveur créé :

$ scw apple-silicon server list
ID                                    TYPE  NAME       PROJECT ID
bb34d8ef-6305-xxxxx  M1-M  capacitor  46ad009f-54bc-4125-xxxxxx

Le serveur est passé en ready après environ 1min.

$ scw apple-silicon server get bb34d8ef-6305-xxxxxxx
...

CompatibleServerTypes:
[M1-M M2-M M2-L]
Status             ready
...
DeletableAt        23 hours from now
DeletionScheduled  false
...

Je peux me connecter directement en ssh au serveur :

$ ssh m1@xxx.xxx.xx.xxx
Last login: Wed Nov 20 16:22:10 2024
m1@bb34d8ef-6305-4104-801c-1cf1b6b0f99f ~ % uname -a
Darwin bb34d8ef-6305-4104-801c-1cf1b6b0f99f 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:41 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T8103 arm64

Je peux aussi me connecter au serveur via VNC (lien vers la documentation à ce sujet).

Installation des dépendances sous Fedora :

$ sudo dnf install -y remmina remmina-plugins-vnc

J'utilise le client VNC nommé Remmina.

$ remmina -c vnc://m1:xxxxx@51.xxxx.xxx.xxxx:5900

Les paramètres vnc et le mot de passe de l'user m1 sont disponibles dans la sortie de :

$ scw apple-silicon server get bb34d8ef-6305-xxxxxxx -o json
{
  "id": "bb34d8ef-6305-4104-xxxx-xxxxxxxxx",
  ...
  "vnc_url": "vnc://m1:xxxx@xxx.xxx.xxx.xxx:5900",
  "ssh_username": "m1",
  "sudo_password": "bTgkdiVUs7yT",
  ...
}

Il est possible de coller le mot de passe via la fonctionnalité « Envoyer le contenu du presse-papiers comme une saisie au clavier » de Remmina :

Attention, la réinstallation d'un serveur Apple Silicon prend au moins 45min.

J'ai implémenté des scritps de déploiement d'un Apple Silicon dans le POC : poc-capacitor.

Prochaine étape du Projet 17 : Setup les iOS Requirements de Capacitor sur ce serveur Apple Silicon.

Journal du mardi 19 novembre 2024 à 23:50 #capacitor, #Android, #mise, #dev-kit, #iteration

#iteration Projet 17 - Créer un POC de création d'une app smartphone avec Capacitor.


Dans la note 2024-11-19_1029, je disais :

Pour utiliser Capacitor, j'ai besoin d'installer certains éléments.

In order to develop Android applications using Capacitor, you will need two additional dependencies:

  • Android Studio
  • An Android SDK installation

Je me demande si Android Studio est optionnel ou non.

La réponse est non, Android Studio n'est pas nécessaire, ni pour compiler l'application, ni pour la lancer dans un émulateur Android. Android SDK est suffisant.

J'ai utilisé le plugin Mise https://github.com/Syquel/mise-android-sdk pour installer les "Android Requirements" de Capacitor. Les instructions détaillées pour Fedora sont listées dans le README.md du repository : https://github.com/stephane-klein/poc-capacitor/tree/4238e80f84a248fdb9e5bb86c10bea8b9f0fdade.

Installation de Android Studio sous Fedora #mémo, #mémento, #fedora, #iteration, #dev-kit

Dans le Projet 17 - Créer un POC de création d'une app smartphone avec Capacitor, il semble que j'ai besoin d'installer Android Studio.

J'ai exploré la méthode Asdf / Mise, mais j'ai rencontré des difficultés : 2024-11-19_1029 et 2024-11-19_1102.

J'ai ensuite constaté ici que RPM Fusion ne propose pas de package Android Studio. J'ai ensuite cherché sur Fedora COPR, mais j'ai trouvé uniquement de très vieux packages.

J'ai lu ici qu'Android Studio est disponible via Flatpak sur Flathub : https://flathub.org/apps/com.google.AndroidStudio. Je n'avais pas pensé à Flatpak 🙊.

Après réflexion, je trouve cela totalement logique que Android Studio soit distribué via Flatpak.

Voici le repository GitHub de ce package : https://github.com/flathub/com.google.AndroidStudio. Il semble être bien maintenu par Alessandro Scarozza « Senior Android Developer, Android Studio Flatpak Mantainer and old Debian Linux user ».

Le package contient la version 2024.2.1.11 d'Android Studio, j'ai vérifié, elle correspond bien à la dernière version disponible sur https://developer.android.com/studio.

Voici ce que donne l'installation :

$ flatpak install com.google.AndroidStudio
Looking for matches…
Remotes found with refs similar to ‘com.google.AndroidStudio’:

   1) ‘flathub’ (system)
   2) ‘flathub’ (user)

Which do you want to use (0 to abort)? [0-2]: 1

com.google.AndroidStudio permissions:
    ipc                   network       pulseaudio      ssh-auth      x11      devices      multiarch      file access [1]
    dbus access [2]

    [1] home
    [2] com.canonical.AppMenu.Registrar, org.freedesktop.Notifications, org.freedesktop.secrets


        ID                                        Branch           Op           Remote            Download
 1. [✓] com.google.AndroidStudio.Locale           stable           i            flathub           5,6 Ko / 57,2 Ko
 2. [✓] com.google.AndroidStudio                  stable           i            flathub           1,3 Go / 1,3 Go

Installation complete.

Journal du mardi 19 novembre 2024 à 11:02 #asdf, #mise, #JeMeDemande

Suite de 2024-11-19_1029.

J'ai testé https://github.com/Syquel/mise-android-sdk. Il dépend de yq. Cela m'embête un peu d'ajouter cette dépendance dans les "Prerequisite" de mon projet.

À la suite de cela, j'ai testé https://github.com/huffduff/asdf-android-sdk, mais je suis tombé sur le problème suivant, ce qui ne m'a pas donné confiance : "Bad URL in "asdf plugin add android-sdk https://github.com/tommyo/asdf-android-sdk.git" instruction".

Échec avec arcticShadow/asdf-android

Ensuite, j'ai testé https://github.com/arcticShadow/asdf-android.

$ mise plugins install https://github.com/arcticShadow/asdf-android.git
$ mise ls-remote android
1

#JeMeDemande pourquoi version 1 ? 🤔

$ mise install android latest
mise ERROR latest not found in mise tool registry
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
$ mise install android 1
curl: (22) The requested URL returned error: 404
mise ERROR ~/.local/share/mise/plugins/android/bin/download failed
* Downloading android release 1...
curl: (22) The requested URL returned error: 404
asdf-android: Could not download https://dl.google.com/android/repository/commandlinetools-linux-1_latest.zip
mise ERROR failed to install android@1
mise ERROR ~/.local/share/mise/plugins/android/bin/download exited with non-zero status: exit code 1
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information

Suite à cela, j'ai posté cette issue : "mise ERROR latest not found in mise tool registry · Issue #6 · arcticShadow/asdf-android · GitHub".

À ce moment précis, je me suis dit que je suis en train de tomber dans un Yak!.

Échec avec huffduff/asdf-android-sdk

Je retourne au projet https://github.com/huffduff/asdf-android-sdk.

$ mise plugin add android-sdk https://github.com/huffduff/asdf-android-sdk
$ mise ls-remote android-sdk
2.1

J'ai consulté la page https://github.com/AndroidSDKSources/android-sdk-sources-list et je ne comprends pas à quoi correspond la version 2.1 🤔.

Ensuite, j'ai rencontré ces erreurs :

$ mise install android-sdk latest
mise ERROR latest not found in mise tool registry
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
$ mise install android-sdk 2.1
Warning: Errors during XML parse:
Warning: Additionally, the fallback loader failed to parse the XML.
cp: impossible d'évaluer '/home/stephane/.local/share/mise/downloads/android-sdk/2.1/*': Aucun fichier ou dossier de ce nom
mise ERROR ~/.local/share/mise/plugins/android-sdk/bin/install failed
cp: impossible d'évaluer '/home/stephane/.local/share/mise/downloads/android-sdk/2.1/*': Aucun fichier ou dossier de ce nom
asdf-android-sdk: Expected /home/stephane/.local/share/mise/installs/android-sdk/2.1/cmdline-tools/2.1/bin/sdkmanager to be executable.
asdf-android-sdk: An error occurred while installing android-sdk 2.1.
mise ERROR failed to install android-sdk@2.1
mise ERROR ~/.local/share/mise/plugins/android-sdk/bin/install exited with non-zero status: exit code 1
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information

Suite à cela, j'ai posté cette issue : "Add mise support? « mise ERROR latest not found in mise tool registry »"

Succès avec Syquel/mise-android-sdk

Je retourne sur le premier projet https://github.com/Syquel/mise-android-sdk et j'installe yq :

$ sudo dnf install yq
$ mise plugins install android-sdk https://github.com/Syquel/mise-android-sdk.git
mise plugin:android-sdk ✓ https://github.com/Syquel/mise-android-sdk.git#a44eb2b

$ mise ls-remote android-sdk
1.0
2.0
2.1
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
11.0
12.0
13.0-rc01
13.0
14.0-alpha01
16.0-alpha01
16.0

Je pense que ces versions correspondent à https://github.com/AndroidSDKSources/android-sdk-sources-list, mais #JeMeDemande pourquoi la version 15 est absente de cette liste.

J'ai configuré mon fichier .mise.toml

$ cat .mise.toml
[tools]
android-sdk = "13.0"

Et ensuite :

$ mise install
$ rehash
$ sdkmanager --version
13.0

Ensuite je ne sais pas trop quoi faire avec sdkmanager mais c'est une autre histoire 🙂.

Journal du mardi 19 novembre 2024 à 10:29 #asdf, #mise, #dev-kit, #iteration, #JeMeDemande

#iteration Projet 17 - Créer un POC de création d'une app smartphone avec Capacitor.


Pour utiliser Capacitor, j'ai besoin d'installer certains éléments.

In order to develop Android applications using Capacitor, you will need two additional dependencies:

  • Android Studio
  • An Android SDK installation

Je me demande si Android Studio est optionnel ou non.

J'aimerais installer ces deux services avec Mise.

J'ai trouvé des Asdf plugins pour Android SDK :

#JeMeDemande quel plugin utiliser, quelles sont leurs différences.

Pour essayer d'avoir une réponse, j'ai posté les issues suivantes :


Alexandre m'a informé qu'il a utilisé avec succès le plugin https://github.com/Syquel/mise-android-sdk/, il a même créé une issue https://github.com/Syquel/mise-android-sdk/issues/10 qui a été traité 🙂.


La suite : 2024-11-19_1102.

Journal du mardi 19 novembre 2024 à 00:22 #bluesky, #JaiDécouvert, #JaiLu

#JaiLu cet article au sujet de Bluesky : Maybe Bluesky has “won” (from).

Now that I’ve gotten some grumpiness out of my system, I would like to recognise some legitimately great things that Bluesky is doing. First up, domain-based usernames.

You can follow me on Bluesky as @gavin.anderegg.ca. I was able to set this up easily by adding a TXT record to my domain that links to my DID:PLC. This is great! It allows me to effectively “blue check” myself, in a similar way to Mastodon. The domain-based approach is quite flexible, and I think it’s a great solution.

J'aime beaucoup 👍️. Est-ce que Mastodon pourrait implémenter cela ? C'est peut-être cette FEP : FEP-e3e9: Actor-Relative URLs 🤔.

Bluesky also offers both composable moderation and the ability to choose your own algorithm. I’m someone who just wants to see a chronological feed of posts from the folks I follow, but I absolutely understand the appeal of these features. It’s made especially clear when compared to Threads, which only wants to show me inane engagement bait by default. There are even some third-party services which make setting up your own custom feed easier.

👍️

Est-ce que Mastodon pourrait implémenter cela ?

I also really love the idea of starter packs. If you’re someone who’s joining the service, picking who you want to follow is rough. A starter pack lets you to follow a set of users recommended by someone you trust. Anyone can create a starter pack, so it’s easy to grab a few and have a lively feed a few moments after joining.

Excellente idée 👍️.

Est-ce que Mastodon pourrait implémenter cela ? Peut-être : Starter kits: A way to simplify the entry into the fediverse/social web

Journal du lundi 18 novembre 2024 à 22:51 #svelte, #WebDev, #SvelteKit, #JaiDécouvert

#JaiDécouvert Introducing the new Svelte CLI.

We’ve just released sv, a new Command Line Interface (CLI) for creating, enhancing, and upgrading Svelte projects.

...

This package merges the previous create-svelte and community-led svelte-add tools into a single package.

Journal du lundi 18 novembre 2024 à 21:23

J'apprends que l'app iOS LogSeq est contruit avec Capacitor.

It is worth noting that Apple accepts Capacitor-based apps (e.g., LogSeq). Capacitor renders applications in a webview, making it a viable alternative. This approach can be suggested in the documentation as a way to circumvent potential issues with publishing PWAs.

-- from

Journal du lundi 18 novembre 2024 à 18:08

Alex (@alexjg) is working full time on maintaining Automerge, other members of Ink and Switch are also contributing time and there are several other maintainers.

-- from

Journal du lundi 18 novembre 2024 à 09:44 #MachineLearning, #UnJourPeuxÊtre

Un ami me demande des ressources pour se former au Machine Learning.

Je ne suis pas expert dans ce domaine.

Lorsque je me forme sur un sujet, j’aime commencer par comprendre le contexte global, son histoire et alterner entre l’acquisition de connaissances théoriques et pratiques.

Pour me former sérieusement, j'envisage un jour de prendre le temps de :

Je n'ai pas classé l'ordre d'étude des séries avec rigueur, cet ordre est sans doute à modifier.

Pour chaque élément, j'ai précisé entre parenthèses une estimation optimiste du temps nécessaire à l'écoute ou à la lecture.

D'après cette liste, j'estime à environ 86 heures pour me former sur ce sujet, soit l'équivalent de 15 jours à temps plein ou presque un mois complet.

Ensuite, j'ai quelques idées de projets de mise en pratique :

  • Développer une extension pour navigateur qui, lors de la rédaction d’un e-mail depuis Fastmail, transforme automatiquement le contenu du message en HTML en texte brut au format Markdown.
    • Ajouter ensuite une fonctionnalité pour supprimer automatiquement les signatures.
  • Concevoir un outil capable de découper une vidéo de Tennis de Table en segments correspondant à chaque point joué.

Journal du dimanche 17 novembre 2024 à 14:02 #desktop, #gnome, #JaiDécouvert

Dans le thread Reddit GNOME "Is there any chance gnome supports window tiling ?", je suis tombé à nouveau sur cet excellent article : "Rethinking Window Management - Space and Meaning".

Ensuite #JaiDécouvert l'extension Tiling Shell. J'ai décidé de tester cette extension.

J'ai l'impression que cette extension a modifié / supprimé mes raccourcis clavier de déplacement de fenêtre. Cela m'embête un peu si je décide de désactiver cette extension 🤔.

J'ai configuré les raccourcis clavier comme ceci :

Je ne comprends pas, les raccourcis Super + ➡️ et Super + ⬅️ ne semblent pas fonctionner.

À la lecture du README de l'extension, je constate qu'elle propose beaucoup de petites astuces. Je vais essayer de les apprendre au fur et à mesure.

Journal du vendredi 15 novembre 2024 à 16:44 #postgresql

Je viens d'apprendre que pg_dumpall de PostgreSQL n'exporte pas les passwords des utilisateurs.

Les users sont biens exporter, mais les passwords doivent être reconfigurées ensuite via la commande :

ALTER USER myuser WITH PASSWORD 'newsecret';

Idée d'une extension browser pour connecter Obsidian à GitHub #Idée, #personal-knowledge-management

J'aime être explicite, j'évite l'utilisation des acronymes, j'essaie de désigner les ressources (lien vers un paragraphe, une fonction, une issue, un contrat, un client…) avec des URLs, afin d'éviter toute ambiguïté.

J'ai de plus en plus l'intuition que l'usage d'un Organisation knowledge management combiné à de multiples Personal knowledge management de type Obsidian, SilverBullet.mb sont très utiles dans un contexte de travail en équipe et dans une organisation.

Partant de cette préférence et de cette intuition, j'ai eu une idée, j'ai ressenti un besoin que je vais expliquer dans cette note.

Je suis en train de rédiger une issue dans GitHub.
Dans la description de l'issue, je souhaite faire mention de la notion de PII et d'un champ de base de données.

J'aimerais développer une extension navigateur qui permet de saisir des wikilink ([[PageName|custom title]]) dans les zones de texte supportant de Markdown de GitHub, GitLab, Trello, Mattermost, Zullip, etc, avec le support de la recherche / autocomplétion.

J'aimerais ajouter une fonctionnalité qui affiche, lors du survol d'un wikilink, un popup contenant un aperçu de la page liée. Cela permet, par exemple, de consulter rapidement la signification d'un acronyme ou d'identifier une ressource.

J'aimerais que cette extension puisse être connecté à un ou plusieurs knowledge management system.

Pourquoi le badge Website Carbon me dérange ? #écologie, #greenwashing, #hosting, #opinion

Je viens de voir à nouveau un badge Website Carbon Calculator sur un site.

Ce type d'initiative me dérange, parce que je considère la méthode de calcul comme non rigoureuse.

Quelques exemples :

  • Elle semble ne pas prendre en compte la consommation du device côté client (smartphone, desktop…) ;
  • Elle semble ne pas prendre en compte la charge cotée serveur.

Je pense que les personnes qui intègrent ce type de badge sur leur site sont dans une démarche de Greenwashing. Je pense qu'elles ne maitrisent pas le sujet.

Le projet Lighthouse est bien plus honnête dans sa démarche. N'étant pas en mesure de donner des mesures rigoureuses, il semble avoir abandonné ce projet : 🍃 adding environment protection KPI and audits (like CO2 footprint)

Pour fournir une information plus rigoureuse, je pense qu'il serait possible d'agréger les statistiques de consommation via PowerTOP de tous les serveurs qui servent à héberger le site web, croiser cette information avec les statistiques de visites tout en prenant en compte les caractéristiques énergétiques du data center.

Mais, tout cela est très compliqué.

En attendant, je pense qu'il est bien plus honnête de simplement intégrer un badge Lighthouse qui prends en compte les paramètres suivants :

  • la taille de la page et de ses dépendances ;
  • la complexité de rendu de la page.

Plus la note Lighthouse est élevée, moins le site web consomme d'énergie, à conditions égales.

Exemple : https://sklein.xyz/reports/report.html

Voir aussi : co2.js.

Journal du jeudi 14 novembre 2024 à 10:26 #dns, #DomainName, #open-source, #selfhosting, #JaiDécouvert

#JaiDécouvert DomainMOD :

DomainMOD is a self-hosted open source application used to manage your domains and other Internet assets in a central location.

Journal du jeudi 14 novembre 2024 à 09:48 #OnMaPartagé, #Idée

On m'a partagé le site : Simulateur de chiffre d'affaires pour indépendants.

Je l'ai un peu testé, mais il n'est pas adapté à mon cas d'usage, à mes données personnelles.

Au départ, l'idée est fun, mais en pratique, ce site ne me permet ni de faire une rétrospective de mes 6 derniers mois, ni de faire une simulation de mes 6 prochains mois.

Depuis un an, j'ai réalisé de nombreux spreadsheet privés de simulation de revenu en Freelance avec prise en compte du temps libre, comparaison avec un CDI…

Ce site me donne envie d'essayer de réaliser un projet avec ma vision, mes données, un peu comme ce que j'ai réalisé il y a un an : https://comparateur-rupture-conventionnelle-cdi.sklein.xyz/.

Ce type de projet entre dans le cadre de ma note de l'été 2023 : Idée d'un site "Homo Economicus".

Autres remarques au sujet de https://www.soloportfolio.fr.

Journal du mercredi 13 novembre 2024 à 21:47 #iteration, #réflexion

Actuellement, dans sklein-pkm-engine, les "citations" sont affichées comme ceci :

Je souhaite modifier ce rendu pour réaliser quelque chose ressemblant à ceci :

Ma source d'inspiration est le blog de gwern.net.

gwern.net utilise la syntax de quote suivante (exemple) :

<div class="epigraph">
> Beware of bugs in the above code; I have only proved it correct, not tried it.
>
> [Donald Knuth](https://www-cs-faculty.stanford.edu/~knuth/faq.html)
</div>

Étant donné que j'édite notes.sklein.xyz avec Obsidian, je ne peux pas utiliser la même syntax.
En remplacement, je pense utiliser la syntax "Callouts", par exemple :

> [!quote]
> 
> Beware of bugs in the above code; I have only proved it correct, not tried it.
> 
> [Donald Knuth](https://www-cs-faculty.stanford.edu/~knuth/faq.html)

Qui donne le rendu suivant dans Obsidian :

#réflexion : j'ai l'intuition qu'à terme, une utilisation SilverBullet.mb à la place d'Obsidian m'offrirait bien plus de flexibilité.

Journal du mercredi 13 novembre 2024 à 15:44 #homelab, #électricité

D'après les spécifications, mon Serveur NUC i3 consomme 15 W à pleine puissance.

Si je laisse ce serveur en fonction, à pleine puissance pendant 1 an, cela ferait une consommation totale de 15 x 24 x 365 = 131 400 W.

Mon tarif EDF d'électricité est de 0,1887 € HT du kWh.

Ce qui fait : 131,400 x 0,1887 = 24 € HT x 1.2 = 29,73 € TTC / an. Ce qui fait environ 2,5 € par mois.

Ceci correspond au prix maximal. J'ai un appareil pour faire des mesures de consommation électrique, je vais peut-être prendre le temps de mesurer la consommation réel.

J'ai aussi fait ce calcul pour mon second NUC Serveur NUC i7.

27 W à pleine puissance.

Sur un an : 27 x 24 x 365 = 236520 W

Ce qui fait : 236,520 x 0,1887 = 44 € HT x 1.2 = 53 € TTC / an. Ce qui fait environ 4,5 € par mois.

Journal du mercredi 13 novembre 2024 à 15:05 #open-source, #AlternativeÀ

Par curiosité, j'ai cherché des alternatives open-source à Customer.io, voici ce que j'ai trouvé :

Journal du mardi 12 novembre 2024 à 23:35 #fiscalité, #startup, #bspce, #OnMaPartagé

#OnMaPartagé l'article « Budget 2025 : le coup de rabot sur l'avantage fiscal de l'actionnariat salarié adopté » (BSPCE).

Mais l'article 25 de la loi de finances bouscule ce schéma en revenant en partie sur le sursis d'impôt.

Source de l'article 25 :

Concrètement, les gains d'exercice - se manifestant lorsque le salarié exerce son option d'achat à un prix plus faible que la valeur de marché de l'action au jour de cet exercice - seraient imposés au moment de l'apport des titres à la société rachetant l'entreprise. Tandis que les gains de cession - qui surviennent si l'action continue à s'apprécier après l'usage des BSPCE - bénéficieraient toujours du sursis d'imposition.

-- from

Voici ce que j'ai compris.

Imaginons le scénario suivant :

  • Bob rejoint "ma super entreprise" en janvier 2020
  • Bob reçoit 100 actions à 5 € l'unité, sous forme de BSPCE
  • Janvier 2024, Bob a "vesté" à 100% ses BSPCE
  • Février 2024, une action de "ma super entreprise" a pour valeur 100 €. Bob décide d'exercer son option d'achat de ses 100 actions. Bob doit débourser 500 € pour (prix de départ) acheter ses 100 actions. Valeur de gain d'exercice : (100 actions * 100 €) - 500 € = 9500 €
  • À ce moment-là, ces 9500 € de gains ne sont pas imposables.
  • Septembre 2025, "ma super entreprise" est rachetée par "la grosse enterprise", au prix de 200 € l'action. Voici comment calculer les gains de session : 100 actions * (prix de l'action lors du rachat par l'entreprise - prix de l'action au moment de l'achat des actions) ce qui donne : 100 actions * (200 € - 100 €) = 10 000 €
  • Mai 2026, Bob doit déclarer aux impôts ses gains d'exercice, qui correspondent à 9500 €, Bob sera imposé sur cette somme. Par contre, Bob ne devra pas déclarer son gain de session, dont le montant est de 10 000 €.
  • Juin 2028, Bob vend toutes ses actions "la grosse entreprise". Le prix de l'action est de 400 €. Bob reçoit 100 actions * 400 € = 40 000 €
  • Mai 2029, Bob doit déclarer aux impôts ses gains de session, dont le montant est 40 000 € - 9 500 € = 30 500 € Bob sera imposé sur ce gain de 30 500 €.

Voici ce qui aurait changé dans ce scénario avant l'application de l'article 25 du projet de loi de finance 2025 :

  • En mai 2026, Bob n'aurait pas eu besoin de déclarer ses gains d'exercice de 9 500 €
  • En mai 2029, Bob aurait dû déclarer aux impôts non pas 30 500 €, mais 40 000 €.

Lorsque mon ami m'a parlé de ce changement de loi, je pensais que Bob devait payer des impôts sur les 9 500 € de gains dès février 2024. Cependant, il s'avère que ce n'est pas le cas. Les impôts ne sont dus qu'au moment où les titres sont apportés à la société qui rachète l'entreprise, c'est-à-dire lorsque "la grosse entreprise" acquiert les actions de Bob. À ce moment-là, Bob a la possibilité de choisir de ne pas réinvestir la totalité de la valeur de ses actions dans "la grosse entreprise".

Finalement, je trouve cette modification de la règle fiscale moins illogique que ce que j'avais initialement pensé.

Journal du mardi 12 novembre 2024 à 13:26 #network, #homelab, #wifi, #JaiDécouvert

#JaiDécouvert LibreSpeed que je vais utiliser à la place de https://fast.com/.

Il me propose une information supplémentaire à Fast.com : jitter.

Ma première mesure, en étant connecté en wifi :

La valeur jitter était anormalement élevée. J'ai relancé mon interface wifi radio 1 de mon Xiaomi Mi Router 4A Gigabit Edition sur un autre canal :

Maintenant, j'ai de bien meilleures performances :

Voici le même test quand mon laptop est connecté en câble Ethernet :

Les valeurs du ping et du jitter sont comparables, seul le débit est supérieur.

Journal du mardi 12 novembre 2024 à 12:08

Il y a quelques mois, on m'avait partagé le projet NanoKVM.

Alexandre m'a partagé un autre projet du même type : JetKVM.

Next generation open-source KVM over IP for $69

Le blog de Jeff Geerling contient deux articles de test de KVM :

Journal du mardi 12 novembre 2024 à 11:56 #homelab, #network, #ipv6, #JaiDécouvert

#JaiDécouvert le projet "Falling-Sky project" qui propulse, par exemple, l'instance test-IPv6.com.

Résultat de http://test-ipv6.com/index.html.fr_FR quand je suis connecté à mon réseau domestique :

J'ai vérifié, tous mes devices ont bien une IPv6 spécifique.

Journal du mardi 12 novembre 2024 à 11:14 #mémo, #mémento

Note #mémo : il est nécessaire d'utiliser l'option -O pour permettre à scp de se connecter à OpenWrt.

$ scp -O "root@192.168.1.1:/etc/config/*" etc/config

Pourquoi : https://forum.openwrt.org/t/ash-usr-libexec-sftp-server-not-found-when-using-scp/125772/3.

Journal du lundi 11 novembre 2024 à 10:44 #wifi, #kernel, #hacker

Je viens de retrouver le premier commit du driver MediaTek MT7603E 802.11bgn utilisé par Xiaomi Mi Router 4A Gigabit Edition : "mt76: add driver for MT7603E and MT7628/7688" publié par Felix Fietkau le 6 novembre 2018.

J'ai un peu regardé la vidéo "Felix Fietkau: Wireless Drivers: Freedom considered harmful?".

Je pense y avoir compris que le pilote ath9k, conçu pour les puces WiFi Atheros, a été le premier pilote open source à ne pas nécessiter de rétro-ingénierie pour être implémenté.

ath9k is a completely FOSS wireless driver for all Atheros IEEE 802.11n PCI/PCI-Express and AHB WLAN based chipsets.

-- from

Depuis, je constate que la liste des pilotes open source est assez bien fournie : Comparison of open-source wireless drivers - Wikipedia.

J'ai étudié cela sans aucun objectif, seulement par curiosité pendant que je travaillais sur Projet 15 - Installation et configuration de OpenWrt sur Xiaomi Mi Router 4A Gigabit.

Journal du dimanche 10 novembre 2024 à 10:19 #homelab, #network, #JaiDécouvert

#JaiDécouvert le thread TUTO - Remplacement BBox Fibre par Mikrotik (IPv4, IPv6 et TV/Replay).

#JaiDécouvert la section "remplacer-bbox" du forum lafibre.info.

J'ai étudié les connecteurs SFP+.

#JaiDécouvert le site https://hack-gpon.org

#JaiDécouvert les termes ONT (Optical Network Terminal), GPON (Gigabit Passive Optical Network), OLT (Optical Line Terminal), Fiber-optic splitter, PLOAM.

J'ai apprécié la lecture de ce schéma :

Bien que je pense que les débits ne sont pas à jour.


Voici le matériel listé dans TUTO - Remplacement BBox Fibre par Mikrotik (IPv4, IPv6 et TV/Replay) :

CRS310-1G-5S-4S+IN permet d'insérer 4 SFP+, je pense qu'il est possible d'utiliser soit ce routeur, soit le CCR2116-12G-4S+.

Afin de faciliter le paramétrage du module SFP GPON : 1x convertisseur de media (par exemple TPLink TP-MC22L)

J'ai des difficultés à comprendre, j'ai l'impression que l'article liste beaucoup de matériel redondant 🤔.

En étudiant le sujet, je suppose que la configuration matérielle minimale est : TP-MC22L à 20 € + Module ONU SFP GPON avec Mac à 70 € TTC.

Je compends que le ONT a besoin des paramètres suivants pour se connecter au réseau (GPON) Bouygues :

  • Dans l'interface de la BBox, le SN du SFP commençant par SMB : SMBA0000X000, qui semble être utilisé en tant qu'identifiant
  • Sur l'étiquette arrière de la BBox :
    • L'adresse MAC : 48:29:FF:FF:FF:FF
    • L'IMEI : 123456789012345 converti en 0000123456789012345 qui est utilisé en tant que "password"

Ce commentaire liste le matériel suivant :

  • Netgear GS724Tv4 - Smart Switch Ethernet 24 Ports RJ45 Gigabit (10/100/1000), Web Manageable Professionnel - switch RJ45 avec 2 Ports SFP 1 Gigabit, Bureau ou en Rack et Protection à Vie ProSafe à 256 €
  • Mikrotik RB3011UiAS-RM à 175 €

[ << Page précédente (250) ] | [ Page suivante (3011) >> ]