Days before OpenAI
Developer coding 2 hours
Developer debugging 6 hoursDays after OpenAI
ChatGPT generates Codes 5 min
Developer debugging 24 hours
Source : https://twitter.com/PR0GRAMMERHUM0R/status/1654833419552010240 via https://twitter.com/bortzmeyer.
curl
permet d'enregistrer un fichier sous le nom qu'il a sur le serveur. C'est l'option -O
pour utiliser le nom tel qu'il est dans l'URL ou -J
pour utiliser celui indiqué dans l'entête HTTP « Content-Disposition » (très pratique en cas de redirection web à partir d'une URL imbitable).
Elle peut également nommer un fichier en fonction d'une regex capturante : curl 'https://site.example/{fichier}' -o '2023-01-02_#1'
. Pratique quand une URL sous forme de regex désigne plusieurs fichiers. Exemple du manuel : curl "http://{site,host}.host[1-5].com" -o "#1_#2"
.
Elle peut également recréer une arborescence qui existe côté serveur. C'est l'option --create-dirs
. Exemple : t'as plusieurs URL de la forme https://site.example/{<année>/<mois>/<jour>/fichier}
. Les dossiers seront créés s'ils n'existent pas. Pas d'erreur sinon.
Thunderbird propose un mode hors-ligne : « Fichier », « Hors connexion ». Mais, il se désactivera à la prochaine ouverture.
Pour rester hors ligne de manière permanente : « Édition », « Paramètres », onglet « Général », et tout en bas, il y a une section « Hors connexion » avec un bouton vers une boîte de dialogue. J'ai décoché « Toujours passer en mode en ligne lorsque cela est possible » et j'ai coché « Passer en mode hors connexion » dans la section « État manuel au démarrage ».
Un outil de la Commission européenne pour créer des sondages / enquêtes d'opinion. Utilisable par tout le monde, d'après ses conditions d'utilisation (et j'ai reçu une enquête de la part d'Enercoop, donc…).
Depuis quelque temps, j'utilise Signal, et j'en confirme les aspects négatifs que je soulignais en 2017 :
Pour limiter les dégâts des points un et trois, j'ai installé Signal sur un ancien téléphone après avoir effacé le carnet d'adresses.
#ordiphone
J'avais besoin d'envoyer un loooong SMS. Flemme de le saisir sur le clavier virtuel de mon smartphone.
Johndescs m'avait dit utiliser KDE Connect et que, quand il envoie un SMS depuis son PC, il apparaît bien dans l'historique de l'application SMS sur son téléphone. Mais, il utilise « l'appli SMS de base » alors que j'utilise Silence et que l'expression « appli de base » ne veut rien dire sur Android vu les nombreuses surcouches des équipementiers et des opérateurs.
Flemme de chercher autre chose, go pour apt install kdeconnect
et pour installer l'appli KDE Connect sur mon smartphone depuis F-Droid, le store des logiciels libres.
Depuis le menu de MATE, je lance « Indicateur de KDE Connect ». L'association smartphone<>PC se fait sans prise de tête. Si comme moi t'as un pare-feu sur ton PC (parce que je nettoie mon accès au ternet avec le VPN d'un FAI associatif, donc tous les ports entrants sont ouverts et y'a toujours un logiciel en écoute qui traînera un jour ou une fuite de trafic genre webrtc), attention, la découverte mutuelle semble se faire en multicast / broadcast (je ne sais plus). La suite des échanges semble se faire en unicast, mais, même en autorisant l’IP de mon smartphone dans Netfilter, mon ordi et lui se sont perdus de vue…
Depuis l'indicateur KDE Connect, je sélectionne mon tél puis SMS et… rien… Il en récupère aucun depuis le téléphone, même en attendant plusieurs minutes (un message dit que l'opération peut être longue, mais il y avait aucun trafic réseau entre mon ordi et mon smartphone). Est-ce parce que j'utilise Silence ou parce que j'utilise le système libre pour smartphones Lineage ? Aucune idée. En parallèle, je pouvais faire sonner mon smartphone depuis mon PC, donc il y avait bien une connexion établie entre mon ordi et mon tél.
Je décide de piloter mon smartphone depuis mon ordi (ça se nomme « Virtual Input »). Sauf que je ne trouve pas le bouton qui déclenche l'action. Je la trouve directe sur mon smartphone pour piloter mon ordi, mais pas l'inverse. Je cherche. J'ai bien octroyé toutes les permissions demandées par l'application mobile. Je cherche… Je lis les tutos… Je regarde un tuto vidéo (ça fait mal à l'égo…). Tiens, il n'a pas la même interface KDE Connect que moi… Pourtant, j'ai une version récente de KDE Connect… Je finis par découvrir un item « KDE Connect » dans mon menu MATE. Ce logiciel, qui est vraiment KDE Connect, permet, lui, de piloter mon téléphone.
Je ne sais pas si j'étais censé voir l'écran de mon smartphone sur mon ordi (il y a un graaaand carré vide qui le permettrait) mais ce n'était pas le cas chez moi. Depuis mon smartphone, j'ouvre Silence, je sélectionne mon destinataire, je me positionne dans le champ de saisie, je sélectionne le clavier KDE Connect (qu'il faut autoriser dans les paramètres d'Android). Sur KDE Connect ordi, un champ de saisie apparaît. Au quotidien, « Virtual Input » est inutilisable (champ de saisie trop petit, le texte saisi disparaît caractère par caractère comme lors de la saisie d'un mot de passe, etc.), mais pour un usage ponctuel, pour copier-coller un pavé depuis un éditeur de texte, ça fait le boulot.
Pour rire, j'ai aussi testé le mode « contrôle de présentation » qui permet d'utiliser un smartphone pour dérouler des diapos et pointer des éléments dessus (mieux qu'un pointeur laser).
Le mode « explorateur de fichiers distants » n'a pas fonctionné non plus. Oui, j'ai bien accordé les autorisations sur le tél. Oui, sur le tél, j'ai bien choisi le dossier que je voulais partager.
Ce site va vous dire si l'empreinte de votre navigateur est unique ou non, et sur quels critères il s'est basé pour le détecter.
Les navigateurs modernes sont capables de faire plein de choses (canvas, 3D, audio...)
Même pas. Je me fais gauler sur des éléments basiques : ma version de Firefox (3,37 %) et surtout, l'ordre des langues demandées (2,57 %). Vient ensuite mon système (GNU/Linux). Ces informations sont communiquées dans des entêtes HTTP lors de la consultation de tout site web. Pas besoin de faire des calculs côté site web ni de faire tourner un script dans le navigateur web, c’est passif.
Am I Unique n'a rien de novateur, ça fait 13 ans que le Panopticlick de l'EFF permet de calculer l'empreinte unique d'un terminal.
Quand j'écris, dans mes plaintes CNIL par exemple, qu'insérer sur un site web une police de caractères depuis Google Fonts, une feuille de style CSS depuis BootstrapCDN, un script JavaScript depuis cdnjs de Cloudflare, un widget Twitter, etc., ça rend possible le suivi des visiteurs du site par ces sociétés commerciales qui sont présentes sur beaucoup de sites, je ne fantasme pas. La granularité peut aller jusqu’à l’URL précise. Lors du téléchargement de telles ressources, le navigateur web envoie des entêtes HTTP. Certains peuvent être retirés ou partiellement nettoyés, mais d’autres sont indispensables à des mécanismes de sécurité comme HTTP CORS. Bref, développeur, code mieux, internalise les ressources web que tu intègres à tes sites web "parce que c'est trop beau" (alors qu'il s'agit d'un cadeau empoisonné).
Le ministre de l'Économie a exigé que les employés des raffineries reprennent le travail et a suggéré aux entreprises d'augmenter les salaires. C'est pas l'même ton, hein. Bruno Le Maire, quand c'est pour demander quelque chose aux patrons, c'est : « permettez-moi de faire appel à l'infinie mansuétude qui vous caractérise et qui n'est pas la moindre de vos qualités en vous demandant de bien vouloir si possible redistribuer une infinitésimale partie de vos superprofits exceptionnels, éthiques, équitables et sans nul doute plus que mérités à vos salariés qui, sans vous, ne serez que poussière ballottée par les vents hostiles de la vie et qui n'ont pas le discernement nécessaire pour réaliser l'immense privilège dont ils bénéficient en étant au service d'êtres de lumière dont la grandeur d'âme n'a d'égale que leur incomparable talent de gestionnaire, veuillez agréer mes fellations distinguées ». Quand c'est pour les travailleurs, c'est : « va bosser, fil de pute, dépêche-toi, veuillez agréer ta grand-mère, allez ! »
:'D
Tellement vrai. :(
Si tu veux savoir ce que vaut un homme, regarde donc comment il traite ses inférieurs, pas ses égaux.
Sirius Black dans Harry Potter et la Coupe de feu.
Via Usul. Inflation, salaires : c'est l’heure de faire grève ?
Réponse => NON il ne l'est pas (en tout cas en 2023 à l'heure où j'écris ceci)
Par contre les jeunes sont inscrits par défaut et il faut se désinscrire explicitement pour ne pas y participer de force. C'est du "pas obligatoire mais un peu forcé quand même"... #MacronieAller sur son compte volontaire sur le site du SNU (ou se le créer si besoin) et cliquer sur le bouton « Se désister du SNU ».
Inscription par défaut et il faut créer un compte pour se désister… Sérieusement… :(
J'oublie toujours : [sudo] pip3 install -U <nom_logiciel>
.
Vyslanté: enfin, un bon fils de RH comme on les aime quoi
Pokabjörn: ...parce que fils de pute c'est trop surfait ?
Vyslanté: Tout à fait ma bonne dame
Vyslanté: On respecte les travailleurs et travailleuses du sexe ici
Vyslanté: Des gens qui apportent un service utile à la société
Vyslanté: Du coup je reconfigure mes insultes pour aller taper sur la véritable lie de l'humanité
Pokabjörn: les RH ?
Pokabjörn: legit
Vyslanté: (existe aussi en parfum "milliardaire", "manager", ou "start-uper")
\o/
J'utilise l'extension Firefox Smart Referer pour substituer l'entête HTTP « Referer » de mes requêtes web par l'URL de la destination d'un lien (alors qu'il est prévu pour stocker la source). Firefox propose plusieurs paramètres natifs pour ce faire, mais aucun mécanisme de liste blanche afin que les sites web mal conçus continuent de fonctionner. Smart Referer apporte cela.
Depuis deux semaines, je ne parviens plus à me connecter à l'espace client web de la BP. Après avoir validé mon identifiant, j'arrive sur une page d'erreur :
Ce service est temporairement indisponible
Nous vous encourageons à réessayer ultérieurement
ID : <CENSURE>
<CENSURE_User-Agent>
28/01/2023 12:42:19
[version app : 6.5.1] [version config : 6.5.0] cdEtab: 10907|ServiceKey: bad|ServiceType: part
Une erreur s'est produite : {"headers":{"normalizedNames":{},"lazyUpdate":null,"headers":{}},"status":0,"statusText":"Unknown Error","url":"https://www.as-ex-ath-groupe.banquepopulaire.fr/api/oauth/v2/authorize","ok":false,"name":"HttpErrorResponse","message":"Http failure response for https://www.as-ex-ath-groupe.banquepopulaire.fr/api/oauth/v2/authorize: 0 Unknown Error","error":{"isTrusted":true}}
APP_006 | 99 | /identifier(redirect:authentifier)
Les outils de développement web montrent que la requête web destinée à l'API « https://www.as-ex-ath-groupe.banquepopulaire.fr/api/oauth/v2/authorize » retourne un code d'état HTTP 409.
L'espace client fonctionne avec un profil Firefox vierge de toute extension et de tout paramètre personnel.
Recherche dichotomique de l'extension Firefox responsable. Coupable = Smart Referer.
Dans les préférences de celle-ci, j'ajoute une exception : source = www.banquepopulaire.fr ; cible = www.as-ex-ath-groupe.banquepopulaire.fr.
Problème résolu.
Comment j'ai su ? La cible est la partie hôte de l'URL de destination identifiée comme défectueuse dans le message d'erreur et dans les outils de développement web. La source est très probablement la partie hôte de l'URL du formulaire (« https://www.banquepopulaire.fr/se-connecter/identifier »). On obtient confirmation avec l'outil de développement « Réseau », en regardant la valeur de l'entête HTTP « Referer » quand Smart Referer est désactivée.
Note : quand les noms d'hôte d'une exception sont trop longs, les préférences de Smart Referer débordent du cadre et l'on ne peut plus ajouter / supprimer une exception (car les boutons, situés à droite, ne sont plus visibles). Au lieu de chercher l'emplacement de stockage des paramètres d'une extension (réponse : ça peut être à plusieurs endroits, y compris dans le cloud avec le stockage sync), positionner le curseur de la souris dans un des champs pour l'ajout d'une exception, et utiliser la touche tabulation. ;)
ÉDIT DU 02/06/2023 : même problème et solution avec demarches.interieur.gouv.fr. FIN DE L'ÉDIT.
Initiative du syndicat Info’Com-CGT devenu, en 2020, une association à part entière. Liste des mouvements sociaux aidés disponible dans le menu (impossible de faire un lien, vive les sites web modernes).
Si tu ne veux pas utiliser HelloAsso / Paypal, un RIB est disponible pour un virement bancaire.
Pour en bénéficier. Uniquement pour des jours de grève consécutifs (ce qui en réduit la portée :( ). Un syndical local (à un employeur) doit remplir un formulaire pour la compensation de ses membres grévistes. Si absence de syndicat, un gréviste peut formuler une demande individuelle. Cf. les conditions d'éligibilité.
OpenStreetMap (OSM) : carte géographique libre et collaborative.
JOSM : logiciel codé en Java d'édition de cette carte. Installation.
Sur la carte OSM, j'ai identifié une voie (une rue) qui ne change pas de nom au bon endroit. Le cadastre, les plaques de rue et la Base Adresse Nationale sont cohérentes et en désaccord avec OSM.
Notons que Google Maps procède à un changement de nom de la voie à autre mauvais endroit, en sus d'écorcher le nom de la voie.
Pour corriger :
curl 'https://plateforme.adresse.data.gouv.fr/api-fantoir/communes/<code_INSEE_bled>/voies.csv'
. Code à utiliser dans OSM = colonnes code_commune + code_rivoli + cle_rivoli.Quand on trace une voie dans JOSM, le tracé est orienté (au sens d'un graphe orienté) : du premier nœud créé pour le tracé vers le dernier nœud du tracé. D'où les flèches que l'on voit sur un tracé quand on clique dessus.
Le sens du tracé ne détermine pas forcément le sens de circulation de la voie. Ce qui compte, c'est l'attribut « oneway » de cette voie :
Sens de quelques erreurs retournées par le validateur de JOSM :
Ajouter le certificat x509 d'une autorité de certification ou un certificat x509 intermédiaire au magasin de certificats x509 utilisé par les outils en ligne de commande (wget, curl, php-cli, etc.) :
/usr/local/share/ca-certificates/
;sudo update-ca-certificates
.Cas d'usage : depuis quelques jours, le serveur web de l'ANSSI ne diffuse plus son certificat intermédiaire (preuve), uniquement le certificat feuille correspondant à son site web vitrine. Les outils en ligne de commande (wget
, php-cli
, etc.) ne peuvent donc plus consulter ce site web (car le magasin de certificats du système contient uniquement le certificat racine, celui qui signe le certificat intermédiaire, qui lui-même signe le certificat feuille). Pratique quand t'as un agrégateur de flux RSS codé en PHP. Comme d'hab', par une magie que je ne comprends pas, les navigateurs web (Firefox, Chromium) se débrouillent.
Je ne sais plus trop à quelle occasion j'ai re-découvert qu'il existe plusieurs versions du format PDF. Sans surprise.
LibreOffice 7.0.4.2 génère du PDF 1.6 (tableur, texte, présentation, etc.). cups-pdf, l'équivalent libre et sans pub pour Unix de PDFCreator, génère du PDF 1.2 (par défaut).
Lorsque je tente d'imprimer mes documents, l'un des automates de La Poste affiche une erreur « Erreur de lecture du fichier ». Il lit bien la liste des fichiers présents sur une clé USB, ce qui signifie que le système de fichiers est à son goût (et j'en ai essayé plusieurs). Mais, après avoir sélectionné un fichier, j'ai cette erreur. Le deuxième automate imprime tous mes documents, peu importe leur origine (CUPS, LibreOffice).
Je fais le lien : et si c'était la version de PDF ?
Je n'ai pas trouvé comment la changer avec LibreOffice.
Pour CUPS, il faut changer la valeur de « DefaultPDFVer » dans /etc/cups/ppd/PDF.ppd
. Minimum : 1.2 (le fichier consigne 1.1 mais ça génère que dalle) ; maximum : 1.5. Il est inutile de redémarrer le service CUPS pour appliquer ce paramètre.
Et pour changer la version de PDF d'un document PDF existant ? Paramètre -dCompatibilityLevel=X.Y
de gs
. Exemple : gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<nom_fichier_adapté>.pdf <nom_fichier_à_adapter>.pdf
. Source. Et si jamais la compression par défaut ne te convient pas, regarde par ici.
Au final, la version de PDF n'est pas la cause du rejet de mes fichiers par l'automate de La Poste : il refuse toutes les versions de PDF, qu'elles proviennent de LibreOffice ou de Ghostscript. Ce n’est pas étonnant : la version 1.7 date de 2009, l’automate de La Poste a été conçu après (raiso : mon bureau de Poste s’est équipé début 2022, aucun usager professionnel conserve un matériel hors garantie, et un équipementier assure la garantie matérielle et son assistance durant 5 à 7 ans), donc il doit prendre en charge toutes les versions 1.X de PDF.