Le projet sur lequel je travaille se compose d'un site Web public multilingue (front-end) et d'un site d'administration privé (back-end). Le front-end a plusieurs modes de fonctionnement, comprenant TEST et PROD.
En TEST, nous avons la possibilité d'ajouter le paramètre
showLabelCode=true
à l'URL pour afficher le code de tous les labels de l'application à la place de la vraie traduction.
Dernière perle en date du client : se plaindre que dans ce mode, le design n'est pas respecté, les codes dépassant des cadres ou étant masqués derrière d'autres éléments. PEBKAC.
Dans le cadre d'un projet auquel j'ai participé, nous travaillions sur une application Web censée en remplacer une autre, devenue vieille, lourde et obsolète. Pour ce faire, il nous a été demandé d'analyser les logs d'un mois de l'ancienne application (multilingue, et très utilisée) afin d'anticiper la charge des requêtes et optimiser au mieux la répartition sur les serveurs.
Quelle est donc la meilleure façon de procéder pour fournir ces logs ? Et bien évidemment, fusionner tous les fichiers du mois dans le désordre, en un seul et unique gros fichier de 42 Go.
Le tout a été compressé pour ne plus faire que 4 Go, mais tout de même. PEBKAC.
Dans le cadre d'une application que je développe, celle-ci peut "catcher" certaines erreurs et créer un rapport qui est enregistré dans la base de données, accessible, et que l'utilisateur peut choisir d'ignorer, ou bien de relancer la tâche défectueuse (dans le cas où c'est la configuration qui plantait par exemple). Une fois traitée, cette erreur est effacée de la base (un développement est en cours pour les archiver et effectuer des recherches, mais pas encore livré).
Chaque erreur envoie un e-mail à une adresse prédéfinie, avec un lien vers le rapport.
L'utilisateur clique sur le lien et s'occupe du rapport d'erreur. Puis il retourne dans la boîte mail, clique à nouveau sur le lien, et se plaint d'obtenir un message d'erreur du genre : "Le rapport XXX n'existe pas". PEBKAC.
Je travaillais sur une application qui collectait des informations et affichait un résumé (principalement des compteurs, via un simple « SELECT COUNT(*) ») en page d'accueil.
Trouvant cela parfois lent (quelques milliers de résultats), le client a demandé un cache sur la page d'accueil, permettant ainsi de ne pas effectuer les requêtes chaque fois qu'il devait la charger. Nous avions mis un temps de rafraîchissement assez court, de l'ordre de quelques minutes, pour permettre d'avoir néanmoins une vision fidèle de la situation.
Quelque temps plus tard, ce même client nous demande un bouton pour, je cite : « rafraîchir le cache à la main ». PEBKAC.
En cherchant des informations sur Internet, je suis arrivé sur un forum. Un message d'un sujet comportait un lien vers, si j'en croyais le contenu dudit message, un tutoriel pour réaliser l'action que je souhaitais faire (toujours sur le même forum).
Après avoir cliqué sur le lien, j'arrive sur une page blanche comportant du code PHP. Au vu du contenu, très limite.
Premier PEBKAC.
Après un rapide coup d’œil, je repère la ligne : « $result = mysql_fetch_array(mysql_query("SELECT id [...] WHERE target_id = '$target_id'")); »
Et « $target_id » provenant de $_REQUEST et sécurisé par le traditionnel « is_numeric() ». Second PEBKAC.
L'art de la relation client, ou comment rester stoïque quand votre client a suivi une ligne sur deux de vos consignes d'installation, et vous balance un laconique : "Ça marche pas".
Je sais que l'informatique comprend une part de pédagogie, mais tout de même. PEBKAC.
Lors de la mise à jour d'une application pour un client, celui-ci a demandé un bouton "Bulk delete" pour effacer les statistiques d'une journée, afin de purger la base de données.
On l'implante, on teste, on met un beau message de confirmation : "Are you sure you want to delete all [...] from the day [...] ?", puis on livre. Le tout naturellement bien documenté.
Trois jours plus tard, ce client nous rappelle : "Mais je ne comprends pas, j'ai cliqué et ça a effacé les données du jour !". PEBKAC.
Souhaitant désinstaller un certain jeu via la commande 'remove', et n'étant pas très regardant sur les dépendances, j'ai au passage viré network-manager.
Ça m'apprendra à regarder ce que je fais. PEBKAC.
Dans l'application sur laquelle je travaille actuellement, j'ai découvert que pour supprimer des blocs de code, les anciens développeurs ajoutaient : if (1==2) { ... } .
PEBKAC.
page 1/1