De plus, POSIX demande un compilateur C99, aujourd'hui on est bientôt à C23, ce serait dommage de rester sur des anciennes versions juste pour être 100% POSIX compliant.
C'est pas une lecture un peu biaisée ? Et justifiée par la course à la nouvelle ? :-)
POSIX n'impose pas de version/marque/éditeur de compilateur, et ne peut pas demander d'utiliser qu'un compilo C99. Tu peux utiliser C23 ou plus ; c'est juste que tu dois pouvoir compiler avec tout compatible C99 (cela inclus ta nouvelle version de compilateur si elle n'a pas cassé la compatibilité) pour être 100% POSIX.
Une bonne partie des développeurs sensés activent tôt ou tard les warnings (options -W de gcc/clang) qui n'est évidemment pas couvert par POSIX et donc ton utilisation non portable.
Tu sous-entends que, pour toi, les avertissements du compilateur sont incompatibles avec POSIX ? Le but n'était pourtant pas d'avoir une liste figée d'options mais d'avoir un minimum syndical qui fonctionne de manière identique (bien sûr, quand on veut faire portable on se retient d'utiliser des choses qui ne le sont pas, mais de là à conclure que la norme dit que ça ne doit pas exister ça me laisse sans voix.) :-)
POSIX stipule l'option -o de disponible donc quiconque voulait un nom de fichier prédictif devrait l'utiliser de toute manière.
L'un n'empêche pas l'autre et il y a (malheureusement) un nom par défaut stipulé. Il faudrait appeler à une évolution dans la prochaine évolution de POSIX au lieu de juste dire que aux gens qui suivent les règles que ce n'est pas recevable.
Ceci dit, on devrait effectivement/explicitement faire -o a.out (je me méfie toujours des choses implicites car elles peuvent casser et faire perdre du temps) ; sauf que ça n'empêche pas la problématique actuelle de demeurer. :-)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
La doc d'introduction met l'accent sur la facilité de prise en main …ce qui peut être au détriment des bonnes pratiques :-S Probablement le prix à payer pour la bonne affiche (j'allais dire « pour être vendeur » avant de me rappeler que ce n'est pas vendu), en tout cas on ne cherche pas à décourager par certaines considérations.
Ainsi, je ne trouve pas très propre le YAML qui devrait ressembler plutôt à
Avoir une indentation correcte et cohérente est, comme avec Python, plus facile à lire et limite les erreurs.
Il faut, systématiquement mettre les chaînes entre « quotes » pour ne pas donner l'impression comme on l'a vu que tantôt il en faut parfois par magie ou sans raison.
Je ne fais exception que pour différencier les mots clés de l'outil : "latest", "directory", etc. Par contre, dans tous les cas, en ne quotant pas "yes" je différencie bien le booléen de la chaîne de caractères (et certains linters veulent même qu'on utilise carrément "true" et rien d'autre)
Utiliser "latest" montre bien que l'outil n'impose rien et qu'on peut l'utiliser pour mettre à jour aussi sans trop de prise de tête, mais cette option va à l'encontre des bonnes pratiques si on veut être idempotent…
Maintenant, venons au cas de Jinja2, où encore on a marché sur les bonnes pratiques au profit de la facilité… car l'utilisation de "content" dans le module copy est vraiment à réserver au dernier recours. Et dans cet exemple précisément, on était dans un cas où il aurait fallut faire appel au module template… Tout cela illustre mon propos (l'outil est permissif, ce qui permet de le prendre en main facilement mais avec le revers de pouvoir faire aussi des choses pas proprettes…) Le « FAST » dans le titre indique que les petites violations des bonnes pratiques sont assumées et ça me va : vite fait ne peut être toujours 100% bien fait…
Je reviens au point qui préoccupe. Comme les éditeurs font de la coloration syntaxique pour du YAML c'est donc du YAML pur qui est vu et mis en évidence. Pour répondre à ton/ta besoin/demande, il faudrait rajouter une déclinaison qui serait la prise en compte du DSL… Pour faire une analogie, quand tu ouvres un document XHTML dans un éditeur qui le voit comme du XML, ça va certes reconnaitre qu'il y a des balises et des attributs et pouvoir indiquer les imbrications etc. Mais contrairement à un éditeur HTML pur, ça ne reconnait pas la sémantique qui lui permettrait de distinguer les balises valides des balises farfelues, et reconnaître proprement JS et CSS dedans. C'est exactement ce qu'il manque avec la prise en compte de Jinja2 dans du YAML (et c'est valable aussi si on utilise quelque autre mécanisme : j'ai perso déjà eu à faire des modèles YAML avec des variables shell mais les éditeurs ne savaient pas mettre ces intrus en évidence.)
Je pense/espère que l'éditeur que tu utilises te permets de définir assez facilement ton fichier de coloration syntaxique. Auquel cas, il te faudra partir de celui du YAML et adapter jusqu'à obtenir ton bonheur. Perso, j'utilise essentiellement Vim mais n'ayant pas eu le besoin, je n'ai pas spécialement creusé la question. Je trouve cependant pearofducks/ansible-vim et chase/vim-ansible-yaml (ou erikzaadi/vim-ansible-yaml entre autres) qui mettent en évidence des éléments du DSL. Je n'ai pas testé car je reste plus avec le fonctionnement de base et quelques réglages. Il y a divers approches avec cet éditeur (on parle par exemple de rocannon/vim-assimilate/vim-polyglot par exemple.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Ce que tu décris indique que c'est une université et des gens à bannir de partout …parce-que le comité d'éthique est plutôt un commité juridique, et que quand bien même on teste un human workflow on se cache derrière le fait de faire de la technique.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Je te confirme que tu as bonne mémoire pour AIM d'AOL, je ne sais plus pour ICQ de Mirabilis.
Je confirme aussi que Google a été moteur (probablement ce qui a motivé d'autres à faire des expérimentations ?) et a contribué Jingle (si j'ai bonne mémoire) puis s'est effectivement suicidé. Bizarrement, les autres ne veulent pas en tirer les bonnes leçons…
Pour le dernier point (sur les specs des autres services) tu soulèves un point crucial que je n'avais pas anticipé. En tout cas, pour la partie technique, XMPP permet déjà d'être concrètement et réellement interopérable et le reste n'est qu'excuses…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
On est d'accord si tu ne le demandes pas toi-même. :-)
Maintenant que tu découvres sshpass, tu vois qu'il n'y a pas de raison de ne prendre que la moitié de la lib (enfin c'est caricatural mais tu vois ce que je veux dire.) ;-) Faut juste bien insister que l'outil ne gère pas le prompt et doit fonctionner sans cette interruption.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Tout à fait ça. Et c'est d'autant plus pervers que nombre d'usagers, si j'en crois les commentaires sur HN, finissent par claquer la porte pour ces concurrents justement. Ici, on a des projets qui ont plein d'usagers/comptes pour seulement une poignet d'actifs et du fait de la politique de facturation de Gitlab sont en train de songer à passer à Github… Beaucoup qui avaient franchi le pas lors du rachat par µ$ sont en train de le regretter et de vouloir faire demi-tour.
Ton commentaire me fait dire qu'on sait ce qu'il faut faire mais qu'on préfère la vision à court terme…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Ce n'est pas faux. Je pointais surtout du doigt le fait qu'au lieu d'aller dans le sens de la standardisation, la tendance était plutôt de s'enfermer et de rompre l'interopérabilité de trucs ouverts (puis de crier que ça marche pas…)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Feux Facebook Messenger (je présume vu que l'entreprise tente plutôt de pousser Whatsapp mais peut-être que ça survivra) et Google Talk (qui a fait place à Hangout qui est en train de virer à autre chose) par exemple (et il y en a plein d'autres comme ça) ont bien utilisé XMPP à un moment, preuve que ça marche ou peut marcher… Mais une fois qu'ils estiment avoir assez de poids (de compte dans leur réseau, chez eux) ça commence à saboter l'interopérabilité puis par la supprimer. Assurément le problème n'est pas technique (au pire il leur suffirait d'ouvrir les specs de leur proto qui est si bien et mieux pour que d'autres puissent se joindre à eux pour un monde meilleur.) Il faut arrêter de gober ou servir l'excuse technique alors qu'il s'agit purement de choix idéologiques et financiers.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
C'est le contraire :
il ne faut pas voter, même par hasard, pour des assoiffé(e)s de pouvoir (et qui donc s'avèrent toujours aptes à la dictature) ;
il faut rechercher la personne qui fera le boulot (c'est vrai qu'en France on en est loin vu que le vote est pour une tête et non un programme, et qu'en prime on vote plutôt contre quelqu'un depuis des décennies.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Il y a toujours des candidats… Juste la façon de découvrir et choisir les candidats qui change : ici, la candidature n'est associé au volontariat mais à la recherche d'adéquation entre le poste et son occupant(e), mais en prime on se refuse par tout volontariat motivé par l'appât du pouvoir (ou du gain dans une entreprise.) En somme, comme dans certains pays plus au nord, les élu(e)s sont des fonctionnaires et non des psychopathes qui ont un agenda personnel qui ne cadre pas avec le bien commun. (les mêmes, en effet, qui mettent en place l'arsenal pour se faire rembourser une campagne de mensonges qui ne devrait pas avoir lieu d'être.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
C'est ce qu'il dit, je crois. Il y a RCS qui est actif sur son tél (et surtout intégré à l'appli utilisé) et donc court-circuite le fonctionnement habituel des MMS (utilisation du même réseau que les SMS.) Du coup, pas en mode data donc pas de messages plus plus.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Réveil à 5h23… Mais effectivement pas dormi dans un lit (s'assoupir dans un fauteuil en attendant qu'un process finisse et en se disant qu'on ferme les yeux cinq minutes mais en avoir pour quatre heures) triste vie de nolife (:
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
je ne fais pas la course à la performance, le sequentiel me va très bien !
T'inquiètes, je fais parfois ce genre de boucle. C'est juste que le séquentiel c'est bien ici quand le nombre de machines se compte sur le bout des doigts et que la commande ne prend pas une plombe (ça c'est un autre souci mais qui entre en compte proportionnellement au nombre d'hôtes.)
Le parallélisme offert par ces outils est intéressant quand on doit faire de la masse (ou grande échelle) mais est quand même limité pour ne pas pomper toutes les ressources (déjà sur la machine d'exécution, il est bon de limiter le nombre de sous-processus fork en fonction de la RAM et du CPU, et ne pas oublier que plus on a de connexions établies plus on consomme de bande passante à l'instant et au détriment des autres)
Et du coup, pour répondre à
et les quelques fois où je me suis motivé à apprendre Ansible
Pour faire la même chose avec Ansible, avec ta liste de $hosts définie dans un fichier $hostslist (comme pour les autres outils mentionnés, avec une machine par ligne) :
ansible '*' -i "$hostlist" -m command -a "$cmd"
Il est possible d'utiliser ta liste $hosts sans passer par un fichier, mais ce n'est pas la méthode préconisée (et pas bien documentée mais on trouve la trace quelque part dans la documentation officielle.)
Petit détail quand même qui peut avoir son importance, c'est bon pour des commandes toutes simples car les redirections et tubes ne seront pas permises ainsi. Pour faire sauter ces garde-fous, c'est encore un autre module.
ansible '*' -i "$hostlist" -m shell -a "$cmd"
Il y a un troisième encore plus permissif que je n'évoquerai pas.
Et sinon, bien entendu faire gaffe aux variables d'environnement et ce genre de choses surprenantes.
En tout cas tu as maintenant le mode d'emploi pour la prochaine fois. Bien que, comme dit ailleurs, je trouve qu'il y a peu d'intérêt à te farcir Ansible si c'est juste pour ce genre de besoin ponctuel. Et parlant d'ailleurs, tu peux rajouter le tricorder (pas de rapport avec ST…) à la liste
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
$ salt-ssh '*' cmd.run 'echo "run on all hosts"'$ salt-ssh 'backend' cmd.run 'echo "run on specific host"'
équivaut en fait à
$ ansible '*' -m command -a 'echo "run on all hosts"'$ ansible 'backend' -m command -a 'echo "run on specific host"'
Après, l'utilisation du module command/cmd.run est une forme très basique qui se rapproche de ([pd]?s|d)sh évoqué récemment avec juste en prime une sortie familière quand on utilise déjà l'outil. C'est un poil plus intéressant quand on peut utiliser les autres modules.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Au début c'est viral… Passé le temps d'enthousiasme confiné, ça devient lassant. Enfin, ça rentre dans le paysage (certaines personnes ne remarquent même plus) ou ça agace…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
C'est mensonger d'affirmer qu'en décrivant l'état on n'est pas déjà en train de coder, et tu n'abordes pas l'éventuelle complexité du changement d'état qui demande beaucoup d'actions à automatiser (puisque «coder» ou «scripter» fait peur…)
Décrire l'état c'est dire : « à cette étape, s'assurer de l'existence du répertoire trucmuch »
Le coder, ce serait faire en shell : mkdir trucmuch (si tu dois faire la même chose que Ansible sous le capot, il faudrait d'abord vérifier si le répertoire existe et sinon le créer, et tracer les actions que tu fais etc. en général les gens qui disent que c'est plus simple et plus rapide de faire un script ne font pas les trois quarts de ce à quoi ils/elles comparent mais bon)
Dans le premier cas (descriptif) tu n'indiques que l'état final recherché (et dans un format qui parle à plus de gens que les personnes qui codent.) Dans le second cas (impératif) tu indiques les différentes commandes (et donc t'adresses aux gens qui comprennent le langage de scripting utilisé.) La personne qui lit ton playbook ne se préoccupe pas de l'implémentation ; ce n'est pas une question de coder ou scripter qui ferait peur, c'est juste que ce n'est pas le lieu. Bien sûr que le changement d'état est complexe et justement quand tu fais de la description d'état tu n'abordes pas la difficulté sous-jacente : donc tu ne codes pas…
Et je dis que son inventaire est moisi, celui de puppet est bien mieux pour ça. Ansible pour mon cas c'est «codez un inventaire dynamique, regardez le code source pour la doc de l'api» (et encore, y'a des trucs qui étaient pas dispos à l'époque, et la doc est plus complète qu'elle ne l'était)
Puppet a des mécanismes qui me permettent de dire sur l'hôte A «prend le cluster X et le cluster Z», et sur le B «cluster Y et Z». Sans écrire de plugins et python ou ruby ou autre…
C'est bien que admettes qu'il y a de plus en plus de plugins d'inventaire …plus le temps passe et plus t'en as. C'est bien aussi de faire le parallèle qu'un autre outil qui a pratiquement le double de son âge ait plus de plugins d'inventaire déjà prêts.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Et chaque fois qu'on creuse (en tout cas la majorité des questions que je croise sur les forums) c'est parce-que en pratique on veut mal l'utiliser (souvent comme un langage de script que ça n'est pas —on reboucle.)
Sinon, tant qu'à scripter tu pourrais proposer des modules « mieux » faits.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Ce n'est pas du mépris et ton exemple ne fait que redire ce que je dis : ça n'impose rien (malheureusement pour toi). Et je dis aussi que c'est dans l'esprit unixien qui ne contraint pas : il faut bien apprendre à utiliser les commandes sinon le système n'empêche pas root de faire rm -rf / contrairement à un autre qui veut te contraindre et te demandant dix validations pour supprimer un fichier anodin ou parfois en te refusant carrément de le faire pour une raison obscure. Donc pas de warning quand tu utilises le module command à ta guise car tu es sensé avoir lu la fichue doc[1] et savoir ce que tu fais…
Tu arrives toi-même à la conclusion que \$job-1 on faisait ce qu'il ne fallait pas faire et ce n'est pas du mépris que de faire ce triste constat (qui concerne beaucoup d'entreprises…)[2]
PS : Si tu veux t'assurer que les bonnes pratiques sont respectées dans tes playbooks, passe ansible-lint dessus… Mais, encore une fois, tu resteras libre de ne pas suivre ses avertissements et consignes.
[1] Doc qui te dit justement de bien chercher s'il n'y a pas un meilleur module, un module dédié, et que celui-là ne doit s'utiliser qu'en dernier recours… Doc aussi disponible hors ligne mais beaucoup l'ignorent.
[2] C'est du même acabit quand les boîtes développent en C (zéro garde-four) au lieu d'utiliser Ada ou Java ou Rust par exemple.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Nom par défaut gcc/clang
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [LWN] Une porte de sortie pour a.out. Évalué à 4.
C'est pas une lecture un peu biaisée ? Et justifiée par la course à la nouvelle ? :-)
POSIX n'impose pas de version/marque/éditeur de compilateur, et ne peut pas demander d'utiliser qu'un compilo C99. Tu peux utiliser C23 ou plus ; c'est juste que tu dois pouvoir compiler avec tout compatible C99 (cela inclus ta nouvelle version de compilateur si elle n'a pas cassé la compatibilité) pour être 100% POSIX.
Tu sous-entends que, pour toi, les avertissements du compilateur sont incompatibles avec POSIX ? Le but n'était pourtant pas d'avoir une liste figée d'options mais d'avoir un minimum syndical qui fonctionne de manière identique (bien sûr, quand on veut faire portable on se retient d'utiliser des choses qui ne le sont pas, mais de là à conclure que la norme dit que ça ne doit pas exister ça me laisse sans voix.) :-)
L'un n'empêche pas l'autre et il y a (malheureusement) un nom par défaut stipulé. Il faudrait appeler à une évolution dans la prochaine évolution de POSIX au lieu de juste dire que aux gens qui suivent les règles que ce n'est pas recevable.
Ceci dit, on devrait effectivement/explicitement faire
-o a.out
(je me méfie toujours des choses implicites car elles peuvent casser et faire perdre du temps) ; sauf que ça n'empêche pas la problématique actuelle de demeurer. :-)“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: il faudrait le réécrire <s>en Rust</s> !
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Test de vie et Ansible : un exemple de réalisation pour mieux comprendre l'outil . Évalué à 2.
La doc d'introduction met l'accent sur la facilité de prise en main …ce qui peut être au détriment des bonnes pratiques :-S Probablement le prix à payer pour la bonne affiche (j'allais dire « pour être vendeur » avant de me rappeler que ce n'est pas vendu), en tout cas on ne cherche pas à décourager par certaines considérations.
Ainsi, je ne trouve pas très propre le YAML qui devrait ressembler plutôt à
On va dire que je chipote, mais :
latest
", "directory
", etc. Par contre, dans tous les cas, en ne quotant pas "yes
" je différencie bien le booléen de la chaîne de caractères (et certains linters veulent même qu'on utilise carrément "true
" et rien d'autre)latest
" montre bien que l'outil n'impose rien et qu'on peut l'utiliser pour mettre à jour aussi sans trop de prise de tête, mais cette option va à l'encontre des bonnes pratiques si on veut être idempotent…Maintenant, venons au cas de Jinja2, où encore on a marché sur les bonnes pratiques au profit de la facilité… car l'utilisation de "
content
" dans le modulecopy
est vraiment à réserver au dernier recours. Et dans cet exemple précisément, on était dans un cas où il aurait fallut faire appel au moduletemplate
… Tout cela illustre mon propos (l'outil est permissif, ce qui permet de le prendre en main facilement mais avec le revers de pouvoir faire aussi des choses pas proprettes…) Le « FAST » dans le titre indique que les petites violations des bonnes pratiques sont assumées et ça me va : vite fait ne peut être toujours 100% bien fait…Je reviens au point qui préoccupe. Comme les éditeurs font de la coloration syntaxique pour du YAML c'est donc du YAML pur qui est vu et mis en évidence. Pour répondre à ton/ta besoin/demande, il faudrait rajouter une déclinaison qui serait la prise en compte du DSL… Pour faire une analogie, quand tu ouvres un document XHTML dans un éditeur qui le voit comme du XML, ça va certes reconnaitre qu'il y a des balises et des attributs et pouvoir indiquer les imbrications etc. Mais contrairement à un éditeur HTML pur, ça ne reconnait pas la sémantique qui lui permettrait de distinguer les balises valides des balises farfelues, et reconnaître proprement JS et CSS dedans. C'est exactement ce qu'il manque avec la prise en compte de Jinja2 dans du YAML (et c'est valable aussi si on utilise quelque autre mécanisme : j'ai perso déjà eu à faire des modèles YAML avec des variables shell mais les éditeurs ne savaient pas mettre ces intrus en évidence.)
Je pense/espère que l'éditeur que tu utilises te permets de définir assez facilement ton fichier de coloration syntaxique. Auquel cas, il te faudra partir de celui du YAML et adapter jusqu'à obtenir ton bonheur. Perso, j'utilise essentiellement Vim mais n'ayant pas eu le besoin, je n'ai pas spécialement creusé la question. Je trouve cependant pearofducks/ansible-vim et chase/vim-ansible-yaml (ou erikzaadi/vim-ansible-yaml entre autres) qui mettent en évidence des éléments du DSL. Je n'ai pas testé car je reste plus avec le fonctionnement de base et quelques réglages. Il y a divers approches avec cet éditeur (on parle par exemple de rocannon/vim-assimilate/vim-polyglot par exemple.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: SF ?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Un peu de SF dans l'actualité.. Évalué à 3.
Mais le lectorat ici aurait râlé et se serait senti trompé si on avait parlé de PF ; pas simple la vie.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Pas complètement nouveau
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse à la dépêche Retour sur l’affaire des « patchs hypocrites » de l’Université du Minnesota. Évalué à 6.
Ce que tu décris indique que c'est une université et des gens à bannir de partout …parce-que le comité d'éthique est plutôt un commité juridique, et que quand bien même on teste un human workflow on se cache derrière le fait de faire de la technique.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Et techniquement ?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien EU to force WhatsApp, Facebook Messenger, iMessage to interoperate with others - OSnews. Évalué à 5.
Je te confirme que tu as bonne mémoire pour AIM d'AOL, je ne sais plus pour ICQ de Mirabilis.
Je confirme aussi que Google a été moteur (probablement ce qui a motivé d'autres à faire des expérimentations ?) et a contribué Jingle (si j'ai bonne mémoire) puis s'est effectivement suicidé. Bizarrement, les autres ne veulent pas en tirer les bonnes leçons…
Pour le dernier point (sur les specs des autres services) tu soulèves un point crucial que je n'avais pas anticipé. En tout cas, pour la partie technique, XMPP permet déjà d'être concrètement et réellement interopérable et le reste n'est qu'excuses…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Longue vie et prospérité
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Automatisation méthode KISS et sans YAML. Évalué à 3.
On est d'accord si tu ne le demandes pas toi-même. :-)
Maintenant que tu découvres sshpass, tu vois qu'il n'y a pas de raison de ne prendre que la moitié de la lib (enfin c'est caricatural mais tu vois ce que je veux dire.) ;-) Faut juste bien insister que l'outil ne gère pas le prompt et doit fonctionner sans cette interruption.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Équitable
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Upcoming changes to user limits on Free tier of GitLab SaaS . Évalué à 3.
Tout à fait ça. Et c'est d'autant plus pervers que nombre d'usagers, si j'en crois les commentaires sur HN, finissent par claquer la porte pour ces concurrents justement. Ici, on a des projets qui ont plein d'usagers/comptes pour seulement une poignet d'actifs et du fait de la politique de facturation de Gitlab sont en train de songer à passer à Github… Beaucoup qui avaient franchi le pas lors du rachat par µ$ sont en train de le regretter et de vouloir faire demi-tour.
Ton commentaire me fait dire qu'on sait ce qu'il faut faire mais qu'on préfère la vision à court terme…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Et techniquement ?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien EU to force WhatsApp, Facebook Messenger, iMessage to interoperate with others - OSnews. Évalué à 4.
Ce n'est pas faux. Je pointais surtout du doigt le fait qu'au lieu d'aller dans le sens de la standardisation, la tendance était plutôt de s'enfermer et de rompre l'interopérabilité de trucs ouverts (puis de crier que ça marche pas…)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Équitable
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Upcoming changes to user limits on Free tier of GitLab SaaS . Évalué à 3.
Comme là ?
Faut toujours se gaver avant que ça tombe …comme Mandriva une fois côté.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Et techniquement ?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien EU to force WhatsApp, Facebook Messenger, iMessage to interoperate with others - OSnews. Évalué à 10.
Feux Facebook Messenger (je présume vu que l'entreprise tente plutôt de pousser Whatsapp mais peut-être que ça survivra) et Google Talk (qui a fait place à Hangout qui est en train de virer à autre chose) par exemple (et il y en a plein d'autres comme ça) ont bien utilisé XMPP à un moment, preuve que ça marche ou peut marcher… Mais une fois qu'ils estiment avoir assez de poids (de compte dans leur réseau, chez eux) ça commence à saboter l'interopérabilité puis par la supprimer. Assurément le problème n'est pas technique (au pire il leur suffirait d'ouvrir les specs de leur proto qui est si bien et mieux pour que d'autres puissent se joindre à eux pour un monde meilleur.) Il faut arrêter de gober ou servir l'excuse technique alors qu'il s'agit purement de choix idéologiques et financiers.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Sans oublier les quinzaines
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [Letlang] Faire la différence entre un nombre et une quantité. Évalué à 1.
[troll]

On y vient tout doucement, depuis le temps que j'attends que la discussion semi philosophique dérive façon scientologie quantique
[/troll]
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Ça donne envie de voter au hasard.
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Un peu de SF dans l'actualité.. Évalué à 2.
C'est le contraire :
il ne faut pas voter, même par hasard, pour des assoiffé(e)s de pouvoir (et qui donc s'avèrent toujours aptes à la dictature) ;
il faut rechercher la personne qui fera le boulot (c'est vrai qu'en France on en est loin vu que le vote est pour une tête et non un programme, et qu'en prime on vote plutôt contre quelqu'un depuis des décennies.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Élection sans candidat
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Un peu de SF dans l'actualité.. Évalué à 1.
Il y a toujours des candidats… Juste la façon de découvrir et choisir les candidats qui change : ici, la candidature n'est associé au volontariat mais à la recherche d'adéquation entre le poste et son occupant(e), mais en prime on se refuse par tout volontariat motivé par l'appât du pouvoir (ou du gain dans une entreprise.) En somme, comme dans certains pays plus au nord, les élu(e)s sont des fonctionnaires et non des psychopathes qui ont un agenda personnel qui ne cadre pas avec le bien commun. (les mêmes, en effet, qui mettent en place l'arsenal pour se faire rembourser une campagne de mensonges qui ne devrait pas avoir lieu d'être.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: C'est le contraire
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Scoop qui mérite la une : la communauté Python soutien l’Ukraine. Évalué à 1.
C'est le coup de la mère qui ressemble à la fille ça.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Le SMS, la Data et le RCS (ouin ouin ouin, fuuuu fuuu)
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Google récupère vos SMS sans prévenir et de manière illégale. Évalué à 2.
C'est ce qu'il dit, je crois. Il y a RCS qui est actif sur son tél (et surtout intégré à l'appli utilisé) et donc court-circuite le fonctionnement habituel des MMS (utilisation du même réseau que les SMS.) Du coup, pas en mode data donc pas de messages plus plus.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Nom par défaut gcc/clang
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [LWN] Une porte de sortie pour a.out. Évalué à 2.
Réveil à 5h23… Mais effectivement pas dormi dans un lit (s'assoupir dans un fauteuil en attendant qu'un process finisse et en se disant qu'on ferme les yeux cinq minutes mais en avoir pour quatre heures) triste vie de nolife (:
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: il faudrait le réécrire <s>en Rust</s> !
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Test de vie et Ansible : un exemple de réalisation pour mieux comprendre l'outil . Évalué à 4.
T'inquiètes, je fais parfois ce genre de boucle. C'est juste que le séquentiel c'est bien ici quand le nombre de machines se compte sur le bout des doigts et que la commande ne prend pas une plombe (ça c'est un autre souci mais qui entre en compte proportionnellement au nombre d'hôtes.)
Le parallélisme offert par ces outils est intéressant quand on doit faire de la masse (ou grande échelle) mais est quand même limité pour ne pas pomper toutes les ressources (déjà sur la machine d'exécution, il est bon de limiter le nombre de sous-processus
fork
en fonction de la RAM et du CPU, et ne pas oublier que plus on a de connexions établies plus on consomme de bande passante à l'instant et au détriment des autres)Et du coup, pour répondre à
Pour faire la même chose avec Ansible, avec ta liste de
$hosts
définie dans un fichier$hostslist
(comme pour les autres outils mentionnés, avec une machine par ligne) :Il est possible d'utiliser ta liste
$hosts
sans passer par un fichier, mais ce n'est pas la méthode préconisée (et pas bien documentée mais on trouve la trace quelque part dans la documentation officielle.)Petit détail quand même qui peut avoir son importance, c'est bon pour des commandes toutes simples car les redirections et tubes ne seront pas permises ainsi. Pour faire sauter ces garde-fous, c'est encore un autre module.
Il y a un troisième encore plus permissif que je n'évoquerai pas.
Et sinon, bien entendu faire gaffe aux variables d'environnement et ce genre de choses surprenantes.
En tout cas tu as maintenant le mode d'emploi pour la prochaine fois. Bien que, comme dit ailleurs, je trouve qu'il y a peu d'intérêt à te farcir Ansible si c'est juste pour ce genre de besoin ponctuel. Et parlant d'ailleurs, tu peux rajouter le tricorder (pas de rapport avec ST…) à la liste
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: salt(-ssh)
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Automatisation méthode KISS et sans YAML. Évalué à 4.
À noter que le même exemple
équivaut en fait à
Après, l'utilisation du module
command
/cmd.run
est une forme très basique qui se rapproche de([pd]?s|d)sh
évoqué récemment avec juste en prime une sortie familière quand on utilise déjà l'outil. C'est un poil plus intéressant quand on peut utiliser les autres modules.“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Longue vie et prospérité
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Automatisation méthode KISS et sans YAML. Évalué à 3.
Faut rien présupposer et juste déléguer à SSH :) Y a(ura) toujours des solutions et c'est aux usagers/admins de faire leurs choix.
ssh-agent
sshpass
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Intérêt
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [LWN] Une porte de sortie pour a.out. Évalué à 2.
Semblerait que ce soit pour le fun
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Nom par défaut gcc/clang
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [LWN] Une porte de sortie pour a.out. Évalué à 3. Dernière modification le 26 mars 2022 à 05:55.
J'arrive trop tard ('dredi) pour proposer elf.ic
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Sutom ne fermera pas
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien Pas d’entente avec France Télévision : SUTOM ferme. Évalué à 2.
Au début c'est viral… Passé le temps d'enthousiasme confiné, ça devient lassant. Enfin, ça rentre dans le paysage (certaines personnes ne remarquent même plus) ou ça agace…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: il faudrait le réécrire <s>en Rust</s> !
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Test de vie et Ansible : un exemple de réalisation pour mieux comprendre l'outil . Évalué à 6.
Décrire l'état c'est dire : « à cette étape, s'assurer de l'existence du répertoire trucmuch »
Le coder, ce serait faire en shell :
mkdir trucmuch
(si tu dois faire la même chose que Ansible sous le capot, il faudrait d'abord vérifier si le répertoire existe et sinon le créer, et tracer les actions que tu fais etc. en général les gens qui disent que c'est plus simple et plus rapide de faire un script ne font pas les trois quarts de ce à quoi ils/elles comparent mais bon)Dans le premier cas (descriptif) tu n'indiques que l'état final recherché (et dans un format qui parle à plus de gens que les personnes qui codent.) Dans le second cas (impératif) tu indiques les différentes commandes (et donc t'adresses aux gens qui comprennent le langage de scripting utilisé.) La personne qui lit ton playbook ne se préoccupe pas de l'implémentation ; ce n'est pas une question de coder ou scripter qui ferait peur, c'est juste que ce n'est pas le lieu. Bien sûr que le changement d'état est complexe et justement quand tu fais de la description d'état tu n'abordes pas la difficulté sous-jacente : donc tu ne codes pas…
C'est bien que admettes qu'il y a de plus en plus de plugins d'inventaire …plus le temps passe et plus t'en as. C'est bien aussi de faire le parallèle qu'un autre outil qui a pratiquement le double de son âge ait plus de plugins d'inventaire déjà prêts.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: il faudrait le réécrire <s>en Rust</s> !
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Test de vie et Ansible : un exemple de réalisation pour mieux comprendre l'outil . Évalué à 6.
Et chaque fois qu'on creuse (en tout cas la majorité des questions que je croise sur les forums) c'est parce-que en pratique on veut mal l'utiliser (souvent comme un langage de script que ça n'est pas —on reboucle.)
Sinon, tant qu'à scripter tu pourrais proposer des modules « mieux » faits.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: il faudrait le réécrire <s>en Rust</s> !
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Test de vie et Ansible : un exemple de réalisation pour mieux comprendre l'outil . Évalué à 5.
Ce n'est pas du mépris et ton exemple ne fait que redire ce que je dis : ça n'impose rien (malheureusement pour toi). Et je dis aussi que c'est dans l'esprit unixien qui ne contraint pas : il faut bien apprendre à utiliser les commandes sinon le système n'empêche pas root de faire
rm -rf /
contrairement à un autre qui veut te contraindre et te demandant dix validations pour supprimer un fichier anodin ou parfois en te refusant carrément de le faire pour une raison obscure. Donc pas de warning quand tu utilises le modulecommand
à ta guise car tu es sensé avoir lu la fichue doc[1] et savoir ce que tu fais…Tu arrives toi-même à la conclusion que \$job-1 on faisait ce qu'il ne fallait pas faire et ce n'est pas du mépris que de faire ce triste constat (qui concerne beaucoup d'entreprises…)[2]
PS : Si tu veux t'assurer que les bonnes pratiques sont respectées dans tes playbooks, passe
ansible-lint
dessus… Mais, encore une fois, tu resteras libre de ne pas suivre ses avertissements et consignes.[1] Doc qui te dit justement de bien chercher s'il n'y a pas un meilleur module, un module dédié, et que celui-là ne doit s'utiliser qu'en dernier recours… Doc aussi disponible hors ligne mais beaucoup l'ignorent.
[2] C'est du même acabit quand les boîtes développent en C (zéro garde-four) au lieu d'utiliser Ada ou Java ou Rust par exemple.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume