Licence CC BY

Dois-je changer de système d'exploitation ?

Où ça parle mal de Linux

Je suis, bon gré mal gré, utilisateur de Linux depuis 15 ans. J’ai donc adopté Linux sur chacun des ordinateurs que je possède, et bien que je possède un dual boot "au cas où", je n’y vais qu’une fois de temps à autre, principalement pour jouer.1 Parti d’Ubuntu 6.06, j’ai tourné dans les distributions basées sur Debian (différents variant d’Ubuntu, Linux Mint et Debian itself) pour récemment passer à Fedora.

Néanmoins, mon usage "professionnel" de Linux est sur le point de rentrer en opposition avec la logique de réduction des couts de mon institution. Et je suis en train de me poser la question: à quoi me servirai encore Linux aujourd’hui ?


  1. Et encore, c’est Civilization 6, il se pourrait qu’il tourne très bien avec Proton, j’ai juste jamais essayé.

Le contexte

Moi

Si, au début, j’étais sous Linux pour le fun, j’ai appris à apprécier les qualités et les défauts de cet environnement. Si je devais citer ce que j’ai le plus aimé, c’est apt (ou maintenant, dnf): installer des programmes et les mettre à jour est tellement SIMPLE!1 Même re-compiler un programme avec ./configure; make; sudo make install est facilité par le fait qu’il est quand même plus simple de taper un apt install pour installer certaines dépendances.2

Mon profil est évidemment très Linux-compatible. Programmateur amateur à mes heures perdues et ayant ensuite réalisé un cursus universitaire dans une faculté de chimie (m’étant plus particulièrement intéressé à la chimie quantique), c’est avec un plaisir coupable que j’ai découvert que Linux3 était la distribution la plus utilisée sur les super-calculateurs et que mes heures passées à détruire des distributions Linux pour apprendre des commandes allaient enfin servir. De manière générale, énormément de codes scientifiques sont a) gratuit et b) développé sous Linux ou facilement compilables, afin justement de pouvoir être utilisés sur de tels super-calculateurs.

Ma thèse de doctorat, qui a suivi, n’a fait que confirmer cette impression: les simulations se réalisaient sur des super-calculateurs sus-mentionné, tandis que l’analyse se faisait à l’aide de programmes compatibles Linux: même les programmes scientifiques payants y sont disponibles. Par ailleurs, vu qu’un article scientifique peut s’écrire avec LaTeX, j’ai réussi à m’en sortir sans utiliser Microsoft Office. Et quand bien même, LibreOffice, qui c’est globalement amélioré depuis que l’utilise, est une alternative potable à Word quand la mise en page n’est pas trop compliquée (ou que ce n’est pas le but) et mes traitements de données sont en partie dû à LibreOffice Calc (les graphes étant réalisés avec gnuplot, parce qu’il faut être sérieux quand même). Autre gros avantage, il y a une pléthore de libraires Python permettant d’analyser des données et facilement accessibles.

Par contre, je me rends très bien compte que j’ai de la chance: d’autres doctorants doivent interagir avec des programme sous (des versions antédiluviennes de) Windows 4, et de manière générale, mon domaine d’étude s’y prête très bien (et mon promoteur était compréhensif). Utiliser Linux dans d’autres branches d’études relève toujours du défi. Par ailleurs, je pourrai sembler dire que Linux est le seul mal loti, mais même les macs ont leur lot de difficultés quand il s’agit de programmes développés pour une audience scientifique.

Bien entendu choisir Linux vient avec son lot de difficultés intrinsèques. La principale dans mon cas étant que je suis prié de fournir mon propre matériel (on installe pas n’importe quoi sur une machine de l’université) et que je peux me brosser pour le support (le support de mon université, c’est principalement Windows et un peu Mac). Heureusement que je sais ce que je fais :pirate:

En conclusion, le fait que je puisse travailler sous Linux est un luxe que je m’accorde. Et si c’est un luxe, c’est que c’est pas fondamentalement nécessaire.

L’université (mais ça fonctionnerai aussi ailleurs)

Ceci n’est pas un pamphlet contre mon université, pour laquelle je travaille toujours, et qui n’y peut en fait pas grand chose.

Ce n’est même pas une attaque contre Microsoft: j’ai passé l’âge du "Microsoft c’est caca". Non, Microsoft, c’est une entreprise, qui cherche à faire des profits. Je ne suis pas d’accord avec les décisions qu’elle prend, mais pareil, elles sont logiques et justifiables.

Pendant ce temps, la crise. Le financement de la recherche en Belgique bien que correct, n’est pas exceptionnel, et celui des universités pour la partie enseignement suis le même traitement. Je ne vous apprends rien si je vous dis que ce n’est pas spécialement une priorité gouvernementale, surtout en ces temps troublés. Bref, on fait ce qu’on peut avec ce qu’on a et de temps à autre, on râle un peu dans la presse ou aux cabinets ministériels.

Les informaticiens, ça coute affreusement cher: c’est un métier en pénurie, comme le rappelle régulièrement le FOREM (notre Pôle Emploi à nous) et c’est pas près de changer. Loi de l’offre et de la demande oblige, les informaticiens ont plein d’avantage en nature dans le privé que l’université ne peut même pas rêver de leur offrir. On peine à en recruter et à les garder, avec tous les défauts que ça implique.

Alors quand en mars 2020 on passe en mode confinement total, c’est dur. Pour prendre un exemple, les cours sont hébergés sur une plateforme Moodle, que l’université héberge(ait) en interne afin de pouvoir ajouter des fonctionnalités. Il a très vite été décidé que cette plateforme servirait pour réaliser les examens cette année là: heureusement qu’un test de charge en conditions réelles (un formulaire à valider sur ladite plateforme en un temps imparti, pour maximiser le nombre de connexions simultannées) a été réalisé auparavant: l’infrastructure n’avait jamais été dimensionnée pour ça5 :magicien:

C’est dans ce contexte que débarque alors Microsoft et sa solution de visualisation, le fameux Microsotf Teams. Ça aurait pu être un autre, c’est Microsoft que nous avons choisi, et qui nous servira durant toute la période COVID (… Et j’espère que je pourrai continuer à parler au passé). Avec une promesse: si ça fonctionne, on passera plusieurs services (mail et Cloud, principalement) chez Microsoft au lieu de les héberger en interne. Bien entendu, ça a fonctionné ;)

Bien entendu, j’aurais préféré que ça ne soit pas le cas, mais en fait, c’est même pas la question: dans le contexte budgétaire actuel, il est logique que mon université cherche à externaliser un maximum. On peut discuter du pour, du contre et ce que ça implique, mais d’un point de vue décisionnel, c’est un choix tout à fait logique et justifié. C’est d’ailleurs le contraire qui aurait été étonnant.

Un exemple parmi tant d’autres

Vous savez quel est le "monopole" qui nous affecte tous et dont on parle globalement assez peu ? Celui des serveurs mails. Aujourd’hui, si vous montez votre propre serveur mail et que vous essayez d’interagir avec des services connus (GMail, hotmail, etc), vous êtes au mieux dans les spams, dans la plupart des cas votre message n’arrive jamais. Bien entendu, ça se justifie par la lutte contre le spam.

Mais il y a un autre problème: les administrateurs systèmes (ou plutôt des bots, j’imagine) ont le ban un peu facile et très large. Et vous vous doutez bien que les étudiants d’une université ne sont pas tous des pros de la sécurité informatique, il arrive donc qu’une adresse de l’université soit détournée à des fins malveillantes. Résultat, ces derniers mois, nous étions régulièrement bannis par Microsoft, qui ne fait pas dans la dentelle et banni tout le domaine. Interagir avec des collaborateurs externes devenait donc un jeu de "tu as reçu mon mail?". Joie ;)

Bien entendu, on nous a promis que tout rentrera dans l’ordre une fois que nous aurions migré chez Microsoft…


  1. Dans la limite des stocks disponibles, of course.
  2. Dans la limite des stocks disponibles, et sous couvert d’un README correct, j’entends bien.
  3. Généralement CentOS, faut pas rigoler …
  4. Dès qu’il s’agit d’interagir avec un instrument de mesure, c’est fini.
  5. Ils ne me liront probablement jamais, mais rétrospectivement, ils ont quand même assuré de fou, parce que les examens se sont globalement bien déroulé cette année là.

La réflexion

L’élément déclencheur

Me voici donc arrivé au moment où l’université me recommande donc d’installer Outlook (mail et calendrier) et OneDrive (Cloud). Bien entendu, ce n’est pas possible en l’état sous Linux. Trois "solutions":

  1. Je pourrais continuer à utiliser Thunderbird pour les mails (et le calendrier?) et il existe un client libre OneDrive.
  2. Je pourrais utiliser les interfaces web de ces deux services, qui sont globalement correctes (et même l’interface web de la suite Office est potable). Notez que le client Teams sous Linux n’est jamais que l’interface web derrière un Electron et que j’ai prophétisé que Microsoft finira par se diriger vers ça pour la plupart de ces programmes, si ce n’est déjà le cas.
  3. Machine virtuelle.

Aucune de ces solutions n’est vraiment satisfaisante, parce que ces deux programmes sont les arbres qui cachent la forêt: il est évident que l’université continuera d’utiliser les outils mis à dispositions par Microsoft pour différentes tâches, et que la liste des choses qu’on me demandera de faire dépassera la capacité du client web (il suffit de comparer la différence entre Teams sous Windows et l’interface web) ou de programmes libres dont les fonctionnalités dépendent de la disponibilité des développeurs et d’une API compatible.

Et puis, ça me fatigue: toujours lutter, alors qu’il me suffirait de retourner sous Windows. Et puis, est ce que c’est toujours si mal que ça ? Après tout, on raconte que PowerShell est au moins aussi puissant que bash. Il y a le Microsoft Store. LaTeX y est évidemment disponible, et je pourrais arrêter d’embêter mon monde et enfin utiliser ma licence Microsoft Office. Et au pire, il y a toujours le Windows Subsystem for Linux dont mon collègue semble très heureux. Et puis, l’université pourra enfin me prêter du matériel.

Et puis, on peut très bien défendre le logiciel libre sous Windows.

Et puis sinon, il reste toujours macOS. C’est de l’UNIX, c’est tout shiny et la majorité de mon laboratoire l’utilise.

L’absence d’une conclusion

Est ce que Linux a perdu ? Est ce que j’ai perdu la foi ?

J’aimerais vous dire que non, mais ma réflexion ces derniers jours était que ma conviction de Linuxien était confortable tant qu’elle n’était pas mise en difficulté. La vérité, c’est que je suis probablement le seul chercheur sous Linux de mon département (et qu’on doit pas être nombreux dans l’université1), et que j’étais assez stupide pour imaginer pouvoir régler tout mes problèmes dans mon coin. Lutter contre le système, c’est marrant quand c’est pas trop difficile et quand on a le temps de s’y consacrer. À mon niveau, je commence à me demander si ça ne devient pas du fanatisme aveugle.

D’un autre côté, 15 ans de Linux, ça laisse des traces: j’ai l’habitude d’utiliser Linux, et j’y ai optimisé mon worflow. Pour le dire autrement, je suis particulièrement efficace sous Linux, et en changer reviendrait à adapter le tout et à être moins efficace pendant un temps. Est ce que ça vaut la peine ?

Est ce que c’est ça, devenir adulte ? Abandonner ces convictions et être raisonnable ?


  1. Il y en a un peu plus chez les physiciens.

J’aimerais pouvoir finir ce billet par la réponse à toutes les questions que je pose. Mais c’est un vrai billet d’opinion: la vérité, c’est que je suis sincèrement perdu et que je cherche des pistes de réflexion.

Toute réflexion de votre part est donc la bienvenue ! Merci de m’avoir lu, et à vous :)

27 commentaires

Les jeunes (pas forcément enfants mais globalement des novices ayant assez de mémoire et encore de la plasticité pour avaler des nouveautés arbitraires) et les parents (plus exactement les gens qui y viennent sur le tare) ; c’est exactement une bonne partie du public que je rencontre et qui me fait relativiser (sur les vérités absolu de tel interface qui serait juste intuitif en oubliant sa propre première fois…)

Je sais qu’il y a pas mal de recherches, mais je ne savais pas qu’il y avait foison de documentation pour les devs. Et comme d’habitude ce n’est visiblement pas intuitif pour ces devs (qui d’un autre côté doivent pondre du code plus vite que leur ombre) de lire ces manuels ; à moins que ce soit les designers qui se préoccupent plus d’en mettre plein la vue que d’utilisabilité (ça fait penser aux concours d’égo et à la recherche de gloire des architectes dans d’autres domaines.)
Je suis chez LCL aussi et idem les deux trucs que j’avais besoin de faire la dernière fois que j’y était n’étaient plus possible avec la nouvelle interface. On est loin de la facilité et de révolution qu’on a voulu nous vendre.

Pour les logiciels métiers, j’ai souvenir d’une époque un peu lointaine où justement c’est conçu avec les gens qui doivent l’utiliser… Par contre effectivement, ce n’est pas accessible comme par magie aux personnes qui ne sont pas du métier, mais la prise en main devait être assez rapide pour qui s’était formé-e au métier et aux façon de faire de l’entreprise (car chaque marque/fabricant/etc avait sa logique et ses process, et le logiciel de l’un ne pouvaient pas s’utiliser chez l’autre…) Oui, faut tempérer, tout n’est pas rose.
Édition : C’est bien ce que dit SpaceFox, ces logiciels métiers sont performants (et non confortables …mais ça devient inconfortable quand ça devient moins efficace sous prétexte d’évolution) d’une part, et la problématique est toute autre (voire pratiquement inverse) pour les logiciels dit grands publics. Par contre je ne sais pas quel est le panel des testers chez Microsoft car le résultat n’est pas toujours probant je trouve : soit quelques rares personnes adorent (je ne sais pas si ça atteint 20% autour de moi), soit on déteste (c’est typiquement les power users et quelques anti-ms de principe), soit on s’y fait (ce qui semble être le cas de la majorité autour de moi) et on s’habitue (cas de plus de la moitié.)

+0 -0

Je sais qu’il y a pas mal de recherches, mais je ne savais pas qu’il y avait foison de documentation pour les devs. Et comme d’habitude ce n’est visiblement pas intuitif pour ces devs (qui d’un autre côté doivent pondre du code plus vite que leur ombre) de lire ces manuels ; à moins que ce soit les designers qui se préoccupent plus d’en mettre plein la vue que d’utilisabilité (ça fait penser aux concours d’égo et à la recherche de gloire des architectes dans d’autres domaines.)

L’exemple qui me vient immédiatement en tête, c’est notamment Google qui fait un travail pédagogique conséquent (et accessible gratuitement) avec son "material design" : https://m2.material.io/design

On y trouve notamment des explications (et même des règles pratiques) pour guider le design d’une interface qui reste épurée (par exemple, avec pas trop de boutons, ne pas mélanger tel et tel élément : il faut choisir, jusqu’à quel texte, quel genre de couleurs afficher sur un bouton "annuler" ou "confirmer" pour éviter d’induire l’utilisateur en erreur et garder une expérience fluide), etc.

Des ressources de qualité pour apprendre l’UI/UX, de nos jours, on en trouve même des gratuites : c’en est au point que même un daltonien comme moi qui n’ai pas du tout la fibre d’un graphiste, peut facilement choisir une palette de couleurs qui soit à la fois originale et harmonieuse sans risquer de se tromper. Il n’y a plus d’excuses !

Mais tu touches du doigt un autre problème : les processus de fabrication des logiciels, de nos jours, sont encore souvent pétés. L’exemple de @Spacefox avec le soft qui a été construit et livré sans jamais l’avoir mis dans les mains d’un utilisateur avant qu’il sorte en est un exemple, certes un poil extrême, mais encore bien trop courant de nos jours.

Là aussi, ça fait 20 ans qu’on connait des techniques, des procédés, des modèles organisationnels qui permettent d’éviter tous ces écueils, mais ça fait aussi 20 ans qu’on a encore besoin de les promouvoir, et que l’idée "qu’il faut aller vite, donc on n’a pas le temps de faire bien, donc on fonce et on verra" a la vie dure : il existe des façons d’organiser le travail qui permettent de faire vite (mettre dans les mains de l’utilisateur un outil qui lui sert à quelque chose dès la première semaine du développement), et bien, sans jamais perdre de vue la finalité du logiciel.

Ici encore on se heurte à un historique et un ordre établi qui freinent l’adoption de ces pratiques : personne n’aime qu’on lui demande de réapprendre son métier. :)

PS : il y a également le fait que les grosses structures/boîtes très hiérarchisées sont impossibles à faire évoluer/modifier. Pour des tas de raisons. Pas toutes mauvaises d’ailleurs.

+1 -0

Je pourrais continuer à utiliser Thunderbird pour les mails (et le calendrier?) et il existe un client libre OneDrive.

Pour info mon client utilise des outils proprios ou de Microsoft (Skype, Slack, Outlook, etc.). Globalement il y a moyen de s’en sortir sans trop de compromissions. Notamment pour les courriels le logiciel Evolution gère bien le protocole Exchange de Microsoft.

En fait avec Flatpak et les services Web, il n’a probablement jamais été aussi simple d’utiliser des services tiers pas multiplateformes à l’origine et donc pouvoir utiliser Linux sans emmerder le reste du monde.

Je pourrais utiliser les interfaces web de ces deux services, qui sont globalement correctes (et même l’interface web de la suite Office est potable). Notez que le client Teams sous Linux n’est jamais que l’interface web derrière un Electron et que j’ai prophétisé que Microsoft finira par se diriger vers ça pour la plupart de ces programmes, si ce n’est déjà le cas.

Je pense que c’est une option valide.

Aucune de ces solutions n’est vraiment satisfaisante, parce que ces deux programmes sont les arbres qui cachent la forêt: il est évident que l’université continuera d’utiliser les outils mis à dispositions par Microsoft pour différentes tâches, et que la liste des choses qu’on me demandera de faire dépassera la capacité du client web (il suffit de comparer la différence entre Teams sous Windows et l’interface web) ou de programmes libres dont les fonctionnalités dépendent de la disponibilité des développeurs et d’une API compatible.

La question est de savoir de quels outils tu as besoin et dont tu auras raisonnablement besoin pour ton travail.

Typiquement mon client qui utilise beaucoup de services de Microsoft a par exemple des serveurs administrés via un Windows Server et avec des trucs spécifiques autour. Et bah ça ne m’impacte pas, mon boulot ne nécessite pas d’y toucher.

Peut être que Skype sous Linux a des fonctions en moins que sous Windows, mais après 2 ans je n’ai pas été gêné pour nos réunions régulières et cela me semble peu probable que demain la situation change. Est-ce que les fonctions manquantes de Teams sont utilisées et indispensables ? Si tu n’en as pas besoin, où est le problème ?

Tout s’évalue.

Et puis, ça me fatigue: toujours lutter, alors qu’il me suffirait de retourner sous Windows. Et puis, est ce que c’est toujours si mal que ça ? Après tout, on raconte que PowerShell est au moins aussi puissant que bash. Il y a le Microsoft Store. LaTeX y est évidemment disponible, et je pourrais arrêter d’embêter mon monde et enfin utiliser ma licence Microsoft Office. Et au pire, il y a toujours le Windows Subsystem for Linux dont mon collègue semble très heureux. Et puis, l’université pourra enfin me prêter du matériel.

Microsoft a effectivement progressé sur certains points et il y a moyen d’être heureux avec c’est évident.

Mais tu as l’inverse aussi, pendant un temps Docker sous Windows c’était aussi difficile avec des restrictions donc suivant ton travail cela pouvait être limitant. Etc. Le tout est de gérer la balance dans le cadre de ton travail pour trouver le compromis le plus idéal. L’important est que tu t’y retrouves. Si Linux t’apporte plus d’emmerdes que de confort pour tes activités, persister dessus est effectivement une mauvaise idée à terme. Tu perds du temps et de l’énergie.

Mais avec Windows tu auras peut être, suivant ton activité, des soucis similaires. Des incompatibilités, des outils nécessaires moins accessibles ou par exemple une interface et un écosystème qui te convient moins. Faut évaluer si le jeu en vaut la chandelle. ;)

Du coup tu auras probablement une période de transition où tu devras envisager un retour en arrière si tu découvres un problème dans l’adoption de Windows au quotidien.

À mon niveau, je commence à me demander si ça ne devient pas du fanatisme aveugle.

C’est du fanatisme de persister dans une voie non optimale sans raisons valables. Tu te poses la question, c’est donc déjà un bon point. Mais reste à définir si migrer vers Windows va forcément s’accompagner de gains importants pour ton travail. Peut être, peut être pas. Essaye j’ai envie de dire et tu verras !

Mais j’ai quand même le sentiment que dans ce que tu nous décris tu partes aussi d’hypothèses futures (notamment par l’usage croissant d’outils de Microsoft dans ton université) où le Linux au quotidien te poserait de gros soucis. Il faut évaluer si cette projection est fondée aussi. Ce n’est pas parce que l’université y aura de plus en plus recours que dans ton poste au quotidien tes soucis augmenteront.

Est ce que c’est ça, devenir adulte ? Abandonner ces convictions et être raisonnable ?

Je pense surtout qu’il faut savoir comprendre pourquoi nous faisons des choix. J’aime l’esprit du logiciel libre, je le défends depuis longtemps, je me suis investi dedans, etc.

À côté de ça j’ai un Windows pour jouer, une Xbox pour jouer, etc. Est-ce grave ? Suis-je possédé ? Non. J’ai un plaisir qui fait aussi partie de mon activité sociale et j’ai fait un choix d’utiliser ces systèmes dans ce contexte. Déjà car je pense que les problématiques liés aux LL sont moins importants pour les jeux, mais aussi parce que ma vie sociale et mes loisirs sont plus important qu’une idéologie appliquée de manière aveugle.

Pour certaines tâches du boulot je me sers d’un Windows parfois, ce n’est pas fun mais je le fais car pas le choix. C’est mon boulot et mes considérations vis à vis du système n’ont pas lieu d’être. Je ne vais pas démissionner pour 3 jours par an sous Windows. :D Je dois m’adapter quant au fait que Windows est important dans l’industrie informatique et que je ne peux pas changer cela moi même.

Après est-ce que si on m’impose Windows je démissionnerais ? Cela dépend. Pour le projet / job de mes rêves, si c’est motivé techniquement (car il faut un outil X ou Y) je dirais que non. Car le but est avant tout la bonne marche du projet, et si le projet est motivant l’effort peut être entrepris. Mon amour et mon confort sous Linux n’y a pas une grande importance à ce sujet.

Si par contre c’est juste une décision fondée sur rien, utiliser Windows pour utiliser Windows, je pense que j’aurais du mal car je perdrais en productivité sans gains derrière et sans justifications. Cela risque de rendre le travail frustrant et désagréable à terme.

Le tout est de comprendre pourquoi on fait ces choix et de trouver le compromis qui convient pour effectuer son travail dans les meilleurs conditions possibles. Sans perdre de vue la priorité qui est quand même que le travail soit fait efficacement dans les règles de l’art.

+4 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte