L'idée c'est que toi physiquement avec ta CI (donc toi et personne d'autre) va aller dans un bureau de Poste pour filer des pouvoir à cette appli sur ce téléphone
Il faut se déplacer physiquement avec un document papier pour une appli sur smartphone ? Ou bien tu fais une analogie qui me passe au dessus de la tête avec ton bureau de poste et ta CI ?
Je ne comprenais pas que tu parlais du point 4 puisque je ne conçois même pas ça comme une option qui puisse être pertinente dans un seul cas…
J’en déduis que j’ai eu la chance d’être épargné par une elle absurdité jusqu’ici mais grace à toi je sais que ça existe alors si je tombe un jour sur ce genre de truc je serais moins déstabilisé !
Ce dernier point, bien que très utile,
Quand ÇA s’avère « utile » (pour livrer un truc qui marche) c’est que tout le projet s’apparente à un château de cartes en papier toilette humide à mon avis ^^
Engage à quoi ? Si j’achète une SIM prépayée et emprunte le téléphone de mon jardinier ils vont faire quoi ?
« Disposant » c’est bien vague comme concept. Il faudrait que tu m’expliques plus précisément, comme si j’avais sept ans et demi, parce que je ne vois absolument pas ce que tu veux dire.
Demander l’aide de l’assistance sociale peut-être ?
Elle pourra faire les démarches « à ta place ». Ensuite c’est soit il ou elle qui te convainc de t’équiper d’un smartphone pour sortir de cette triste marginalité, soit c’est toi qui la convainc de fermer ses comptes Google, Facebook etc… et d’installer Linux sur son desktop !
Certaines personnes âgées font ainsi et comme nulle discrimination lié à l’âge ne peut être, je vois pas pourquoi ça te serait refusé. Tu dis que tu y arrives pas, que tu as peur des smartphones avec leurs ondes cancérogène, que les ordinateurs ne t’aiment pas, faut réussir à convaincre que tu as besoin d’aide. Faut pas qu’on te prenne pour un dangereux anarchiste mormon et psychopathe par contre, fais attention !
Peut-être comme moi, pour être POSIX/portable ?
Peut-être juste que tu n’as pas eu besoin des plus ?
J’ai relu plus ou moins intégralement le manuel de getopt (enfin, du getopt qui est sur ma machine pour être précis), puis exécuté un help getopts.
Sûr que getopt est plus « puissant », mais quelle complexité ! Je crois que ce n’était même pas une histoire d’être POSIX. Juste un désire de m’épargner un tel « merdier » :)
Sinon il y a aussi cette méthode, basique, qu’il faudrait que je teste un jour :
Mais je crois que ça souffre du même souci que la méthode de transformer toutes les options longues en leur équivalent court avant de passer la main à getopts : si une valeur a la forme '-x' ou '--xxx' ça coince. (oui j’ai eu le cas)
Je vais garder mes, maintenant 12 paramètres positionnels et attendre l’éclair de génie qui éclairera mon choix d’une gestion des options satisfaisante ! ^^
Si c’était un script pour le boulot susceptible d’être utilisé par autrui je pense qu’actuellement ce serait getopts avec options courtes uniquement ! À 12 paramètres j’aurais encore de la marge avant d’être bloqué. E j’ai l’impression qu’arrivé à un tel nombre de paramètre faut aller vers des sous-commandes si on veut faire quelque chose un minimum ergonomique.
Posté par Marotte ⛧ .
En réponse au journal Args parser pour shell.
Évalué à 4.
Dernière modification le 21 février 2024 à 22:38.
bash fais aussi bien que python avec un script bash qui consiste à donner un code à manger à cpython
Je pense d’abord aux utilitaires tels que bc ou find, pour ne citer que ceux-là, qui sont définis dans POSIX et pas implémentés en Python. Je considère qu’il font parti du « langage » au sens large. Comme par exemple la bibliothèque "sys" fait partie de Python.
Le shell a été pensé comme un outil destiné à articuler ces autres programmes (les articuler autour du noyau), programmes implémentés en C pour des raisons évidente de performance. Je ne t’apprends rien.
Si tu utilise un binaire écrit en C ou autre langage, ou un script dans un autre langage, serait-ce du python, tu ne cesses pas pour autant de « faire du shell ».
Dirais-tu que tu cesses de faire du Python si tu utilises numpy ?
La différence que je vois c’est qu’en Bash tu appelles rarement d’autres outils « pure bash », au contraire de Python où tu vas trouver des bibliothèques « pure Python » (paramiko par exemple). Mais ça finira toujours par exécuter du C à un moment (cpython et bash étant eux-mêmes implémentés en C), même de l’assembleur si on continue le raisonnement… je ne trouve pas que ce genre de considération a le moindre de sens pour distinguer les deux langages. Ah si, peut-être celle-ci : pour reprendre l’exemple de paramiko, vu que c’est implémenté en Python tu peux modifier ce composant tout en continuant à à « parler Python », tu peux surcharger par exemple. Et voilà comment on en arrive à ce que je disais : des scripts Pythons qui pètent à un moment donné parce que celles et ceux qui l’ont écrit ont surchargé telle ou telle bibliothèque et que les chances que cette surcharge résiste à l’évolution de la bibliothèque s’amenuisent avec le temps, d’où on se retrouve avec des requirements.txt longs comme le bras.
Évidemment on peut faire le « sagouin » tout pareil en shell en faisant reposer son script sur un binaire à telle version ou compilé avec telles options, on peut… mais :
Bash n’incite pas à cela puisque ça implique soit de compiler du C, soit « faire du Python » ou autre
Je pense qu’on peut comparer la stabilité de l’interface du binaire ssh, mise en œuvre de référence de libssh (ie: OpenSSL en pratique bien souvent…) et livré avec celle-ci, et la stabilité de l’interface de paramiko, je ne suis pas sûr que paramiko soit aussi figé (quoi qu’aujourd’hui j’ose espérer que c’est plutôt le cas) que le premier.
Donc pour conclure, l’un dans l’autre, Perl, Python et Bash (leurs écosystèmes) ont des différences d’architecture mais fondamentalement aucune : ce sont des langages interprétés, point barre. C’est juste que le « système d’import » de Bash c’est… le systèmes de fichiers ! ;)
tu as pour chacun pleins de façons de t'en sortir ou de te tirer une balle.
D’accord suivant ce que je viens de dire, mais le danger de balle dans le pied n’est pas de même nature je dirais.
Si je sais que je vais partir dans un contexte ou je ne veux pas m'embêter avec les dépendances au déploiement j'utilise des binaires statistiques et je n'ai plus qu'à vérifier la libc.
Et voilà comment un Pythonien se retrouve à faire du shell ! ^^
Avec assez d’ouverture d’esprit je pense d’ailleurs qu’on pourrait utiliser Python ou Perl comme on utilise Bash, comme shell interactif pour les opérations quotidiennes, manuelles, comme regarder le contenu d’un répertoire, supprimer un fichier, etc… Ce qui montre bien que les trois ne sont fondamentalement pas différents.
D’après moi faut clairement faire les deux. Toi comme moi nous nous conterions volontiers de l’appli spartiate sobre et sans fioriture, qui peut fonctionner sur n’importe quel type de terminal, soit-il ancien. Mais d’autres personnes, nettement plus nombreuses, ayant une vision plus profane de la chose informatique auraient l’impression qu’on se moque d’eux avec une appli low-cost pour pays du tiers-monde. Bon nombre d’entre-eux en arriveraient possiblement à questionner le bien-fondé du paiement de leur impôts avec une appli qui ressemble fondamentalement à celle qu’utilisaient leurs parents, avec d’archaïques liste-déroulantes, de ridicules check-boxes, voire même pas le moindre de drag’n’drop possible ni contenu vidéo HD ou 3D texturé !
L’éducation des masses afin qu’elles privilégient le fonctionnel et la stabilité, l’ergonomie, sur l’esthétique et la complexité, la modernité apparente, était déjà perdue il y a 40 ans, minimum. Avant même que le combat commence en fait…
On notera qu’un acteur tel que Google fourni deux versions de son webmail, une pour le marché occidental normal, et une autre pour le tiers-monde et les marginaux occidentaux nostalgiques qui n’ont même pas ni la fibre ni la 5G (aucun des deux !). Dont certains utilisent même parfois des systèmes austères destinés aux serveurs et totalement inadaptés aux utilisateurs finaux, même aux doux rêveurs attachés au charme désuet des desktops ! C’est une erreur majeure de ne pas faire le nécessaire pour ces victimes de la fracture numérique inadaptées à la modernité du futur.
Mais alors quelle alternative pour inciter les utilisateurs a renouveler plus rapidement leurs smartphones et autres terminaux modernes tout en en acquérant de nouveaux afin d’assurer le chiffre d’affaire de de permettre une pénétration assez rapide des nouvelles technologies qui nous sauveront du réchauffement planétaire en transférant toute ou partie de l’humanité dans des métavers à l’abri de ces aléas climatiques d’un autre âge ?
C’est bien beau de vouloir nous renvoyer à l’âge de pierre du Web 3.0 mais faut faire appel aux IA pour réfléchir un peu aux conséquences avant d’avancer ce genre de thèse subversive, anti-science, qui sabote toute notre économie en niant la réalité de la croissance structurelle de long-terme, comme d’autres peuvent émettre l’idée que la Terre serait plate.
Ne sombrez pas dans le complotisme sectaire, exigez la 6G et le casque de réalité virtuelle pour « tous » dès le plus jeune âge.
il y a une petite hype pour réécrire tout en Rust.
Je ne suis pas bien au fait de l’état de la hype chez les développeurs systèmes mais il me paraît plus vraisemblable qu’il s’agissent d’utiliser Rust pour les nouveaux développements, mais sûrement pas de « tout réécrire » en Rust. Que ce soit pour Linux ou pour d’autres logiciels écrits actuellement en C.
Ce que je vais dire est à prendre avec des pincettes et tous les dispositifs de protection intellectuelle nécessaires, parce qu’encore une fois, mon expérience en la matière est insignifiante, mais c’est comme ça que je vois les choses, ce que je peux en dire en ma qualité de méta-expert de renommée inter-régionale.
Rust, de par sa conception plus récente que C (et pas qu’un peu !), présente sans aucun doute des caractéristiques avantageuses par rapport au C, qui traîne une « dette » (notez qu’on dit "legacy" si on veut rester hype) faramineuse, inévitable à son âge vénérable. Mais ce dernier reste une référence absolue pour les langages de « haut-niveau » compilés. C++ n’a rien à voir (aucun jugement de valeur mais l’approche est pour ainsi dire à l’opposé du C), et si Rust semble pouvoir éventuellement se revendiquer digne successeur de C, c’est assez récent. Ce n’est ni Java/Scala, ni Go, ni à ma connaissance aucun autre langage qui peut se targuer d’être au même niveau de justesse en terme d’équilibre entre « langage de haut-niveau », et « langage au plus proche du matériel et sans fioriture telle qu’un ramasse-miette, orientation object ou autre paradigme d’une complexité excessive ». Nonobstant les avantages que chacun d’entre eux peut posséder par ailleurs. C, un langage qui fait peu (tout ce qu’il faut mais pas plus), et qui le fait bien. Un langage exigeant qui ne fait aucun concession sur la performance pour disposer de fonctionnalités destinées à éviter au développeur de se fourvoyer.
Je pense que l’article ci-dessous, datant d’il y a trois mois, bien qu’assurément entaché d’inexactitudes qu’il m’est malheureusement impossible de préciser, dresse un état des lieux relativement représentatif. État des lieux que je résumerai de façon tout aussi relativement inexacte : « Rust dans Linux, on peut dire que ça a dépassé le statut d’idée à discuter, mais pas encore atteint celui d’une évidence indiscutable. »
L'entropie est de 44 bits si l'attaquant sait que cette méthode est utilisée, qu'il connaît la liste de mots initiale et le nombre de mots choisis.
Tu as sûrement raison, j’avoue ne pas comprendre d’où viennent les chiffres de 228 (dans le premier cas) et 244 (dans le second). En tous cas une chose est sûre, me semble-t-il, c’est que dans les deux cas l’entropie est plus faible qu’un mot de passe de la même longueur utilisant le même ensemble de caractères et qui serait vraiment aléatoire. Si on prend par exemple erotic flower stapled ouragan, qu’on fait l’hypothèse que sont utilisé 26 lettres minuscules + espace, qu’il y a comme ici 29 caractères, disons entre 20 et 40, si on sait qu’il s’agit de trois, quatre ou cinq mots de la langue anglaise séparés par des espaces, en terme d’entropie on est bien de deçà de ce qu’on peut atteindre avec les seuls éléments "longueur" et "nombre de figures" si on ne se fixe pas une règle de ce genre, on peut éventuellement avoir un 'xmafhxdgv hcpmmbc f fgsiegnxqw'. Idem pour le premier exemple si on s’abstient de partir d’un mot existant: c0qui!!4g3 vs. vv59yd!c4j. Mais bien sûr c’est là le point du XKCD, on est dans le compromis entre "entropie" et "mémorisabilité".
On devrait peut-être enseigner les méthodes de choix d’un mot de passe vers le CE2-CM1. C’est sûrement aussi, voire plus utile comme compétence que de savoir poser une division ou distinguer un complément d’objet d’un attribut du sujet…
il est possible aussi que ce soit une tambouille du clavier par dessus le système
Je pensais plutôt à ça, avec quelques condensateurs pour que le réglage persiste un moment. Côté driver je n’ai rien de spécial me semble-t-il, mais je ne suis pas très sûr (je suis même passablement largué je dois dire…). C’est "usbhid, hid_generic, hid" qui gère ça non ?
Mais faudrait que je check, tu as p-e raison.
Qu’importe le clavier (même ceux même pas à dix balles), ça fait pas bon ménage avec : les poils d’animaux, la fumette (ça permet de générer autant de dégâts que de la poussière sur dix à cent fois plus de temps), les miettes diverses (inévitables même quand on pense manger proprement devant son matériel) et les liquides (parfois quelques gouttes dans le tissus nettoyant)
je sais bien mais je n’avais jamais observé ce genre de problème avec ceux à membrane. Ceci dit c’est peut-être juste une question que je m’habitue. Le toucher est vraiment différent. Et nettement plus agréable et confortable malgré ces « ratés ».
(longueur d’activation, butée, etc.)
Oui j’ai vu ça, il y a même un code couleur pour les mécanismes et ces paramètres je crois. C’est un domaine très riche, dont la disposition, par exemple n’est qu’un des aspect. Le clavier reste encore l’interface par excellence pour interagir avec un ordinateur. En attendant un moyen de connecter directement l’activité électrique du cerveau. ^^ La voix par exemple ce n’est pas inintéressant mais sûrement pas encore ni assez fiable ni assez versatile. Les dispositifs de pointage aussi bien sûr complètent utilement le clavier (l’infographie au clavier c’est pas ouf par exemple).
Sur AZERTY je crois que le plus surprenant c’est la touche pour ù, lettre utilisée dans un seul mot du français (un mot très important certes, mais bon…) !
C’est clairement pas idiot comme conseil mais mettre à jour un BIOS ça peut être encore plus touchy (et risqué par ailleurs). Je ne suis pas sûr que ce soit le meilleur conseil dans son cas. Même si son BIOS n’est pas à jour il devrait quand même pouvoir démarrer sur une clé USB.
Comment as-tu créé ta clé ? Je ne connais pas Mate mais généralement les images ISO d’installation de distribution sont dites « hybrides », et le plus simple (c’est comme ça que je fais pour ma part), plutôt que d’utiliser un utilitaire particulier, c’est d’utiliser la commande dd.
Évidemment il te faut un OS Linux fonctionnel pour procéder ainsi (quoi que Cygwin entre autre doit le permettre mais là on va faire que s’embrouiller…), mais au moins tu es sûr que l’image est copié « telle que » sur la clé, aucun utilitaire pour venir faire la moindre tambouille.
dd if=le_fichier_dinstallation.iso of=/dev/sdN
Bien sûr attention à quel chiffre tu mets pour "N", sois sûr que ce soit ta clé, et pas ton disque dur ou autre chose, ça ne pardonnerait pas.
Notebook Upgrade Bay
Notebook Hard Drive
Notebook Ethernet
Si tu ne vois pas "USB" dans ce menu, p-e aller voir dans le BIOS si tu n’aurais pas un réglage à faire, si ton image sur la clé est foireuse il devrait quand même pouvoir essayer de booter dessus pour seulement ensuite te dire (en substance) : « Pas d’OS sur le machin. Appuyer la touche n’importe. »
Au pire si tu as moyen de prendre une photo de là où tu es bloqué p-e que quelqu’un pourra t’aider.
Et si tu as la possibilité d’essayer avec une autre clé, fais-le, on sait jamais.
C’est exactement pour ce genre de possible galère que je pense qu’il vaut mieux rallonger le mot de passe que mettre un caractère « exotique ». J’ai eu le soucis assez régulièrement par le passé, je sais maintenant où sont le w, le m, le z, et quelques diacritiques, ou que les chiffres nécessitent pas de Shift, avec une dispo qwerty.
Il me serait jamais venu à l’idée d’utiliser un qwerty (en tant que français), les français qui font ça, c’est une question d’habitude ? Les premiers PC vendus en France avaient des claviers qwerty ? Ou bien vous utilisez une disposition qwerty sur un clavier qui est « physiquement » azerty par snobisme pour une bonne raison ?
À ça peut s’ajouter encore un sur-couche de problème… Il y a quelques temps j’ai acquis un clavier à touches mécaniques, pour voir ce que ça donnait. Il se trouve qu’en plus d’avoir des touches mécaniques elles ont des loupiottes, ça aucun problème, mais c’est un clavier dit « de gamer », on peut donc, par exemple échanger les touches qzsd avec les flèches. Je l’ai appris par hasard suite à un appuis involontaire sur la « bascule » qui active ce réglage, bah je me suis trouvé con. Surtout que débrancher le clavier un moment (le temps de brancher un bon vieux clavier de merde avec des touches « caoutchouc » pour finir mon taf) et bien ça ne remet pas la configuration à zéro (oui c’est sûr c’est plutôt une feature je dis pas ^^). J’ai fini par trouver mais ce fût un peu laborieux.
Au sujet des touches mécaniques : ya pas à dire le toucher est plus agréable, par contre j’ai certaines touches qui parfois ne s’activent pas. J’en ai déjà remplacé quelques une (le clavier était livré avec quelques mécanismes de remplacement…) mais c’est le genre de truc qui ne m’étais jamais arrivé avec des claviers normaux à 10 balles… Ceci dit je ne suis pas capable de dire pourquoi ça déconne précisément, vu qu’il y a un tas de raisons possible, alors je suppose que c’est une conjonction de toutes :
C’est pas le premier prix mais quand je vois les prix qu’atteignent les claviers mécaniques je sais que j’ai pas le top
Je suis un bourrin et les touches prennent cher, ces bêtes là sont probablement plus délicates que les claviers classiques
Les poils d’animaux ont tout l’espace nécessaire pour aller se foutre où il ne faut pas (j’ai déjà ôté toutes les touches (enfin les « capuchons », les mécanismes c’est assez relou à sortir…) pour dégager les poils, mais je vais pas faire ça tout le temps.
N’ayant jamais eu une motricité fine très développée et le temps passant, mes doigts ne frappent plus forcément là où mon cerveau s’attend à ce qu’ils frappent avec une précision suffisante. ^^
Posté par Marotte ⛧ .
En réponse au journal Args parser pour shell.
Évalué à 3.
Dernière modification le 17 février 2024 à 21:53.
Ah si, une remarque quand même. C’est quelque chose que je faisais aussi, en préfixant pour éviter tout risque de collisions mais de ce que j’ai compris, par convention les identifiants (ie: non de variable) en majuscule sont à réserver aux variables d’environnement.
Mais bon… je note que tu préfixes par _ par prudence, je crois pas que ce soit très grave comme façon de faire, perso je ne vais pas réécrire tous les scripts que j’ai fait avec des variables en majuscules pour les passer en minuscules ! :) Le plus souvent je me contentais de les préfixer toutes par une chaîne dériver du script. par exemple un script "UltimateTrucWrapper" je préfixais par UTW_. Avec ça je pense être assez tranquille. Mais maintenant j’ai changé j’en ai plus rien à branler j’utilise des minuscules avec un nom le plus descriptif possible, exemple : lobby_carpet_color_RVB :)
Si tu veux que le nom soit propre à l’exécution (au cas peu probable où on exécuterait ton script 2+ fois en parallèle (dans un framework plus large qui l’inclurait par exemple…)), tu devrais p-e utiliser $$ en lieu et place de .XXXXXX ?
Après lecture rapide de ton script je dois dire que je n’ai pas le volonté de vraiment étudier le truc. Mais je le garde dans mes bookmark et le testerai p-e à l’occasion.
Et j’apprends l’existence de /usr/bin/tabs, l’aide parle de COBOL, FORTRAN et S/370, entre autre, je t’avoue que je suis trop intimidé pour essayer de comprendre à quoi ça sert ! ^^
Posté par Marotte ⛧ .
En réponse au journal Args parser pour shell.
Évalué à 3.
Dernière modification le 17 février 2024 à 21:26.
Je ne connaissais pas ${X,,} ni ${X^^} (c’est dans la « cheat sheet » à laquelle je me réfère mais je n’ai pas pris le temps de tout lire (parce qu’il m’est illusoire de tout retenir de toute façon…)).
J’ai vu que declare permettait effectivement de faire ça. Cependant je ne vois pas quels sont les cas d’usage. Vous auriez des exemples ?
si tu n'utilise pas un autre langage que tu donne à manger à un compilateur ou un interpréteur
Alors je mets de côté les langages compilés qui ont indéniablement des avantages sur les interprétés. Mais je ne vois pas ce que tu veux dire si tu parles d’interpréteur. Bash est au même titre que Perl et Python un langage interprété. Le fait que Python expose l’étape intermédiaire du bytecode ne change pas grand chose.
En d’autres termes, en quoi Perl et Python seraient de véritables langages interprétés et pas Bash ?
Les « exécutables de ma distribution » ils ont cet avantage sur les bibliothèques Python d’être nettement plus stabilisés en terme d’API… Sans parler de la quasi trivialité de la mise en place de « l’environnement d’exécution », qui s’il n’est pas très complexe dans le cas de Python, encore moins de Perl, n’est pas aussi trivial que les binaires qui constituent l’environnement d’exécution d’un script Bash.
Ça fait combien de temps que pip/pip3 ne permet même plus de faire un "search" ?
[^] # Re: Profite de tes impôts
Posté par Marotte ⛧ . En réponse au journal CPF, sans courrier, ni identité numérique, ni smartphone: idées?. Évalué à 4.
Il faut se déplacer physiquement avec un document papier pour une appli sur smartphone ? Ou bien tu fais une analogie qui me passe au dessus de la tête avec ton bureau de poste et ta CI ?
[^] # Re: getopt(1)
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
Un bout d’assembleur dans un code C, à la rigueur. exceptionnellement. Mais mélanger ainsi du Python et du Bash, non, ça mérite l’empalement.
[^] # Re: getopt(1)
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
OK, merci d’avoir pris le temps de m’expliquer.
Je ne comprenais pas que tu parlais du point 4 puisque je ne conçois même pas ça comme une option qui puisse être pertinente dans un seul cas…
J’en déduis que j’ai eu la chance d’être épargné par une elle absurdité jusqu’ici mais grace à toi je sais que ça existe alors si je tombe un jour sur ce genre de truc je serais moins déstabilisé !
Quand ÇA s’avère « utile » (pour livrer un truc qui marche) c’est que tout le projet s’apparente à un château de cartes en papier toilette humide à mon avis ^^
[^] # Re: Profite de tes impôts
Posté par Marotte ⛧ . En réponse au journal CPF, sans courrier, ni identité numérique, ni smartphone: idées?. Évalué à 3.
Engage à quoi ? Si j’achète une SIM prépayée et emprunte le téléphone de mon jardinier ils vont faire quoi ?
« Disposant » c’est bien vague comme concept. Il faudrait que tu m’expliques plus précisément, comme si j’avais sept ans et demi, parce que je ne vois absolument pas ce que tu veux dire.
# Profite de tes impôts
Posté par Marotte ⛧ . En réponse au journal CPF, sans courrier, ni identité numérique, ni smartphone: idées?. Évalué à 5. Dernière modification le 22 février 2024 à 14:03.
Demander l’aide de l’assistance sociale peut-être ?
Elle pourra faire les démarches « à ta place ». Ensuite c’est soit il ou elle qui te convainc de t’équiper d’un smartphone pour sortir de cette triste marginalité, soit c’est toi qui la convainc de fermer ses comptes Google, Facebook etc… et d’installer Linux sur son desktop !
Certaines personnes âgées font ainsi et comme nulle discrimination lié à l’âge ne peut être, je vois pas pourquoi ça te serait refusé. Tu dis que tu y arrives pas, que tu as peur des smartphones avec leurs ondes cancérogène, que les ordinateurs ne t’aiment pas, faut réussir à convaincre que tu as besoin d’aide. Faut pas qu’on te prenne pour un dangereux anarchiste mormon et psychopathe par contre, fais attention !
[^] # Re: vs argbash
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
J’ai relu plus ou moins intégralement le manuel de getopt (enfin, du getopt qui est sur ma machine pour être précis), puis exécuté un
help getopts
.Sûr que getopt est plus « puissant », mais quelle complexité ! Je crois que ce n’était même pas une histoire d’être POSIX. Juste un désire de m’épargner un tel « merdier » :)
Sinon il y a aussi cette méthode, basique, qu’il faudrait que je teste un jour :
(indiquée sur https://devhints.io/bash)
Mais je crois que ça souffre du même souci que la méthode de transformer toutes les options longues en leur équivalent court avant de passer la main à getopts : si une valeur a la forme '-x' ou '--xxx' ça coince. (oui j’ai eu le cas)
Je vais garder mes, maintenant 12 paramètres positionnels et attendre l’éclair de génie qui éclairera mon choix d’une gestion des options satisfaisante ! ^^
Si c’était un script pour le boulot susceptible d’être utilisé par autrui je pense qu’actuellement ce serait getopts avec options courtes uniquement ! À 12 paramètres j’aurais encore de la marge avant d’être bloqué. E j’ai l’impression qu’arrivé à un tel nombre de paramètre faut aller vers des sous-commandes si on veut faire quelque chose un minimum ergonomique.
[^] # Re: getopt(1)
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 4. Dernière modification le 21 février 2024 à 22:38.
Je pense d’abord aux utilitaires tels que
bc
oufind
, pour ne citer que ceux-là, qui sont définis dans POSIX et pas implémentés en Python. Je considère qu’il font parti du « langage » au sens large. Comme par exemple la bibliothèque "sys" fait partie de Python.Le shell a été pensé comme un outil destiné à articuler ces autres programmes (les articuler autour du noyau), programmes implémentés en C pour des raisons évidente de performance. Je ne t’apprends rien.
Si tu utilise un binaire écrit en C ou autre langage, ou un script dans un autre langage, serait-ce du python, tu ne cesses pas pour autant de « faire du shell ».
Dirais-tu que tu cesses de faire du Python si tu utilises numpy ?
La différence que je vois c’est qu’en Bash tu appelles rarement d’autres outils « pure bash », au contraire de Python où tu vas trouver des bibliothèques « pure Python » (paramiko par exemple). Mais ça finira toujours par exécuter du C à un moment (cpython et bash étant eux-mêmes implémentés en C), même de l’assembleur si on continue le raisonnement… je ne trouve pas que ce genre de considération a le moindre de sens pour distinguer les deux langages. Ah si, peut-être celle-ci : pour reprendre l’exemple de paramiko, vu que c’est implémenté en Python tu peux modifier ce composant tout en continuant à à « parler Python », tu peux surcharger par exemple. Et voilà comment on en arrive à ce que je disais : des scripts Pythons qui pètent à un moment donné parce que celles et ceux qui l’ont écrit ont surchargé telle ou telle bibliothèque et que les chances que cette surcharge résiste à l’évolution de la bibliothèque s’amenuisent avec le temps, d’où on se retrouve avec des requirements.txt longs comme le bras.
Évidemment on peut faire le « sagouin » tout pareil en shell en faisant reposer son script sur un binaire à telle version ou compilé avec telles options, on peut… mais :
Bash n’incite pas à cela puisque ça implique soit de compiler du C, soit « faire du Python » ou autre
Je pense qu’on peut comparer la stabilité de l’interface du binaire ssh, mise en œuvre de référence de libssh (ie: OpenSSL en pratique bien souvent…) et livré avec celle-ci, et la stabilité de l’interface de paramiko, je ne suis pas sûr que paramiko soit aussi figé (quoi qu’aujourd’hui j’ose espérer que c’est plutôt le cas) que le premier.
Donc pour conclure, l’un dans l’autre, Perl, Python et Bash (leurs écosystèmes) ont des différences d’architecture mais fondamentalement aucune : ce sont des langages interprétés, point barre. C’est juste que le « système d’import » de Bash c’est… le systèmes de fichiers ! ;)
D’accord suivant ce que je viens de dire, mais le danger de balle dans le pied n’est pas de même nature je dirais.
Et voilà comment un Pythonien se retrouve à faire du shell ! ^^
Avec assez d’ouverture d’esprit je pense d’ailleurs qu’on pourrait utiliser Python ou Perl comme on utilise Bash, comme shell interactif pour les opérations quotidiennes, manuelles, comme regarder le contenu d’un répertoire, supprimer un fichier, etc… Ce qui montre bien que les trois ne sont fondamentalement pas différents.
[^] # Re: Android 6.0 min
Posté par Marotte ⛧ . En réponse au journal CPF, sans courrier, ni identité numérique, ni smartphone: idées?. Évalué à 3. Dernière modification le 21 février 2024 à 21:19.
D’après moi faut clairement faire les deux. Toi comme moi nous nous conterions volontiers de l’appli
spartiatesobre et sans fioriture, qui peut fonctionner sur n’importe quel type de terminal, soit-il ancien. Mais d’autres personnes, nettement plus nombreuses, ayant une vision plus profane de la chose informatique auraient l’impression qu’on se moque d’eux avec une appli low-cost pour pays du tiers-monde. Bon nombre d’entre-eux en arriveraient possiblement à questionner le bien-fondé du paiement de leur impôts avec une appli qui ressemble fondamentalement à celle qu’utilisaient leurs parents, avec d’archaïques liste-déroulantes, de ridicules check-boxes, voire même pas le moindre de drag’n’drop possible ni contenu vidéo HD ou 3D texturé !L’éducation des masses afin qu’elles privilégient le fonctionnel et la stabilité, l’ergonomie, sur l’esthétique et la complexité, la modernité apparente, était déjà perdue il y a 40 ans, minimum. Avant même que le combat commence en fait…
On notera qu’un acteur tel que Google fourni deux versions de son webmail, une pour le marché occidental normal, et une autre pour le tiers-monde et les marginaux occidentaux nostalgiques qui n’ont même pas ni la fibre ni la 5G (aucun des deux !). Dont certains utilisent même parfois des systèmes austères destinés aux serveurs et totalement inadaptés aux utilisateurs finaux, même aux doux rêveurs attachés au charme désuet des desktops ! C’est une erreur majeure de ne pas faire le nécessaire pour ces victimes de la fracture numérique inadaptées à la modernité du futur.
[^] # Re: Android 6.0 min
Posté par Marotte ⛧ . En réponse au journal CPF, sans courrier, ni identité numérique, ni smartphone: idées?. Évalué à 2.
Mais alors quelle alternative pour inciter les utilisateurs a renouveler plus rapidement leurs smartphones et autres terminaux modernes tout en en acquérant de nouveaux afin
d’assurer le chiffre d’affaire dede permettre une pénétration assez rapide des nouvelles technologies qui nous sauveront du réchauffement planétaire en transférant toute ou partie de l’humanité dans des métavers à l’abri de ces aléas climatiques d’un autre âge ?C’est bien beau de vouloir nous renvoyer à l’âge de pierre du Web 3.0 mais faut faire appel aux IA pour réfléchir un peu aux conséquences avant d’avancer ce genre de thèse subversive, anti-science, qui sabote toute notre économie en niant la réalité de la croissance structurelle de long-terme, comme d’autres peuvent émettre l’idée que la Terre serait plate.
Ne sombrez pas dans le complotisme sectaire, exigez la 6G et le casque de réalité virtuelle pour « tous » dès le plus jeune âge.
[^] # Re: Mouais
Posté par Marotte ⛧ . En réponse au lien Expérimentation scheduler Linux en Rust avec des promesses de gain pour les jeux. Évalué à 3. Dernière modification le 21 février 2024 à 20:23.
Je ne suis pas bien au fait de l’état de la hype chez les développeurs systèmes mais il me paraît plus vraisemblable qu’il s’agissent d’utiliser Rust pour les nouveaux développements, mais sûrement pas de « tout réécrire » en Rust. Que ce soit pour Linux ou pour d’autres logiciels écrits actuellement en C.
Ce que je vais dire est à prendre avec des pincettes et tous les dispositifs de protection intellectuelle nécessaires, parce qu’encore une fois, mon expérience en la matière est insignifiante, mais c’est comme ça que je vois les choses, ce que je peux en dire en ma qualité de méta-expert de renommée inter-régionale.
Rust, de par sa conception plus récente que C (et pas qu’un peu !), présente sans aucun doute des caractéristiques avantageuses par rapport au C, qui traîne une « dette » (notez qu’on dit "legacy" si on veut rester hype) faramineuse, inévitable à son âge vénérable. Mais ce dernier reste une référence absolue pour les langages de « haut-niveau » compilés. C++ n’a rien à voir (aucun jugement de valeur mais l’approche est pour ainsi dire à l’opposé du C), et si Rust semble pouvoir éventuellement se revendiquer digne successeur de C, c’est assez récent. Ce n’est ni Java/Scala, ni Go, ni à ma connaissance aucun autre langage qui peut se targuer d’être au même niveau de justesse en terme d’équilibre entre « langage de haut-niveau », et « langage au plus proche du matériel et sans fioriture telle qu’un ramasse-miette, orientation object ou autre paradigme d’une complexité excessive ». Nonobstant les avantages que chacun d’entre eux peut posséder par ailleurs. C, un langage qui fait peu (tout ce qu’il faut mais pas plus), et qui le fait bien. Un langage exigeant qui ne fait aucun concession sur la performance pour disposer de fonctionnalités destinées à éviter au développeur de se fourvoyer.
Je pense que l’article ci-dessous, datant d’il y a trois mois, bien qu’assurément entaché d’inexactitudes qu’il m’est malheureusement impossible de préciser, dresse un état des lieux relativement représentatif. État des lieux que je résumerai de façon tout aussi relativement inexacte : « Rust dans Linux, on peut dire que ça a dépassé le statut d’idée à discuter, mais pas encore atteint celui d’une évidence indiscutable. »
https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/
[^] # Re: Caractère spécial
Posté par Marotte ⛧ . En réponse au journal Mon gestionnaire de mots de passe, en 50 lignes de HTML. Évalué à 4.
Tu as sûrement raison, j’avoue ne pas comprendre d’où viennent les chiffres de 228 (dans le premier cas) et 244 (dans le second). En tous cas une chose est sûre, me semble-t-il, c’est que dans les deux cas l’entropie est plus faible qu’un mot de passe de la même longueur utilisant le même ensemble de caractères et qui serait vraiment aléatoire. Si on prend par exemple
erotic flower stapled ouragan
, qu’on fait l’hypothèse que sont utilisé 26 lettres minuscules + espace, qu’il y a comme ici 29 caractères, disons entre 20 et 40, si on sait qu’il s’agit de trois, quatre ou cinq mots de la langue anglaise séparés par des espaces, en terme d’entropie on est bien de deçà de ce qu’on peut atteindre avec les seuls éléments "longueur" et "nombre de figures" si on ne se fixe pas une règle de ce genre, on peut éventuellement avoir un 'xmafhxdgv hcpmmbc f fgsiegnxqw'. Idem pour le premier exemple si on s’abstient de partir d’un mot existant:c0qui!!4g3
vs.vv59yd!c4j
. Mais bien sûr c’est là le point du XKCD, on est dans le compromis entre "entropie" et "mémorisabilité".On devrait peut-être enseigner les méthodes de choix d’un mot de passe vers le CE2-CM1. C’est sûrement aussi, voire plus utile comme compétence que de savoir poser une division ou distinguer un complément d’objet d’un attribut du sujet…
[^] # Re: Caractère spécial
Posté par Marotte ⛧ . En réponse au journal Mon gestionnaire de mots de passe, en 50 lignes de HTML. Évalué à 3. Dernière modification le 21 février 2024 à 15:44.
Je pensais plutôt à ça, avec quelques condensateurs pour que le réglage persiste un moment. Côté driver je n’ai rien de spécial me semble-t-il, mais je ne suis pas très sûr (je suis même passablement largué je dois dire…). C’est "usbhid, hid_generic, hid" qui gère ça non ?
Mais faudrait que je check, tu as p-e raison.
je sais bien mais je n’avais jamais observé ce genre de problème avec ceux à membrane. Ceci dit c’est peut-être juste une question que je m’habitue. Le toucher est vraiment différent. Et nettement plus agréable et confortable malgré ces « ratés ».
Oui j’ai vu ça, il y a même un code couleur pour les mécanismes et ces paramètres je crois. C’est un domaine très riche, dont la disposition, par exemple n’est qu’un des aspect. Le clavier reste encore l’interface par excellence pour interagir avec un ordinateur. En attendant un moyen de connecter directement l’activité électrique du cerveau. ^^ La voix par exemple ce n’est pas inintéressant mais sûrement pas encore ni assez fiable ni assez versatile. Les dispositifs de pointage aussi bien sûr complètent utilement le clavier (l’infographie au clavier c’est pas ouf par exemple).
Sur AZERTY je crois que le plus surprenant c’est la touche pour
ù
, lettre utilisée dans un seul mot du français (un mot très important certes, mais bon…) ![^] # Re: Certaines clé peuvent être matériellement incompatibles mais il ya des choses à vérifier avant.
Posté par Marotte ⛧ . En réponse au message clé bootable pas reconnue. Évalué à 3. Dernière modification le 20 février 2024 à 06:25.
Excellente remarque, au temps pour moi !
/dev/sdX et pas se gourer de X !
[^] # Re: BIOS à jour, Plop Boot Manager
Posté par Marotte ⛧ . En réponse au message clé bootable pas reconnue. Évalué à 3.
C’est clairement pas idiot comme conseil mais mettre à jour un BIOS ça peut être encore plus touchy (et risqué par ailleurs). Je ne suis pas sûr que ce soit le meilleur conseil dans son cas. Même si son BIOS n’est pas à jour il devrait quand même pouvoir démarrer sur une clé USB.
# Certaines clé peuvent être matériellement incompatibles mais il ya des choses à vérifier avant.
Posté par Marotte ⛧ . En réponse au message clé bootable pas reconnue. Évalué à 3.
Comment as-tu créé ta clé ? Je ne connais pas Mate mais généralement les images ISO d’installation de distribution sont dites « hybrides », et le plus simple (c’est comme ça que je fais pour ma part), plutôt que d’utiliser un utilitaire particulier, c’est d’utiliser la commande
dd
.Évidemment il te faut un OS Linux fonctionnel pour procéder ainsi (quoi que Cygwin entre autre doit le permettre mais là on va faire que s’embrouiller…), mais au moins tu es sûr que l’image est copié « telle que » sur la clé, aucun utilitaire pour venir faire la moindre tambouille.
dd if=le_fichier_dinstallation.iso of=/dev/sdN
Bien sûr attention à quel chiffre tu mets pour "N", sois sûr que ce soit ta clé, et pas ton disque dur ou autre chose, ça ne pardonnerait pas.
Si tu ne vois pas "USB" dans ce menu, p-e aller voir dans le BIOS si tu n’aurais pas un réglage à faire, si ton image sur la clé est foireuse il devrait quand même pouvoir essayer de booter dessus pour seulement ensuite te dire (en substance) : « Pas d’OS sur le machin. Appuyer la touche n’importe. »
Au pire si tu as moyen de prendre une photo de là où tu es bloqué p-e que quelqu’un pourra t’aider.
Et si tu as la possibilité d’essayer avec une autre clé, fais-le, on sait jamais.
[^] # Re: Ça va il est même pas trois heure !
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
Merci pour l’info, mais à quel moment c’est utile de « smallcaser » ou « uppercaser » une valeur ? C’était ça ma question.
Dans le cas d’une saisie utilisateur ? Autre ? Note que je ne remets pas en doute l’utilité, juste que je l’ignore et ça m’agace ;)
[^] # Re: echo Plop
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
TIL, merci.
[^] # Re: Caractère spécial
Posté par Marotte ⛧ . En réponse au journal Mon gestionnaire de mots de passe, en 50 lignes de HTML. Évalué à 3.
Je sais pas plus ce que c’est qu’est un geoguesser qu’un wordle _o_
[^] # Re: Caractère spécial
Posté par Marotte ⛧ . En réponse au journal Mon gestionnaire de mots de passe, en 50 lignes de HTML. Évalué à 4. Dernière modification le 17 février 2024 à 23:29.
ROFL
plop June VII V Pepsi again belleck dbfen 4 FY777
Rule 11 j’abandonne :)
[^] # Re: Caractère spécial
Posté par Marotte ⛧ . En réponse au journal Mon gestionnaire de mots de passe, en 50 lignes de HTML. Évalué à 3. Dernière modification le 17 février 2024 à 23:23.
C’est exactement pour ce genre de possible galère que je pense qu’il vaut mieux rallonger le mot de passe que mettre un caractère « exotique ». J’ai eu le soucis assez régulièrement par le passé, je sais maintenant où sont le w, le m, le z, et quelques diacritiques, ou que les chiffres nécessitent pas de Shift, avec une dispo qwerty.
Il me serait jamais venu à l’idée d’utiliser un qwerty (en tant que français), les français qui font ça, c’est une question d’habitude ? Les premiers PC vendus en France avaient des claviers qwerty ? Ou bien vous utilisez une disposition qwerty sur un clavier qui est « physiquement » azerty
par snobismepour une bonne raison ?À ça peut s’ajouter encore un sur-couche de problème… Il y a quelques temps j’ai acquis un clavier à touches mécaniques, pour voir ce que ça donnait. Il se trouve qu’en plus d’avoir des touches mécaniques elles ont des loupiottes, ça aucun problème, mais c’est un clavier dit « de gamer », on peut donc, par exemple échanger les touches qzsd avec les flèches. Je l’ai appris par hasard suite à un appuis involontaire sur la « bascule » qui active ce réglage, bah je me suis trouvé con. Surtout que débrancher le clavier un moment (le temps de brancher un bon vieux clavier de merde avec des touches « caoutchouc » pour finir mon taf) et bien ça ne remet pas la configuration à zéro (oui c’est sûr c’est plutôt une feature je dis pas ^^). J’ai fini par trouver mais ce fût un peu laborieux.
Au sujet des touches mécaniques : ya pas à dire le toucher est plus agréable, par contre j’ai certaines touches qui parfois ne s’activent pas. J’en ai déjà remplacé quelques une (le clavier était livré avec quelques mécanismes de remplacement…) mais c’est le genre de truc qui ne m’étais jamais arrivé avec des claviers normaux à 10 balles… Ceci dit je ne suis pas capable de dire pourquoi ça déconne précisément, vu qu’il y a un tas de raisons possible, alors je suppose que c’est une conjonction de toutes :
C’est pas le premier prix mais quand je vois les prix qu’atteignent les claviers mécaniques je sais que j’ai pas le top
Je suis un bourrin et les touches prennent cher, ces bêtes là sont probablement plus délicates que les claviers classiques
Les poils d’animaux ont tout l’espace nécessaire pour aller se foutre où il ne faut pas (j’ai déjà ôté toutes les touches (enfin les « capuchons », les mécanismes c’est assez relou à sortir…) pour dégager les poils, mais je vais pas faire ça tout le temps.
N’ayant jamais eu une motricité fine très développée et le temps passant, mes doigts ne frappent plus forcément là où mon cerveau s’attend à ce qu’ils frappent avec une précision suffisante. ^^
[^] # Re: echo Plop
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
Pour les plus jeunes (ou les très vieux) : https://www.youtube.com/watch?v=zGvmL21pv6c
:p
[^] # Re: echo Plop
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3. Dernière modification le 17 février 2024 à 21:53.
Ah si, une remarque quand même. C’est quelque chose que je faisais aussi, en préfixant pour éviter tout risque de collisions mais de ce que j’ai compris, par convention les identifiants (ie: non de variable) en majuscule sont à réserver aux variables d’environnement.
Mais bon… je note que tu préfixes par
_
par prudence, je crois pas que ce soit très grave comme façon de faire, perso je ne vais pas réécrire tous les scripts que j’ai fait avec des variables en majuscules pour les passer en minuscules ! :) Le plus souvent je me contentais de les préfixer toutes par une chaîne dériver du script. par exemple un script "UltimateTrucWrapper" je préfixais par UTW_. Avec ça je pense être assez tranquille. Mais maintenant j’ai changéj’en ai plus rien à branlerj’utilise des minuscules avec un nom le plus descriptif possible, exemple :lobby_carpet_color_RVB
:)# echo Plop
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 4.
Il servent à quoi les
.XXXXXX
finaux ?Si tu veux que le nom soit propre à l’exécution (au cas peu probable où on exécuterait ton script 2+ fois en parallèle (dans un framework plus large qui l’inclurait par exemple…)), tu devrais p-e utiliser
$$
en lieu et place de .XXXXXX ?Après lecture rapide de ton script je dois dire que je n’ai pas le volonté de vraiment étudier le truc. Mais je le garde dans mes bookmark et le testerai p-e à l’occasion.
Et j’apprends l’existence de
/usr/bin/tabs
, l’aide parle de COBOL, FORTRAN et S/370, entre autre, je t’avoue que je suis trop intimidé pour essayer de comprendre à quoi ça sert ! ^^[^] # Re: Ça va il est même pas trois heure !
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3. Dernière modification le 17 février 2024 à 21:26.
Je ne connaissais pas
${X,,}
ni${X^^}
(c’est dans la « cheat sheet » à laquelle je me réfère mais je n’ai pas pris le temps de tout lire (parce qu’il m’est illusoire de tout retenir de toute façon…)).J’ai vu que
declare
permettait effectivement de faire ça. Cependant je ne vois pas quels sont les cas d’usage. Vous auriez des exemples ?[^] # Re: getopt(1)
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3.
Alors je mets de côté les langages compilés qui ont indéniablement des avantages sur les interprétés. Mais je ne vois pas ce que tu veux dire si tu parles d’interpréteur. Bash est au même titre que Perl et Python un langage interprété. Le fait que Python expose l’étape intermédiaire du bytecode ne change pas grand chose.
En d’autres termes, en quoi Perl et Python seraient de véritables langages interprétés et pas Bash ?
Les « exécutables de ma distribution » ils ont cet avantage sur les bibliothèques Python d’être nettement plus stabilisés en terme d’API… Sans parler de la quasi trivialité de la mise en place de « l’environnement d’exécution », qui s’il n’est pas très complexe dans le cas de Python, encore moins de Perl, n’est pas aussi trivial que les binaires qui constituent l’environnement d’exécution d’un script Bash.
Ça fait combien de temps que pip/pip3 ne permet même plus de faire un "search" ?