Cliquez sur un ou plusieurs tags pour appliquer un filtre sur la liste des notes de type "Journaux" :

[ << Notes plus récentes (300) ] [ Notes plus anciennes (674) >> ]

Mardi 19 novembre 2024

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

Lundi 18 novembre 2024

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é.

Dimanche 17 novembre 2024

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.

Vendredi 15 novembre 2024

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 #personal-knowledge-management, #idée

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.

Jeudi 14 novembre 2024

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.

Mercredi 13 novembre 2024

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 gen 5 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 gen 11.

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é :

Mardi 12 novembre 2024

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.

Lundi 11 novembre 2024

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.

Dimanche 10 novembre 2024

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 €

Samedi 9 novembre 2024

Jeudi 7 novembre 2024

Journal du jeudi 07 novembre 2024 à 13:38 #bug, #fedora, #JaiDécouvert

Même après l'upgrade vers Fedora 41, je rencontre toujours le même bug depuis août 2024.

Pendant une longue période, comme conseillé dans ce commentaire, je suis resté sur un kernel 6.9 jusqu'à la sortie des kernel 6.11.

Je pensais que la résolution de cette issue avait corrigé le problème : 7840h/780m system crash after update to linux kernel 6.10 (#3497).

Mais, je constate que non.

J'ai décidé de prendre un peu de temps pour soumettre au meilleur rapport de bug, que je souhaite dans un premier temps publier dans un commentaire, dans le thread suivant : Persistent System Crashes and Performance Issues on Fedora 40 with ASUS Vivobook 15 - Fedora Discussion.

Aujourd'hui, j'ai eu deux crash de gnome-shell.

À 13:13:33, au moment où j'ai branché le câble USB-C de mon moniteur externe sur mon laptop.

Voici-ci les logs du kernel :

13:13:33 t14s kernel: retire_capture_urb: 58 callbacks suppressed

...

13:13:54 t14s kernel: amdgpu 0000:33:00.0: [drm] REG_WAIT timeout 1us * 100 tries - dcn31_program_compbuf_size line:141
13:13:54 t14s kernel: ------------[ cut here ]------------
13:13:54 t14s kernel: WARNING: CPU: 12 PID: 30057 at drivers/gpu/drm/amd/amdgpu/../display/dc/hubbub/dcn31/dcn31_hubbub.c:151 dcn31_program_compbuf_size+0xd1/0x230 [amdgpu]

...

Version plus complète de ces logs : https://gist.github.com/stephane-klein/dff0d32c20af4307c3b85bbbf03b7b59

J'ai retrouvé la ligne 151 du fichier code source qui génère le warning : drivers/gpu/drm/amd/display/dc/hubbub/dcn31/dcn31_hubbub.c#L151

J'ai fait une recherche sur le gestionnaire d'issues du projet drm/amd avec dcn31_program_compbuf_size comme mot clé et je suis tombé sur cette issue : AMD GPU screen blanking for seconds with a warning

I run Fedora 40 on a ThinkPad T14 Gen3 - comes with AMD Ryzen 7 PRO 6850U with Radeon Graphics. I have my monitor connected via the ThinkPad dock, which is over a USB-C connection.

Yesterday, I updated to F41 with the 6.11.5-300.fc41 kernel. The screen blanking shot up to maybe 30x per minute, with 1-2s blanking each time, effectively giving me an unusable display.

J'ai le même hardware que cette personne et j'ai l'impression que je rencontre le même problème.

Toutefois, j'ai l'impression d'avoir eu des crashes de gnome-shell même sans l'action de brancher un moniteur externe en USB-C 🤔. Je pense être victime de plusieurs bugs.


4 secondes plus tard, Discord génère un coredump :

#JaiDécouvert la commande coredumpctl :

$ coredumpctl list --since "2024-11-07"
TIME                           PID  UID  GID SIG     COREFILE EXE                           SIZE
Thu 2024-11-07 10:09:21 CET 352125 1000 1000 SIGTRAP present  /app/main/mattermost-desktop 10.6M
Thu 2024-11-07 13:13:58 CET  54929 1000 1000 SIGABRT present  /usr/lib64/discord/Discord   56.9M

Voici le contenu de :

$ coredumpctl info 54929 # /usr/lib64/discord/Discord 

https://gist.github.com/stephane-klein/56b9097e1a22390ef3350757bf3132dc

Et celui de :

$ coredumpctl info 352125 # /app/main/mattermost-desktop

https://gist.github.com/stephane-klein/1b3790d45aef6383f98341f31ea40444

Voici le message que j'ai posté sur Discourse Fedora : https://discussion.fedoraproject.org/t/persistent-system-crashes-and-performance-issues-on-fedora-40-with-asus-vivobook-15/128526/20

Mercredi 6 novembre 2024

Le support des variables d'environments de Mise est limité, je continue à utiliser direnv #direnv, #dev-kit

J'ai décidé d'utiliser la fonctionnalité "mise env._source" pendant quelques semaines pour me faire une opinion.

-- (from)

J'ai déjà rencontré un problème : il n'est pas possible de lancer des outils installés via Mise dans un script lancé par _.source.

Voici un exemple, j'ai ce fichier .envrc.sh :

export SERVER1_IP=$(terraform output --json | jq -r '.server1_public_ip | .value')

Terraform est installé avec Mise :

[env]
_.source = "./.envrc.sh"

[tools]
terraform="1.9.8"

Quand je lance mise set, j'ai cette erreur :

$ mise set
.envrc.sh: line 6: terraform: command not found

J'ai trouvé une issue pour traiter cette limitation : "Use mise tools in env template".

En attendant que cette issue soit implémentée, j'ai décidé de continuer d'utiliser direnv.


2024-12-19 : suite à la cloture de l'issue indiquée dans cette note, j'ai publié la note Je pense maintenant pouvoir remplacer Direnv par Mise 🤞.

Journal du mercredi 06 novembre 2024 à 17:10 #JaiDécouvert, #direnv

En travaillant sur la note 2024-11-06_1631, j'ai découvert les commandes shell suivantes mises à disposition par direnv que je trouve intéressantes :

Je remplace direnv par la fonctionnalité env._source proposée Mise #direnv, #dev-kit, #JeMeDemande

Depuis avril 2019, j'utilise direnv dans pratiquement tous mes projets de développement informatique.

Ce matin je me suis demandé si avec les nouvelles fonctionnalités de gestion des variables d'environnement de Mise, je pouvais simplifier mes development kit 🤔.

Comme vous pouvez le voir dans install-and-configure-direnv-with-mise-skeleton, actuellement mes development kit contiennent deux étapes de modifications de .bash_profile ou .zshrc. Exemple avec Zsh :

  • Une étape pour configurer Mise :
$ echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
$ source ~/.zsrhrc
  • Seconde étape pour configurer direnv :
$ echo -e "\neval \"\$(direnv hook zsh)\"" >> ~/.zshrc
$ source ~/.zsrhrc

Voici la version simplifiée de ce skeleton basé sur "mise env._source", avec une étape de configuration en moins :

https://github.com/stephane-klein/install-and-configure-mise-skeleton

Voici le contenu du fichier .mise.toml :

[env]
_.source = "./.envrc.sh"

et le contenu de .envrc.sh :

export HELLO_WORLD=foo

J'ai fait le choix de nommer ce fichier .envrc.sh plutôt que .envrc afin d'éviter des problèmes de compatibilité pour les utilisateurs qui ont direnv installé.

J'ai vérifié que les variables d'environnements "parents" sont bien conservées en cas de changement de variable d'environnement par Mise dans un sous dossier.

#JeMeDemande si je vais rencontrer des régressions par rapport à direnv 🤔.

J'ai décidé d'utiliser la fonctionnalité "mise env._source" pendant quelques semaines pour me faire une opinion.

Update : voir 2024-11-06_2109.

development kit skeleton d'installation de direnv #dev-kit

Voici un dépôt GitHub qui contient les instructions que j'indiquais dans mes development kit, avant 2024, pour installer et configurer direnv, sous MacOS.

https://github.com/stephane-klein/install-and-configure-direnv-with-asdf-skeleton

Dans ce skeleton, direnv est installé avec asdf, voir le fichier racine ./.tool-versions


Et voici un exemple de skeleton, que j'utilise depuis novembre 2023, basé sur Mise :

https://github.com/stephane-klein/install-and-configure-direnv-with-mise-skeleton

Dans ce second skeleton, direnv est installé avec Mise, voir le fichier racine ./.mise.toml.

Pourquoi j'utilise direnv dans mes development kit ? #dev-kit, #software-engineering

Dans cette note, je souhaite expliquer pourquoi j'utilise et j'aime utiliser direnv.

Je suis toujours en train d'essayer de créer des development kit me permettant de travailler dans un environnements de développement toujours plus agréable.

J'ai découvert direnv en 2017 et j'ai commencé à l'utiliser dans un projet en avril 2019.

direnv s'utilise dans un shell, il charge et décharge automatiquement les variables d'environnement spécifiées dans un fichier .envrc lorsqu'on entre et quitte un répertoire.

Exemple :

Voici les use cases listées sur le site officiel de direnv :

  • Load 12factor apps environment variables
  • Create per-project isolated development environments
  • Load secrets for deployment

Voici quelques exemples concrets de mon utilisation de direnv :

source .secret

export SCW_DEFAULT_ORGANIZATION_ID="...." # Get it, in https://console.scaleway.com/organization/settings
export SCW_ACCESS_KEY="..."

# This variable environments are used by Grafana Grizzly
export GRAFANA_URL=http://grafana.$(terraform output --json | jq -r '.server3_public_ip | .value').nip.io
export GRAFANA_USER=admin
export GRAFANA_TOKEN=password
export POSTGRES_ADMIN_URL="postgres://postgres:password@localhost:5432/myapp"
export POSTGRES_URL="postgres://webapp:password@localhost:5432/myapp"
export SMTP_HOST="127.0.0.1"
export SMTP_PORT="1025"
export SECRET="secret"
export APP_HOSTNAME="localhost"
export MAIL_FROM="noreply@example.com"

Les fichiers .envrc sont des scripts shell, il est possible comme dans l'exemple au-dessus, d'utiliser source .secret pour charger un autre fichier.

Je versionne toujours le fichier .envrc, tandis que j'ignore (.gitignore) les fichiers .secret contenant des informations sensibles qui ne doivent pas être publiés dans le repository git.

Après avoir installé un development kit, j'indique à l'utilisateur les instructions à suivre pour installer les éléments de base du projet, comme Mise, Docker…, et la mise en place des secrets.

Mon objectif est ensuite de permettre à l'utilisateur de l'environnement de développement d'interagir avec des « scripts helpers » sans nécessiter de configuration préalable, simplement en entrant ou sortant des dossiers. Les dossiers sont utilisés comme « workspace contexte ».

Voir aussi : development kit skeleton d'installation de direnv

À la recherche d'un environnement de développement sans le savoir : mes années 1999-2008 #dev-kit, #software-engineering

Je pense que je m'intéresse au sujet des "development environment" ou development kit depuis 1999.

À l'époque, même si je ne connaissais pas encore ces concepts, j'en ressentais déjà le besoin.

Par exemple, lorsque j'ai voulu contribuer au projet KDE, je cherchais des solutions et des bonnes pratiques pour organiser ma station de travail de manière à pouvoir compiler et installer KDE sans risquer de casser mon environnement de bureau.
Malheureusement, je n'y suis pas parvenu 😔.

Avec le recul, je réalise que ces pratiques étaient souvent transmises de manière informelle, principalement par des échanges oraux ou via des messages sur IRC. En somme, il s'agissait d'un véritable "bouche-à-oreille" numérique.

Je pense que la majorité des développeurs devaient faire face aux mêmes difficultés. Je pense aussi qu’ils devaient prendre beaucoup de temps à trouver leur propre méthode, année après année.

J’en ai eu une fois la confirmation. En 2002, je suis allé au FOSDEM, pour rencontrer entre autres David Faure, un core développeur français de KDE.

J’ai échangé avec lui et il m’a montré de nombreuses astuces qu’il utilisait… je n’ai pas tout compris, je n’ai pas réussi à les retenir…

J’en ai conclu que les développeurs avaient sans doute chacun leurs propres méthodes de développement non documentées.

Question qui me vient alors à l’esprit : alors qu'ils contribuent à des logiciels libres et partagent leur code source, pourquoi les développeurs ne partagent-ils pas aussi leurs environnements de développement ?

Journal du mercredi 06 novembre 2024 à 14:18 #vocabulaire, #dev-kit, #WebDev, #software-engineering

Je viens de réfléchir à l'usage des termes "development environment" et "development kit".

Je pense que le dépôt gitlab-development-kit est un "development kit" qui permet d'installer et configurer un "development environment" pour travailler sur le projet GitLab.

Mardi 5 novembre 2024

Upgarde de ma workstation de Fedora 40 à 41

Fedora 41 version stable est sortie le 29 octobre 2024, 7 jours plus tard, j'ai upgrade mon Thinkpad T14s AMD Gen 3 de la version 40 vers la version 41.

J'ai suivi la méthode officielle de mise à jour :

# dnf install dnf-plugin-system-upgrade
# dnf upgrade --refresh
# dnf clean all
# dnf system-upgrade download --releasever=41
# dnf system-upgrade reboot

et cela c'est déroulé avec succès.

Après 1h d'utilisation, je n'ai observé aucune régression.

J'espère que cette version va régler ce problème.

Voir aussi : Upgrade de ma workstation de Fedora 39 vers 40.

Journal du mardi 05 novembre 2024 à 11:34 #network, #dns, #Internet, #JaiDécouvert

En explorant la console de Scaleway, je viens de tomber sur la fonctionnalité suivante :

Scaleway Domains and DNS provides advanced features for traffic management using your DNS zone. It allows you to redirect users based on their geolocation, the load on your different servers, and more.

Je viens de réaliser que cela répond à une question que je me posais souvent entre 2000 et 2010 : comment les sites à portée mondiale parviennent-ils à répartir le trafic entre différents datacenters avec une URL unique, comme google.com ?

À l’époque, j’imaginais que ces acteurs utilisaient principalement le Round-robin DNS ou des algorithmes de répartition de charge avec HAProxy. mais je n'avais pas pensé à la possibilité que le serveur DNS puisse donner une réponse différente en fonction de l'IP de la personne qui fait la requête.
De plus, cette réponse peut dépendre de la localisation de l'IP (GeoIP).

Par exemple, depuis 2014, le serveur DNS Bind propose nativement la fonctionnalité "GeoIP Features".

J'ai lu aussi que les gros acteurs utilisent la méthode Anycast, mais cette méthode nécessite de gérer son propre Autonomous System.

Journal du mardi 05 novembre 2024 à 10:18

Lors d'un échange avec une amie, j'ai essayé de retrouver le terme employé par Tim Ferris pour désigner « un petit business en ligne automatisé qui rapporte régulièrement de l'argent sans demander trop de temps ou de maintenance à sa création pour générer ce revenu ».

J'ai retrouvé ce terme dans le livre The 4-Hour Workweek, il utilise le mot Muse. Exemple d'utilisation de Muse sur son blog : "Muse Examples".

Je viens de regarder les définitions de Muse en Anglais et je trouve les mêmes définitions qu'en français :

  • Génie artistique, inspiration.
  • (Par extension) Personne ou sentiment qui inspire un poète.

J'en déduis que la définition de Muse de Tim Ferris lui est personnelle, il a créé un mème.

Pourquoi Tim Ferris a choisi le mot "Muse" ? ChatGPT me répond ceci :

Tim Ferriss utilise le terme muse pour décrire ces entreprises parce qu’il voit ces projets comme une source d’inspiration et de liberté. Dans la mythologie grecque, les muses sont des déesses qui inspirent la créativité, l'art et la découverte. Ferriss reprend cette idée en adaptant le concept au monde de l’entrepreneuriat moderne. Il considère qu'une muse, en générant des revenus passifs, permet à l'entrepreneur de se libérer des contraintes financières et temporelles, et ainsi de se consacrer à des activités inspirantes et enrichissantes.

Pour Ferriss, une muse n’est pas seulement un business. Elle est le moyen d’accéder à un style de vie centré sur l’indépendance, la créativité et l'exploration. Le choix de ce mot évoque donc le rôle de catalyseur de liberté qu’elle joue dans la vie de ceux qui s’y lancent, leur permettant de créer un équilibre entre travail et passions.

[ << Notes plus récentes (300) ] | [ Notes plus anciennes (674) >> ]