Je rentre d’une journée de travail qui a été assez chargée et qui m’a inspiré la thématique de la semaine, que je remarque de plus en plus depuis mes années en école d’ingé.
Je vais réserver la partie « rageux » liée à cette journée de travail pour la fin, et revenir à des exemples plus classiques. Donc il s’agit de trouver les bons outils pour les bonnes choses. Et pour illustrer ça, je vais prendre deux exemples de logiciels qu’on utilise notamment en école d’ingé et dans la recherche en sciences exactes : Word/LaTeX et Excel/Matlab.
Commençons par Word vs. LaTeX. Le premier est un logiciel de traitement de texte vendu par Microsoft, le second est un logiciel libre. La principale différence entre les deux est que Word obéit au principe du WYSIWYG : What You See Is What You Get. Cela signifie que le document que vous allez imprimer à la fin sera comme celui que vous avez conçu sur le PC. À l’inverse, sur LaTeX, il faut « coder » son document.
Pour illustrer ça, si on veut mettre un texte en rouge sur Word, il faut le sélectionner, cliquer sur le bouton approprié et changer la couleur. Sur LaTeX, un peu comme en HTML, il va falloir utiliser une sorte de commande pour indiquer que le texte sera en rouge, mais vous ne verrez pas le texte rouge (sauf si vous le compilez évidemment). Autre exemple, pour insérer une image, avec Word on l’insère et on la positionne avec la souris, avec LaTeX on l’insère en indiquant son chemin et on la positionne à nouveau avec des commandes. Bref, vous avez l’idée.
Au fur et à mesure de mes études, j’ai constaté une grosse évolution du discours de mes ami.e.s. Tout le monde ne jurait que par LaTeX, disait que c’était le seul « vrai traitement de texte », etc. Mais pour moi, ce genre de question ne se pose pas. La question qu’il faut se poser est plutôt « quel est le bon outil pour la chose que je veux faire ? ».
Typiquement, pour un document scientifique, LaTeX aura en effet un avantage, notamment pour les facilités qu’il offre pour numéroter et référencer les figures, équations et chapitres. Word le fait aussi, mais je trouve ça moins bien. À l’inverse, Word est un très bon outil pour écrire rapidement et simplement des documents plus classiques. Par exemple, je tiens un journal intime personnel sur mon PC, je ne l’écris pas en LaTeX, je l’écris en Word parce que ce qui compte c’est juste de coucher des mots sur le papier.
Un autre exemple très parlant pour moi est le cas Excel/Matlab. Comme Word, Excel est vendu par Microsoft, et Matlab est vendu par l’entreprise Mathworks. De la même manière, j’entends souvent que Matlab est beaucoup mieux qu’Excel, et que ça ne sert à rien d’utiliser Excel. Mais encore une fois, ça dépend de ce qu’on veut. Si on veut manipuler de très grandes matrices et faire des calculs complexes dessus, clairement Matlab est fait pour ça. Et croyez-moi, j’adore Matlab et j’adore manipuler des matrices, donc je sais de quoi je parle. Mais Excel a aussi beaucoup d’avantages. Pour moi, il permet rapidement et simplement d’afficher des graphes par exemple, et il permet aussi d’avoir quelque chose d’assez visuel lorsqu’il s’agit d’observer des valeurs en tableau (genre une facture par exemple).
Donc la « bottom line », c’est qu’il faut savoir reconnaître les forces et les faiblesses de chacun des logiciels pour les utiliser. Et donc le titre est une extrapolation de ça : pour chaque chose il y a souvent des outils plus adaptés que d’autres.
Et donc maintenant on arrive à la partie de l’article où je vais bitcher un peu xD Dans mon travail, je dois faire beaucoup d’analyses modales. Pour les personnes qui ne connaissent pas, il s’agit d’analyser les « modes » d’une structure, c’est-à-dire la manière dont une structure peut se déformer, et à quelle fréquence cette déformation peut arriver. Dans mon cas, je travaille sur des simulations informatiques, donc mon objectif est de calculer ces modes.
Pour calculer les modes d’une structure, il y a une technique assez couramment utilisée qui s’appelle les éléments finis. Pour faire simple, on va venir subdiviser une structure complexe (un pont par exemple) en plein de petits cubes ou pyramides. Et cette étape nous permet d’écrire des matrices dont on va calculer les modes. Pour des structures simples, on peut le faire à la main, mais plus la structure est complexe, plus la taille de ces matrices peut augmenter. On utilise alors des solveurs éléments finis qui sont faits pour traiter ce genre de matrices. Aujourd’hui, il existe une multitude de solveurs, commerciaux ou libres.
Seulement, on ne se sert pas des éléments finis juste pour faire des analyses modales. On peut s’en servir pour plein de simulations, et désormais, chaque solveur a sa propre spécialité en quelque sorte. Les solveurs peuvent tous à peu près tout faire, mais encore une fois, selon ce qu’on veut faire, certains conviennent mieux que d’autres.
Eh bien, c’est typiquement l’opposé de ma situation. Dans mon cas, je travaille avec un solveur qui n’est pas du tout adapté pour l’analyse modale. Il est possible d’en faire bien-sûr, mais il n’est pas fait pour ça. En l’occurrence, il est beaucoup plus fait pour des simulations en dynamique rapide (un crash de voiture par exemple) ou pour des simulations d’emboutissage (le fait de presser de la tôle pour lui donner une forme précise). Mais pas vraiment pour faire de l’analyse modale. Il en fait bien-sûr, il y a la commande et l’algorithme pour, mais ce n’est pas le cœur de compétences.
On pourrait penser que c’est un détail, mais finalement, ça a une très grande importance. Je ne vais pas rentrer dans les détails, mais puisque ce n’est pas le « cœur de métier » du solveur, je ne peux pas faire tout ce que je veux. Et par extension, c’est très dur de trouver de l’aide sur ces sujets car justement, la communauté qui utilise ce solveur ne fait pas ce que je fais. Donc cela mène à ce que j’appelle des « non-problèmes ». Typiquement dans mon cas, un « vrai problème » consiste à réfléchir à comment modéliser le comportement de certains matériaux. Eh bien, avant de résoudre ce « vrai problème », je me retrouve accaparé par ces « non-problèmes » qui me font poser d’autres questions qui me prennent beaucoup de temps et d’énergie, mais qui ne concernent pas le cœur de mon travail.
C’est pour ça que je suis un peu en mode rageux ce soir. J’ai passé 3 heures avec mon encadrant, et à la fin je me rends compte que lui comme moi n’avons aucune idée de ce que fait ce solveur, et de comment on va pouvoir s’en servir pour ce qu’on veut faire. Et il est impossible de changer de solveur car c’est une contrainte de l’entreprise.
Donc voilà, à travers ces exemples, je voulais montrer qu’il faut savoir utiliser les bons outils pour les bonnes choses. Ça permet d’avoir un gain de temps considérable et de se poser les vraies questions sans être dérouté par les « non-problèmes ». Dans mon cas, je suis un peu condamné à utiliser ce solveur, et je ne sais pas encore trop comment je m’en sortirai vis-à-vis de ce qu’on attend de moi, mais je sais que pour les prochains jobs que je ferai, ça sera un point auquel je ferai attention.
Merci de m’avoir lu, à la semaine prochaine !
2 réflexions au sujet de « Les bons outils pour les bonnes choses »
[…] qui parle de mes propres contradictions, avec mon côté psycho-rigide qui aime bien employer les bons mots pour les bonnes idées, et de l’autre un côté plus relax qui fait plutôt attention à l’idée globale. En […]
Je voudrais addresser un problème – Weissstreitwagen
[…] y a bientôt 3 ans, j’écrivais un article où je bitchais sur les logiciels qu’on m’obligeait à utiliser pour travailler. Depuis […]
Les bons outils pour les bonnes choses (en vrai) – Weissstreitwagen