J'voulais faire un truc rigolo avec un canvas HTML5, du vanilla typescript, et des données d'une vraie éolienne (R80711 du parc La Haute Borne de Engie)
anecdote rigole. Les étoiles de la 8ème colonne utilisent exactement les même couleurs que celles de la 4ème, mais grâce à la petite bordure noire, on les discrimine vachement mieux du fond. #discriminationPositive
Suite a un petit foirage des devs, le DLC acheté sur GOG fait crashé le jeu au démarrage si GOG Galaxy n'est pas aussi lancé. Hors, GOG Galaxy n'est toujours pas disponible sous Linux…
Il est à noter que la version de base du jeu marche très bien sous seule. IL semblerait que la version Steam marche aussi très bien.
Client de messagerie instantané basé sur le mail. Tu as déjà un compte email quelque part ? Félicitation, tu as un compte Deltachat. Tes amis ont une adresse email ? Félicitation, ils ont déjà un compte Deltachat. Et vu que vous êtes déjà tous sur Deltachat, autant ditcher les autres messageries :)
PAR CONTRE, comme c’est basé sur le mail, ben vous aurez les mêmes emmerdes qu’avec le mail. Genre tes messages bloqués par le fournisseur de mail de ta pote parce que l’IP de ton fournisseur a fini dans une liste Spamhaus :(
Ça n'a pas du aider la rédaction et j'aurais pu la fermer du coup. Je plaide coupable, vaut mieux écrire quand on y est disposé.
Boarf. Au moins comme ça on a résolu le problème juridique du snippet. Parce que comme tu l'as dit, le but est avant tout que ça puisse servir à d'autre. Ça m'aurait bien fait gagner 2 semaines de prototypage si j'avais pu tomber sur mon journal quand j'ai dû dev ça pour le taf :D
Comment dire… J’ai vu ton commentaire hier, mais je n’ai répondu qu’aujourd’hui, le temps que l’envie de te traiter de tout un tas de nom d’oiseaux redescende suffisamment.
Car même si tu as parfaitement raison sur le fond, tout comme barmic<, j’ai trouvé la forme très violente. Sur le coup, j’ai même cru que c’était zenitram qui me répondait :-/
Parce qu'il trouvait cette idée de licence marrante ? Que ça blague tombe à l'eau c'est une chose, mais faut souffler un peu.
J’ai surtout lu le texte de la licence trop vite. Je pensais que c’était une MIT avec une blague en plus. Je n’avais pas réalisé que la manière dont c’était écrit ajoutait une contrainte forte et rendait le code non libre.
Si tu veux être rigoriste s'il n'avait mis aucune licence ce serait le droit d'auteur qui s'appliquerait et qui serait ce qu'il y a de plus restrictif
Non. Comme le journal lui même est sous licence CC BY-SA, sans mention contraire, le code inclu dans le journal aurait aussi été sous CC BY-SA. (IANAL)
Tu as raison sur le fond. Voici le même code sous licence MIT.
# Copyright 2023 Jonathan Tremesaygues## Permission is hereby granted, free of charge, to any person obtaining a copy# of this software and associated documentation files (the "Software"), to deal# in the Software without restriction, including without limitation the rights# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell# copies of the Software, and to permit persons to whom the Software is# furnished to do so, subject to the following conditions:## The above copyright notice and this permission notice shall be included in all# copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE# SOFTWARE.fromimportlibimportimport_modulefromtypingimportAwaitable,Optionalfromasgiref.syncimportsync_to_asyncfromjupyter_server.authimportIdentityProviderfromjupyter_server.auth.identityimportUserasJUserfromjupyter_server.base.handlersimportJupyterHandlerfromdjango.confimportsettingsfromdjango.contribimportauthfromdjango.contrib.auth.modelsimportUserasDUser# https://jupyter-server.readthedocs.io/en/latest/operators/security.html#jupyter_server.auth.IdentityProviderclassDjangoIdentityProvider(IdentityProvider):def__init__(self,**kwargs):super().__init__(**kwargs)# C'est vraiment la méthode recommandée par Django pour charqer le bon# moteur de session >_<# https://docs.djangoproject.com/en/4.2/topics/http/sessions/#using-sessions-out-of-viewsself.SessionStore=import_module(settings.SESSION_ENGINE).SessionStore# https://jupyter-server.readthedocs.io/en/latest/operators/security.html#jupyter_server.auth.IdentityProvider.get_userasyncdefget_user(self,handler:JupyterHandler)->Optional[JUser]|Awaitable[Optional[JUser]]:# `get_user` est utilisé dans un contexte async mais Django préfère un # contexte sync pour parler avec la db. Et le SessionStore par défaut # utilise la db. Pis de toute façon faudra accéder à la DB pour charger# l'utilisateur.# https://docs.djangoproject.com/en/4.2/topics/async/returnawaitsync_to_async(self._get_user)(handler)def_get_user(self,handler:JupyterHandler)->Optional[JUser]:# Essaye de récupérer le session id dans les cookiesif(cookie_entry:=handler.request.cookies.get(settings.SESSION_COOKIE_NAME))isnotNone:# Charge la session correspondantesession=self.SessionStore(session_key=cookie_entry.value).load()# Essaye de récupérer l'user id correspondantif(user_id:=session[auth.SESSION_KEY])isnotNone:try:# Essaye de charger l'utilisateur correspondant user=DUser.objects.get(pk=user_id)exceptDUser.DoesNotExist:# Utilisateur non trouvépasselse:# Est-ce que l'utilisateur est un admin?ifuser.is_staff:# L'utilisateur actuel est bien connecté et est un admin!# Crée un Jupyter user à partir du Django userreturnJUser(username=user.username)# Impossible d'authentifier l'utilisateurreturnNone
Il n’a pas l’air d’avoir une configuration dynamique des vhosts basé sur les labels docker, qui est la raison pour laquelle j’avais ditché nginx en faveur de traefik.
Qui me permettraient de remplacer traefik dans mes stacks. Pas que j'aime pas traefik, il fait le taf. Mais je suis sentimentalement attaché à nginx, et je suis triste d'avoir arrêté de l'utilisé parce que moins pertinant dans mes stacks cloud.
Il faut utiliser le kernel "Django Shell-Plus" pour exécuter vos notebooks.
De plus, le notebook est exécuté dans un contexte asynchrone. Ce qui rend relou la réutilisation de ton vieux code synchrone.
Si tu ne veux pas te prendre la tête, voila un boilerplate à utiliser dans le notebook pour simplifier tout ça :
fromasgiref.syncimportsync_to_asyncfromdjango.contrib.auth.modelsimportUser@sync_to_asyncdefmain():# Ton code synchrone iciprint(User.objects.all())awaitmain()
Tu peux aussi utiliser Numpy et matplotlib pour faire de jolis graphs.
car l'interdiction en France de faire des stats sur ce sujet empêche les chercheurs d'étudier les problème
Fake news. Dans certains cas, il est possible de faire de la stat en ce sens:
Dans le commentaire de sa décision, le Conseil constitutionnel précise aussi que la statistique publique (l'Insee et les services statistiques ministériels) peut réaliser des études sur la mesure de la diversité des origines des personnes, de la discrimination et de l'intégration en se fondant sur des données objectives, comme le nom, l'origine géographique ou la nationalité antérieure à la nationalité française.
Pour autant les données objectives ne sont pas les seules qui peuvent être utilisées dans les études statistiques. Le Conseil constitutionnel indique que des données subjectives, telles celles fondées sur le « ressenti d'appartenance » peuvent aussi être recueillies dans des enquêtes statistiques, et utilisées dans les études en découlant.
Dans les deux cas, la statistique publique doit demander l'avis du Conseil national de l'information statistique (Cnis), déclarer l’enquête à la Commission nationale de l'informatique et des libertés (Cnil) et obtenir, si cela est nécessaire, son autorisation (article 25 de la loi de 1978). Comme toutes les données recueillies par la statistique publique, les données collectées dans ce cadre sont anonymisées et soumises au secret statistique (loi de 1951 sur l'obligation, la coordination et le secret en matière de statistiques).
ça n'a pas l'air d'être du nextcloud, et ça n'a pas l'air de pouvoir se mettre derrière son propre nom de domaine. Mais j'ai pas creusé plus que ça vu que je n'en ai pas l'usage
Si tu as peur de faire une connerie, passe le configurateur de Gandi en mode avancé. Il va te donner toute ta config sous forme d'un fichier texte que tu peux facilement sauvegarder et restaurer.
Fonctionnellement, il s'agit d'indiquer aux clients du DNS que les mails envoyés à example.tld sont dorénavant pris en charge par Mailo et plus par Gandi ?
En gros, c'est ça.
Tu vas ajouter une ligne du genre @ IN TXT "mailo=arandomstring" pour prouver à Mailo que tu es l'admin du domaine (tu pourras la supprimer une fois la procédure terminée)
Ensuite, tu as une ligne du genre @ IN MX 10 mx.mailo.com. pour indiquer à quel serveur de mail tes correspondant devront t'écrire.
Et enfin 2 ou 3 autres lignes pour indiquer que les serveurs de Mailo sont autorisés à envoyer des mails en ton nom (protection contre le SPAM).
[^] # Re: Je me demande si...
Posté par jtremesay (site web personnel) . En réponse au lien Ivre, il crée un générateur de sites statiques avec 300 lignes de python et django. Évalué à 4.
Il faut le bon dosage. Ça demande des années de pratique pour le trouver !
[^] # Re: Je vais regarder ça, ça m'intéresse bien...
Posté par jtremesay (site web personnel) . En réponse au lien Ivre, il crée un générateur de sites statiques avec 300 lignes de python et django. Évalué à 2. Dernière modification le 05 janvier 2024 à 18:00.
jssg propulsant galae ? :)
en théorie, tu dois pouvoir faire des
extends
/block
dans les .md, mais j'ai pas testé.# Détails
Posté par jtremesay (site web personnel) . En réponse au lien Scadaplayer: un outil pour visualiser sous forme de tableau de bord les données SCADA d'une éolienne. Évalué à 4. Dernière modification le 21 décembre 2023 à 19:49.
J'voulais faire un truc rigolo avec un canvas HTML5, du vanilla typescript, et des données d'une vraie éolienne (R80711 du parc La Haute Borne de Engie)
[^] # Re: not new
Posté par jtremesay (site web personnel) . En réponse au lien Découverte du théorème de Pythagore sur une tablette antérieure de 1000 ans à Pythagore. Évalué à 3.
https://xkcd.com/1053/
[^] # Re: et moi et moi et moi…
Posté par jtremesay (site web personnel) . En réponse au journal L'avis des daltoniens. Évalué à 4.
anecdote rigole. Les étoiles de la 8ème colonne utilisent exactement les même couleurs que celles de la 4ème, mais grâce à la petite bordure noire, on les discrimine vachement mieux du fond. #discriminationPositive
# Contexte
Posté par jtremesay (site web personnel) . En réponse au lien Workaround pour jouer à Cyberpunk 2077 Liberty Phantom sans Gog Galaxy. Évalué à 2.
Suite a un petit foirage des devs, le DLC acheté sur GOG fait crashé le jeu au démarrage si GOG Galaxy n'est pas aussi lancé. Hors, GOG Galaxy n'est toujours pas disponible sous Linux…
Il est à noter que la version de base du jeu marche très bien sous seule. IL semblerait que la version Steam marche aussi très bien.
N'est concerné que le DLC acheté via GOG.
[^] # Re: Ça me parait léger
Posté par jtremesay (site web personnel) . En réponse au lien Stop using Brave Browser - OSnews. Évalué à 6.
Il est à noter que le site existait avant qu’il n’aille travailler chez Brave et qu’il n’a jamais caché cette information
https://github.com/privacytests/privacytests.org/issues/166#issuecomment-1599996563
[^] # Re: actualiser..
Posté par jtremesay (site web personnel) . En réponse au journal petit topo des messageries sécurisées, et leurs alternatives. Évalué à 5.
j'ai crée la page et importé le journal dedans
https://linuxfr.org/wiki/clients-de-messagerie-instanee
[^] # Re: Deltachat
Posté par jtremesay (site web personnel) . En réponse au journal petit topo des messageries sécurisées, et leurs alternatives. Évalué à 3.
mais si vous êtes tous chez gmail, je suis sûr que ça marche très bien :)
# Deltachat
Posté par jtremesay (site web personnel) . En réponse au journal petit topo des messageries sécurisées, et leurs alternatives. Évalué à 10.
Client de messagerie instantané basé sur le mail. Tu as déjà un compte email quelque part ? Félicitation, tu as un compte Deltachat. Tes amis ont une adresse email ? Félicitation, ils ont déjà un compte Deltachat. Et vu que vous êtes déjà tous sur Deltachat, autant ditcher les autres messageries :)
Le chiffrement est assuré par autocrypt.
https://delta.chat/
PAR CONTRE, comme c’est basé sur le mail, ben vous aurez les mêmes emmerdes qu’avec le mail. Genre tes messages bloqués par le fournisseur de mail de ta pote parce que l’IP de ton fournisseur a fini dans une liste Spamhaus :(
[^] # Re: Question sérieuse : à quel degré le mot "Gimp" est-il péjoratif/offensant en anglais ?
Posté par jtremesay (site web personnel) . En réponse au lien Une nouvelle initiative pour forker/renommer GIMP. Évalué à 6. Dernière modification le 31 juillet 2023 à 18:23.
Souvent, non.
Parent/enfant sert plutôt à indiquer comment ils sont crées alors que master/slave indiquent leurs relation dans le traitement des données.
Mais par chance, selon le contexte, on a d’autres paires de mots qui peuvent marcher. Notamment :
jtremesay / les juniors, dans le cadre du taf(aucun de mes juniors n’a été maltraité lors de la rédaction de cette blague nulle)[^] # Re: Dommage cette licence non libre
Posté par jtremesay (site web personnel) . En réponse au journal Django + Jupyter Lab = ❤️. Évalué à 3.
Pas de soucis :)
Boarf. Au moins comme ça on a résolu le problème juridique du snippet. Parce que comme tu l'as dit, le but est avant tout que ça puisse servir à d'autre. Ça m'aurait bien fait gagner 2 semaines de prototypage si j'avais pu tomber sur mon journal quand j'ai dû dev ça pour le taf :D
[^] # Re: Dommage cette licence non libre
Posté par jtremesay (site web personnel) . En réponse au journal Django + Jupyter Lab = ❤️. Évalué à 4.
Comment dire… J’ai vu ton commentaire hier, mais je n’ai répondu qu’aujourd’hui, le temps que l’envie de te traiter de tout un tas de nom d’oiseaux redescende suffisamment.
Car même si tu as parfaitement raison sur le fond, tout comme barmic<, j’ai trouvé la forme très violente. Sur le coup, j’ai même cru que c’était zenitram qui me répondait :-/
[^] # Re: Dommage cette licence non libre
Posté par jtremesay (site web personnel) . En réponse au journal Django + Jupyter Lab = ❤️. Évalué à 2.
J’ai surtout lu le texte de la licence trop vite. Je pensais que c’était une MIT avec une blague en plus. Je n’avais pas réalisé que la manière dont c’était écrit ajoutait une contrainte forte et rendait le code non libre.
Non. Comme le journal lui même est sous licence CC BY-SA, sans mention contraire, le code inclu dans le journal aurait aussi été sous CC BY-SA. (IANAL)
[^] # Re: Dommage cette licence non libre
Posté par jtremesay (site web personnel) . En réponse au journal Django + Jupyter Lab = ❤️. Évalué à 2.
Tu as raison sur le fond. Voici le même code sous licence MIT.
[^] # Re: Je ne sais pas trop comment j’ai foiré ma veille technologique à ce point,
Posté par jtremesay (site web personnel) . En réponse au lien NGINX Universal Web App Server. Évalué à 3.
Il n’a pas l’air d’avoir une configuration dynamique des vhosts basé sur les labels docker, qui est la raison pour laquelle j’avais ditché nginx en faveur de traefik.
Exemple avec traefik:
Exemple avec nginx-proxy:
[^] # Re: Je ne sais pas trop comment j’ai foiré ma veille technologique à ce point,
Posté par jtremesay (site web personnel) . En réponse au lien NGINX Universal Web App Server. Évalué à 2.
Je découvre aussi nginx-proxy et acme-companion
https://github.com/nginx-proxy/acme-companion
https://github.com/nginx-proxy/nginx-proxy
Qui me permettraient de remplacer traefik dans mes stacks. Pas que j'aime pas traefik, il fait le taf. Mais je suis sentimentalement attaché à nginx, et je suis triste d'avoir arrêté de l'utilisé parce que moins pertinant dans mes stacks cloud.
# Précision sur les notebook
Posté par jtremesay (site web personnel) . En réponse au journal Django + Jupyter Lab = ❤️. Évalué à 6.
Il faut utiliser le kernel "Django Shell-Plus" pour exécuter vos notebooks.
De plus, le notebook est exécuté dans un contexte asynchrone. Ce qui rend relou la réutilisation de ton vieux code synchrone.
Si tu ne veux pas te prendre la tête, voila un boilerplate à utiliser dans le notebook pour simplifier tout ça :
Tu peux aussi utiliser Numpy et matplotlib pour faire de jolis graphs.
# Je ne sais pas trop comment j’ai foiré ma veille technologique à ce point,
Posté par jtremesay (site web personnel) . En réponse au lien NGINX Universal Web App Server. Évalué à 6.
mais je découvre avec 6 ans de retard que NGINX a son propre serveur d’application.
# Synopsys
Posté par jtremesay (site web personnel) . En réponse au lien Synopsys: "Let’s Talk Licenses: Beware the Beerware License". Évalué à 2.
Je trouve ça rigolo qu'une énorme boite sérieuse comme Synopsys prenne le temps de faire l'analyse juridique d'une licence potache comme la Beerware.
[^] # Re: incomparable
Posté par jtremesay (site web personnel) . En réponse au journal [société] France, la République aveugle ?. Évalué à 10.
Fake news. Dans certains cas, il est possible de faire de la stat en ce sens:
https://www.insee.fr/fr/information/2108548
Article sur le blog de l’Insee: Oui, la statistique publique produit des statistiques ethniques
Panorama d’une pratique ancienne, encadrée et évolutive
[^] # Re: mailo propose aussi du Nextcloud ?
Posté par jtremesay (site web personnel) . En réponse au lien Migration de Gandi Mail vers Mailo en utilisant son domaine perso. Évalué à 2.
ça n'a pas l'air d'être du nextcloud, et ça n'a pas l'air de pouvoir se mettre derrière son propre nom de domaine. Mais j'ai pas creusé plus que ça vu que je n'en ai pas l'usage
[^] # Re: Premier obstacle
Posté par jtremesay (site web personnel) . En réponse au lien Migration de Gandi Mail vers Mailo en utilisant son domaine perso. Évalué à 5.
C'est ça, il faut aller modifier les enregistrement DNS.
Procédure chez Gandi : https://docs.gandi.net/fr/noms_domaine/operations_courantes/enregistrements_dns.html#modifier-les-enregistrements-dns-pour-un-seul-domaine
Si tu as peur de faire une connerie, passe le configurateur de Gandi en mode avancé. Il va te donner toute ta config sous forme d'un fichier texte que tu peux facilement sauvegarder et restaurer.
En gros, c'est ça.
Tu vas ajouter une ligne du genre
@ IN TXT "mailo=arandomstring"
pour prouver à Mailo que tu es l'admin du domaine (tu pourras la supprimer une fois la procédure terminée)Ensuite, tu as une ligne du genre
@ IN MX 10 mx.mailo.com.
pour indiquer à quel serveur de mail tes correspondant devront t'écrire.Et enfin 2 ou 3 autres lignes pour indiquer que les serveurs de Mailo sont autorisés à envoyer des mails en ton nom (protection contre le SPAM).
[^] # Re: NXI == next inpact ?
Posté par jtremesay (site web personnel) . En réponse au journal NXI, "youtubé?" // les echos... "j'en entends qui disent....". Évalué à 6.
c’est pas en réaction à Nexity et son cours désastreux ? NXI
[^] # Re: Correction
Posté par jtremesay (site web personnel) . En réponse au journal Les banques et l'authentification à deux facteurs. Évalué à 3.
parce que hier soir j’étais en mode militant d’extreme gauche
https://www.ouest-france.fr/leditiondusoir/2018-04-12/pourquoi-les-zadistes-se-font-tous-appeler-camille-7bb8f26f-9686-4418-b4aa-127765f32225