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.
Un ami, développeur de sites Web et possédant son propre petit serveur, m'envoie l'URL de deux pages pour se servir de moi comme « témoin » dans le cadre d'un test.

Je regarde la page 1, OK. Je regarde la page 2, la conversation qui suit est édifiante :
« Mais… Je n'y vois aucune différence.
– Affiche le code source de la page. »

En page 1, le travail de l'un de ses collègues, 34 lignes au total. En page 2, le travail de mon ami, rigoureusement identique… en 9 lignes. Il m'explique alors qu'on lui donne son boulot « à la semaine », qu'il le fait en trois jours, et passe les deux jours restants à reprendre « le code merdique » (ce sont ses propres mots) de certains de ses collègues, pour faire la même chose en plus optimisé.

Je crois que c'est important pour lui de savoir qu'il n'est pas le seul à penser que plusieurs de ses collègues sont des… PEBKAC.
PEBKAC #9721 proposé par Fox le 01/04/2014 | 48 commentaires | 👍🏽 👎🏽 +131
Je suis mal réveillé, ou le pebkac se résume à "Un ami optimise le code de ses collègue" ?
Commentaire #136447 écrit par Link le 01/04/2014 à 08h36 | 👍🏽 👎🏽
Ca, c'est le remède.
Le symptôme, c'est "les collègues de mon ami font du code de merde".
Commentaire #136448 écrit par mini le 01/04/2014 à 08h38 | 👍🏽 👎🏽
Et encore, les 34 lignes du gars sont apparemment rigoureusement identiques au 9 de son collègue. Du coup ça doit vouloir dire qu'il a juste supprimé 25 fins de lignes. De là à parler d'optim...

Du coup c'est le collègue le PEBKAC ?
Commentaire #136453 écrit par Alfred456654 le 01/04/2014 à 08h45 | 👍🏽 👎🏽
Je pense qu'il a voulu dire que son ami obtient un résultat identique en moins de lignes de codes, pas forcément les mêmes.

Petit bémol cependant si le code plus petit n'est pas standard, plus petit dans ce cas ne serait pas forcément plus optimisé.
Commentaire #136456 écrit par Gérard-John le 01/04/2014 à 09h01 | 👍🏽 👎🏽
Boarf,

Il a juste réduit la taille de la police.
Commentaire #136458 écrit par Kelgarath le 01/04/2014 à 09h14 | 👍🏽 👎🏽
Ses collègues utilisent des gros mots dans leurs commentaires. C'est pour ça que le code est plus lourd.
Commentaire #136465 écrit par Siggy le 01/04/2014 à 09h40 | 👍🏽 👎🏽
Alors comme ça, chez les devs, on joue a "qui a la plus petite" ?
Commentaire #136471 écrit par Bourriks le 01/04/2014 à 09h51 | 👍🏽 👎🏽
C'est surtout la fin que j'ai du mal à comprendre : Je crois que c'est important pour lui de savoir qu'il n'est pas le seul à penser que plusieurs de ses collègues sont des… PEBKAC.

Donc d'après Fox, le pebkac est pour les collègues, et non pas l'ami.


Il faudrait plus d'informations sur le type d'optimisation. Prenons l'exemple suivant :

Avant :

 //	chargement des paramètres en fonction du type de navigateur
 if($nav = 'firefox')
 {
 	$params = loadFirefoxParameters();
 }else if($nav = 'chrome')
 {
 	$params = loadChromeParameters();
 }
 else
 {
 	//	parametres par defaut pour IE, safari et autres merdes </troll>
 	$params = loadDefaultParameters();
 }


Après :

$params=($nav='firefox')?loadFirefoxParameters():(($nav='firefox')?loadChromeParameters():loadDefaultParameters());

Dans ce cas, on est passé de 13 à une seule ligne, mais plus personne ne va comprendre le but de la manip au premier coup d'œil.
Commentaire #136475 écrit par Link le 01/04/2014 à 09h55 | 👍🏽 👎🏽
Ouaip !
Optimisé, mais sur quels critères ?
Compacité du code ?
Lisibilité du code ?
Performance du code ? en vitesse d'exécution ? en mémoire utilisée ?
Y'a différents critères d'optimisation...
Commentaire #136476 écrit par Tharkun le 01/04/2014 à 09h59 | 👍🏽 👎🏽
Quel est ce langage dans lequel on teste avec un seul = ?

Et avec une meilleure indentation (et (donc ?) une meilleure utilisation des parenthèses) c'est bien plus compréhensible.
Commentaire #136480 écrit par Gérard-John le 01/04/2014 à 10h03 | 👍🏽 👎🏽
Ouais mais si t'as un bon processeur genre "isset" ça passe ;-)
Commentaire #136483 écrit par Kelgarath le 01/04/2014 à 10h08 | 👍🏽 👎🏽
Cette méthode n'est efficace que sur de longues lignes. Celles ne comportant que quelques caractères ne peuvent pas en bénéficier.
Commentaire #136484 écrit par H. Finch le 01/04/2014 à 10h09 | 👍🏽 👎🏽
J'ai encore assez foi en l'humanité (réduite à la communauté de ce site) pour croire que personne ne soumettrait de PEBKAC faisant l'insulte de parler de telles simplifications en terme d'optimisation.
Commentaire #136485 écrit par mini le 01/04/2014 à 10h11 | 👍🏽 👎🏽
C'est pour ça qu'on ne comprend pas les .minified, c'est écrit trop petit !
Commentaire #136486 écrit par Kelgarath le 01/04/2014 à 10h12 | 👍🏽 👎🏽
Sinon on peut aussi faire:

$paramas = loadparameters($nav);
Commentaire #136487 écrit par Kelgarath le 01/04/2014 à 10h17 | 👍🏽 👎🏽
Personnellement si on me parle d'optimisation sans préciser je pense à une optimisation en rapidité d'exécution.
L'utilisation mémoire peut bien entendu influer dessus mais j'ai tendance à partir du principe qu'un code même non optimisé doit gérer sa mémoire raisonnablement et dans la mesure du possible dans les limites du langage utilisé (même si la disponibilité de la mémoire de nos jours nous permets de laisser la part belle au temps d'exécution).
Bref, éternelle discussion… :)
Commentaire #136488 écrit par Gérard-John le 01/04/2014 à 10h19 | 👍🏽 👎🏽
Pour un site web standart, y'a pas vraiment de besoin d'optimisation en rapidité d'exécution ou en utilisation mémoire (comme la majorité des applis d'ailleurs, il faute juste pas faire de la grosse merde et ca sufffit), donc pour moi le critère premier est la lisibilité du code.
La compacité est un effet secondaire de la lisibilité(*généralement* un code compact est plus lisible), mais n'est pas a rechercher en tant que telle.
Commentaire #136508 écrit par aaa le 01/04/2014 à 12h46 | 👍🏽 👎🏽
J'aimerai bien voir le code des deux pages en question.
Commentaire #136514 écrit par Shirluban le 01/04/2014 à 12h54 | 👍🏽 👎🏽
Imprimées sur du papier A3 en police taille 6.
Commentaire #136517 écrit par H. Finch le 01/04/2014 à 13h05 | 👍🏽 👎🏽
Pour 34 lignes tu vises trop haut !
Commentaire #136525 écrit par juu le 01/04/2014 à 13h23 | 👍🏽 👎🏽
Pour un site web, on doit aussi prendre en compte la bande passante, un code 4 fois plus léger consommera moins de ressources réseau et réduira d'autant les temps de chargements.
Commentaire #136540 écrit par Gentil lapin le 01/04/2014 à 14h21 | 👍🏽 👎🏽
Le dev optimise pour obtenir un maximum de résultats .... en un minimum de temps :3
Commentaire #136542 écrit par mini le 01/04/2014 à 14h28 | 👍🏽 👎🏽
Je t'avoue que ça remonte a une époque lointaine ou j'étais encore en BTS. Je ne crois pas avoir garder une trace precise de ce qu'il avait fait.

Les 34 lignes contre 9 n'incluent pas les commentaires. Je suis nul en dev mais je sais qu'on inclut pas les comms quand même ! ;)

De memoire, excepté le résultat, il n'y avait rien de commun aux deux pages web.

Je fouillerai mon disque dur un soir pour voir si j'ai quelque-chose qui a subsisté de cette histoire. Mais ne vous faites pas trop d'illusions, j'y crois pas beaucoup....
Commentaire #136555 écrit par Fox le 01/04/2014 à 15h22 | 👍🏽 👎🏽
Tant que je n'aurais pas d'infos sur le type d'optimisations et leur impact, je m'abstiendrais...
Commentaire #136576 écrit par ygnobl le 01/04/2014 à 21h59 | 👍🏽 👎🏽
Temps de chargement ? OSEF, tout le monde a la 4G sur ADSL :)
Commentaire #136578 écrit par spidermoon le 01/04/2014 à 22h05 | 👍🏽 👎🏽
Et bah vous allez être content! J'ai trouvé un survivant!

En haut, le code du collègue avec à droite en bas le rendu.
En bas, celui de mon ami avec à droite en bas le rendu également.

C'est pas "exactement le même cas" mais c'est du même ordre. Juste sur une autre page.
http://www.servimg.com/image_preview.php?i=374&u=13357670

Enjoy =)
Commentaire #136583 écrit par Fox le 01/04/2014 à 22h14 | 👍🏽 👎🏽
Oh du code des années 2000 !
Commentaire #136591 écrit par Phantome le 02/04/2014 à 00h08 | 👍🏽 👎🏽
Mouais... Peu importe le flacon pourvu qu'on ait l'ivresse... Peu importe le code pourvu que le résultat s'affiche sans erreur...
Pour moi, un manque d'optimisation n'est pas un PEBKAC en soi, à partir du moment où ce manque d'optimisation ne nuit pas au résultat final.
Commentaire #136593 écrit par Araldwenn le 02/04/2014 à 01h15 | 👍🏽 👎🏽
Passer deux jours pour optimiser un code de 34 lignes en 9 lignes pour faire strictement la même chose... c'est cher la ligne.

Optimiser c'est bien. Optimiser là où il y en a besoin, c'est mieux.

L'optimisation coute cher, il ne faut pas en abuser.
Commentaire #136594 écrit par OzoneGrif le 02/04/2014 à 01h17 | 👍🏽 👎🏽
Ok, merci.
Je vient de faire un attaque en lisant le code "avant".

Quatre tableaux imbriqués !
Et le dernier niveau contient une seule cellule avec... seulement une espace insécable !!!!!

J'aime bien aussi le <br style="margin-top: 0; margin-bottom: 0;">, je n'avais encore jamais pensé à mettre des styles sur un retour à la ligne.
Commentaire #136598 écrit par Shirluban le 02/04/2014 à 02h10 | 👍🏽 👎🏽
<mode analogie="pourrie">
On le dira aux constructeurs de voitures, ils vont beaucoup apprécier que le principal soit qu'on arrive à destination. (-:
</mode>
Commentaire #136603 écrit par Kebukai le 02/04/2014 à 07h14 | 👍🏽 👎🏽
<mode:Aaargh!!!>Oh, du code Pifenmoins.</mode>

<hs> sinon il devient quoi depuis qu'on a découvert qu'il était le John et le Gérard?</hs>
Commentaire #136608 écrit par H. Finch le 02/04/2014 à 08h46 | 👍🏽 👎🏽
@Finch : ah bon?? merde j'ai raté un épisode ! on l'a découvert quand ça??

(en même temps jme rappelle d'un commentaire de Clem d'il y a un certain temps, que j'ai pas retrouvé, qui disait que dans ses logs Gérard et Aaaargh se connectaient depuis la même IP)
Commentaire #136610 écrit par yomama le 02/04/2014 à 09h26 | 👍🏽 👎🏽
Histoire de.... Ne pourrait-il pas infirmer (ou "tordre le cou jusqu'à ce que mort s'en suive", à) la croyance populaire qui veut que " Fox et Dorryn ne sont qu'une seule personne!" ?

Comme par exemple en confirmant que je me connecte depuis plusieurs IP géolocalisées en region parisienne et lui depuis une IP en region nantaise par exemple?
Commentaire #136613 écrit par Fox le 02/04/2014 à 09h49 | 👍🏽 👎🏽
euh je vois pas qui t'as fait croire ça… le style de Dorryn est assez différent du tien sans être du caricatural comme l'est Gérard,
Commentaire #136619 écrit par yomama le 02/04/2014 à 10h29 | 👍🏽 👎🏽
Ce n'est manifestement pas évident pour tout le monde. Mais merci de l'avoir noté :)
Commentaire #136622 écrit par Fox le 02/04/2014 à 11h50 | 👍🏽 👎🏽
> Et le dernier niveau contient une seule cellule avec... seulement une espace insécable !!!!!

C'est normal, sinon les contours de la cellule n'apparaissent pas sur certains navigateurs (lire IE).
C'est une astuce connu des "vieux Web dev".
Commentaire #136643 écrit par OzoneGrif le 02/04/2014 à 18h19 | 👍🏽 👎🏽
L'affirmation Dorryn==Fox est de Gérard/Aaargh. Notez que je le comprends parfaitement, il veut péter les plombs sans plomber son propre compte. C'est humain.
.
.
.
.
Par exemple quand je veux troller je me connecte sous le compte public Fox (password: renard).
Ne serait-ce pas le génie de l'informatique ayant un balai dans le fondement qui s'enfuit dans un bus conduit par un chat nommé Gérard?
Commentaire #136646 écrit par H. Finch le 02/04/2014 à 19h11 | 👍🏽 👎🏽
Même IE n'affiche pas de contour sur un tableau défini avec border="0".
Commentaire #136647 écrit par Shirluban le 02/04/2014 à 19h39 | 👍🏽 👎🏽
Non. "Optimiser" l'exemple que je donne plus bas il a mis même pas 20 minutes.

Il passe (enfin "passait") les deux jours à la recherche de ce genre de boulettes de la part de ses collègues pour rectifier. Il passait pas "2 jours à faire 9 lignes".
Commentaire #136653 écrit par Fox le 02/04/2014 à 22h37 | 👍🏽 👎🏽
Même s'il y passe 20 minutes sur cet exemple précis. Ce sont 20 minutes par-ci + 20 minutes par-là, et au final ça fait 2 jours.

Tu le dis toi même, ça fait la même chose. Alors d'accord, la première version est monstrueuse et l'auteur devrait recevoir une formation rapidement. C'est le rôle du chef de service (en entreprise) de faire monter ses gars en compétence. Néanmoins, si ça fait la même chose et qu'il n'y a aucun besoin urgent de revoir cette partie du site/code, alors il vaut mieux ne pas y toucher.

Le mieux est l'ennemi du bien.
Commentaire #136657 écrit par OzoneGrif le 02/04/2014 à 23h58 | 👍🏽 👎🏽
C'est sûr, il a probablement fait ça par principe ;)
De toute façon, vu le code, un espace insécable ne va pas changer grand chose.
Commentaire #136658 écrit par OzoneGrif le 03/04/2014 à 00h05 | 👍🏽 👎🏽
D'accord sur le "le mieux est l'ennemi du bien". Mais comme dit dans le PEBKAC, il faisait plus ça " pour pas s'emmerder parce qu'il n'avait plus de taf".

Au moins, c'est constructif et il a(vait) pas l'impression de perdre son temps. :)
Commentaire #136664 écrit par Fox le 03/04/2014 à 08h18 | 👍🏽 👎🏽
Finch : Où est-ce que ça a été confirmé ? Il y a bien le commentaire http://www.pebkac.fr/pebkac/9697/#comment_135865 mais ce commentaire est un peu ambigu, non ? Il est évident que ce n'est pas vraiment quelqu'un de sa boite, mais le commentaire entier pourrait être une grosse blague.
Commentaire #136670 écrit par Somadeva le 03/04/2014 à 10h36 | 👍🏽 👎🏽
Venez acheter ma voiture bruyante, lente, inconfortable et qui consomme 15 L/100. L'important c'est d'arriver.
Commentaire #136674 écrit par Somadeva le 03/04/2014 à 12h24 | 👍🏽 👎🏽
Finch, arrête de balancer mon mot de passe à tout le monde au passage merci. =}
Commentaire #136710 écrit par Fox le 03/04/2014 à 14h13 | 👍🏽 👎🏽
J'ai failli tomber de ma chaise à voir le premier code... Même en repartant des années en arrière, c'est quoi l'intérêt de faire 4 tableaux imbriqués les uns dans les autres si c'est pour mettre des div en plein milieu ? Enfin je dis ça, je ne code que depuis le HTML5, je n'ai eu l'occasion de faire des tables que pour les newsletters, mais ça me parait monstrueux comme code O_o
Commentaire #136983 écrit par Lynn le 05/04/2014 à 13h12 | 👍🏽 👎🏽
Le PEBKAC dit : 'Affiche le code source de la page' c'est donc une optimisation HTML/CSS ? j'ai encore jamais vu un ctrl +u afficher du PHP, alors optimiser du code d'intégration n'est en rien un PEBKAC....
Commentaire #138988 écrit par Hooli le 09/05/2014 à 09h46 | 👍🏽 👎🏽