Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Encore débutant en PowerShell, je m'essayais à faire le « jeu du nombre secret ».

Pour cela, je dois tester la valeur entrée pour deviner le nombre généré par un Get-Random, au lieu de faire un très simple test de type « plus petit », « plus grand » (-lt, -gt), je me suis dit que ce serait tellement plus intéressant de faire un Compare-Object.

Est-ce que cela fait une différence d'un point de vue performance ? Pas vraiment, mais en complexité de compréhension et de développement, oui, on voit la différence.
Aller chercher la méthode la plus complexe pour faire un test… PEBKAC.
PEBKAC #9124 proposé par ben_kenobi le 18/12/2013 | 29 commentaires | 👍🏽 👎🏽 +61
Bref, si on devait traduire dans un langage style C tu as fait un strcmp au lieu de bêtes < et > ?

La méthode est complexe et c'est un pebkac en prod. Par contre si tu essaie d'apprendre, c'est pas plus mal de tester un peu toutes les fonctions.
Commentaire #122866 écrit par Link le 18/12/2013 à 08h47 | 👍🏽 👎🏽
Je plussoie. C'est en utilisant les méthodes les plus tordues qu'on apprend le mieux.
Commentaire #122869 écrit par Skefrep le 18/12/2013 à 08h56 | 👍🏽 👎🏽
Il est où le PEBKAC?
Comme dit plus haut, tu teste une autre approche pour apprendre, c'est même très bien.

Mais là ça donne plus l'impression de: "Regardez tous je fais du PowerShell! Youpi!"
Commentaire #122871 écrit par Moot le 18/12/2013 à 09h11 | 👍🏽 👎🏽
C'est chiant PowerShell. C'est verbeux et la syntaxe est merdique...
Commentaire #122873 écrit par Tharkun le 18/12/2013 à 09h43 | 👍🏽 👎🏽
Etant donner que c'était fait intentionnellement dans un but précis (apprendre, jouer, tester des limites, celles du programme, et probablement les vôtres), à mon sens ce n'est pas du tout un pebkac.
Commentaire #122877 écrit par H. Finch le 18/12/2013 à 09h49 | 👍🏽 👎🏽
Donc on ne peut pas voter PEBKAC !
Et comme c'est pas lui le PEBKAC, on ne peut pas voter non plus CTLP...
Commentaire #122878 écrit par Tharkun le 18/12/2013 à 09h51 | 👍🏽 👎🏽
A mon sens le plus gênant est son faible emploi (s'il fait ça par jeu, et non par obligation) comparé à sa grande différence d'emploi dans le monde de l'informatique.
Commentaire #122879 écrit par H. Finch le 18/12/2013 à 09h51 | 👍🏽 👎🏽
Personnellement, je n'ai pas voté. Ce n'est clairement pas un CLTP : le but n'est pas de faire un programme de production. Et pas non plus un BEDP (erreur faite à son insu).
Commentaire #122880 écrit par H. Finch le 18/12/2013 à 09h53 | 👍🏽 👎🏽
Donc on peut voter CTLP pour s'être approximativement auto-peckackisé !
Commentaire #122885 écrit par juu le 18/12/2013 à 10h06 | 👍🏽 👎🏽
Une chtite précision, le but étant de faire un programme en utilisant les connaissances fraichement acquises, l'apprentissage était donc avant, là, c'était une mise en pratique.

Donc, si, c'est un PEBKAC (malheureusement).

Ensuite, contrairement à ce qui semble crû ici, si PoSh est excessivement utilisé : Windows server depuis 2008 R2, windows client depuis windows 7, environnement VmWare, System Center, etc...

donc, si, le PoSh remplace le VBS dans les env de prod.

maintenant, vous pouvez penser qu'une mise en pratique n'allant pas à l'essentiel, en utilisant les commandes et fonctions apprises juste avant, n'est pas un PEBKAC... ça doit être beau en prod' chez vous :p
Commentaire #122889 écrit par ben_kenobi le 18/12/2013 à 10h36 | 👍🏽 👎🏽
ta dernière phrase est étrange, du coup cela pourrait fort bien être mis à toutes les sauces sur l'ensemble des PEBKAC, nan ?

regardez tous...

...je travaille chez un FAI,
...je travaille dans une hotline,
...je suis plus intelligent que tout mes collègues,
...il y a une machine à café connectée dans ma boite,
...j'habite à Paris,
etc...

Que je puisses me tromper sur le côté PEBKAquien de cette anecdote doit-il nécessairement sous-entendre que je souhaite me mettre plus en avant que n'importe quel poster ?

Le simple fait de vouloir narrer nos aventures nous met forcément tous en position de "regardez tous", c'est même la base de ce genre de site, nan ?
Commentaire #122890 écrit par ben_kenobi le 18/12/2013 à 10h46 | 👍🏽 👎🏽
La syntaxe n'est pas la plus aisée, et certaines choses sont moins pratiques à manipuler qu'en shell linux.

Mais lorsque tu repasses sur du VBS... c'est pire ;)

le fait de manipuler des objets plutôt que des chaines de caractéres à tout de même ses avantages.

deplus, avec un peu de pratique tu peux instancier des objets .net, ce qui peut être pratique si tu te retrouves bloqué dans une automatisation.
et tout ceci, sans être développeur...
Commentaire #122891 écrit par ben_kenobi le 18/12/2013 à 10h48 | 👍🏽 👎🏽
Raaaaaaah j'ai mis BEDP au lieu de CTLP !
En effet je ne vois pas l'intérêt, en tant que débutant, de faire les mêmes programmes avec les mêmes fonctions/instructions/opérateurs (enfin leur équivalent) à chaque fois.

Autant utiliser de nouvelles fonctions et les spécificités du langage.
Commentaire #122898 écrit par aDev le 18/12/2013 à 11h11 | 👍🏽 👎🏽
Non, pour moi, ce n'est pas un PEBCAK, car tu faisais pour apprendre, comme dit. Même si c'est une fonction que tu utiliseras (peut-être) peu (je n'en sais rien, je ne connais pas le Power Shell), t'entraîner à utiliser sa syntaxe dans un cas difficile est plutôt intelligent : ça te permet de la retrouver ensuite simplement dans les cas plus aisé. Le vrai PEBCAK aurait été si tu avais utilisé ça dans un code final, mais faire un entraînement sous contrainte n'en est pas un à mon sens ^^.
Commentaire #122899 écrit par Audrey Azura le 18/12/2013 à 11h13 | 👍🏽 👎🏽
Parce que Compare-Object il est tombé dans ton code tout seul peut-être ?

Tu l'avais bien appris juste avant non ? Et tu l'as mis en pratique.
Certes ça ne va peut être pas à l'essentiel mais que t'aurais apporté d'utiliser -lt ou -gt à la place ?

P.S. on parle d'entraînement ou de production ici ?
Commentaire #122900 écrit par aDev le 18/12/2013 à 11h18 | 👍🏽 👎🏽
Ouaip, bien d'accord.

Écrire un fonction factorielle récursive pour un exercice, c'est pas un PEBKAC.
Écrire un fonction factorielle récursive pour un projet, c'est un PEBKAC.
Commentaire #122904 écrit par Tharkun le 18/12/2013 à 11h35 | 👍🏽 👎🏽
Fais gaffe quand même PowerShell met des données dans un cache quand il charge des objets. En tout cas il le fait avec les objets SharePoint. Si tu ouvres un site et que tu regardes une propriété, puis qu'un autre programme modifie cette propriété, il te faut réouvrir le site. Si tu te contentes de rappeler la propriété tu ne verras pas le changement.
Commentaire #122908 écrit par Acorah le 18/12/2013 à 12h46 | 👍🏽 👎🏽
J'allais écrire :
" Si c'était juste une sorte exercice dans le but d'apprendre le langage, ce n'est pas vraiment un PEBKAC. Quand on apprend, on peut faire compliqué uniquement dans le but d'apprendre à utiliser certaines fonctions, comprendre le comportement du prog dans tel ou tel cas, etc. "

Mais puisque apparemment tel n'était pas le cas, alors là, oui : PEBKAC
Commentaire #122920 écrit par Youplà le 18/12/2013 à 13h20 | 👍🏽 👎🏽
Lors d'un apprentissage, varier le chemin pour aboutir à la même destination n'est pas un PEBKAC.
Tu es arrivé à une conclusion intéressante et éducative : Ça fonctionne, mais c'est difficile à lire.
Commentaire #122933 écrit par OzoneGrif le 18/12/2013 à 13h55 | 👍🏽 👎🏽
Tiens aucun troll barbu.

Bash c'est le top, powershell c'est de la merde.

Bon ça s'est fait...
Commentaire #122945 écrit par wut le 18/12/2013 à 14h55 | 👍🏽 👎🏽
tout dépend de ce que tu fais, en fait (si j'ai bien compris) il charge les informations dans la variable, mais celle-ci ne pointe pas vers l'objet en question.
quelque chose qui ne me gêne pas dans le principe.

evidemment, dans le script, il faudra s'assurer qu'une propriété n'aura pas changé avant que de faire une action.
Commentaire #122954 écrit par ben_kenobi le 18/12/2013 à 15h44 | 👍🏽 👎🏽
Je comprends le concept "c'est pas en prod". mais le principe d'un exercice est d'essayer de faire ce qu'on fera potentiellement ensuite ne prod'...

Le but ici n'était alors pas d'utiliser n'importe quoi pour réussir l'exercice.

en plus c'est plus que difficile à lire puisqu'on finit par avoir une ligne de commande extrêmement complexe, là ou un test "plus petit" , "plus grand" , fait que la ligne de commande est très simple.

Avec de tels arguments, je ne vois pas en quoi ce serait un PEBKAC en prod' nan plus :
"ça fait ce qu'on te demande, du moment que c'est documenté, c'est pas grave, c'est pas un PEBKAC..."

c'est un peu comme si un sportif qui s'entrainerait au saut à la perche se permettrait de faire n'importe quoi, car ce n'est qu'un entrainement... curieuse réflexion, voila tout.
Commentaire #122955 écrit par ben_kenobi le 18/12/2013 à 15h50 | 👍🏽 👎🏽
Bien sûr que non.

C'est le fait d'avoir poster une anecdote qui n'a rien d'un PEBKAC, associée au fait que dans cette anecdote tu racontes comment tu as compliqué volontairement un exercice pour apprendre.

Tout ceci donc, donne l'impression que tu te la racontes.


PS: D'ailleurs la plupart de tes autres exemples décrivent juste le contexte.
Commentaire #122958 écrit par Moot le 18/12/2013 à 16h34 | 👍🏽 👎🏽
Les trolleurs (les vrais, les cons) ne connaissent pas PoSh.
Commentaire #123002 écrit par Speed Herman le 18/12/2013 à 21h03 | 👍🏽 👎🏽
"La syntaxe n'est pas la plus aisée"... tu manies bien l'euphémisme...

Et perso, devoir taper "-resultsize unlimited" pour qu'une commande s'applique à tous les objets, perso, je trouve ça verbeux. Un "-all" serait aussi compréhensible à la lecture, voir un "-n 256 / -n all" si on tient à garder une syntaxe identique quand le nombre est précisé ou illimité.
Commentaire #123005 écrit par Tharkun le 18/12/2013 à 21h23 | 👍🏽 👎🏽
Le principe d'un exercice, c'est de s'exercer.
On peut s'exercer à utiliser différentes méthodes pour arriver à son but et comprendre un concept ou le fonctionnement d'un outil. C'est ce que tu as fait en utilisant Compare-Object.
En prod, on doit s'efforcer d'utiliser le "meilleur" outil, qui peut être le plus performant ou celui qui donne le code le plus lisible, selon tes contraintes de prod. Mais pour savoir lequel choisir, il faut en connaitre plusieurs et les avoir essayer avant.
Commentaire #123009 écrit par Tharkun le 18/12/2013 à 21h37 | 👍🏽 👎🏽
oui, mais ce que je veut dire c'est que tu peux aussi t'exercer a faire bien.

ce qui prouverait alors que j'ai mal exprimé le contexte, rendant la compréhension de mon sentiment peu claire pour certains.
Commentaire #123442 écrit par ben_kenobi le 21/12/2013 à 02h34 | 👍🏽 👎🏽
ce n'est pas de l'euphémisme. mais si tu regardes vbs, ce que tu appelles 'verbeux' permet de faciliter la compréhension du script.

donc si PoSh n'est pas des plus aisés de prime abord, son côté verbeux n'est clairement pas le pire des reproches que je lui ferais ;)

sachant que toutes les commandes peuvent se raccourcir, si TU le souhaites, tu n'es pas obligé de tout taper... les avantages et les défauts de chaque langage...

PoSh a son lot de défauts, je n'ai pas, personnellement, trouvé que le côté "verbeux' en était un...
Commentaire #123443 écrit par ben_kenobi le 21/12/2013 à 02h47 | 👍🏽 👎🏽
Je rajouterai que puisque ce n'était qu'un exercice, il n'y a pas eut "mort d'homme", pour autant, lorsqu'on te demande de faire un programme précis, le mieux est donc de faire au plus "propre".
Qu'en suite, cela te permet d'apprendre de tes erreurs (comme certains pebkac que j'ai pu lire d'autre personne) ne signifie pas que ce ne soit pas un PEBKAC.
Sinon, toute personne voulant s'autoPEBKAC se trouverait en situation d'avoir compris son erreur, donc avoir appris, donc être en situation d'apprentissage et donc ne pas pouvoir être PEBKAC...
Le contexte Prod' / dév n'ayant qu'une importance limitée par rapport au but à atteindre.

Relisez bien ce site, nombre de PEBKAC, et validés comme tels, ne devraient pas l'être selon la seule condition d'apprendre.

Donc, pour moi, soit c'était une erreur d'utiliser une fonction à la place d'une autre qui est faite pile-poil pour ça, soit vous trouvez ça normal (qu'on soit en prod' ou pas).
Dans un cas, PEBKAC, dans l'autre, nan...
Commentaire #123444 écrit par ben_kenobi le 21/12/2013 à 02h54 | 👍🏽 👎🏽