PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Se former ? Pratiquer surtout !

lundi 19 août 2019 à 18:30

Aujourd’hui j’aimerai partager avec vous un retour d’expérience sur un projet que j’ai du mener au boulot, sur les limites des formations, mon ressenti en tant qu’autodidacte qui a passé sa vie à se former dans son coin. Et si je peux glisser un ou deux conseils au passage, je vais pas m’en priver 🙂

Le projet en question qui m’a mené au questionnement de ce jour, c’est une migration de sites web php/mysql (différents CMS) installés sur des machines virtuelles, vers un cluster Kubernetes via le service Microsoft Azure Kubernetes. Pour ceux qui ne sont pas encore à jour, Kubernetes, je le décrirai comme une plateforme d’orchestration de containers Docker qui amène pas mal de concepts supplémentaires (par exemple on ne parle pas de container mais de pod), qui est pensé pour un déploiement industriel, et facilement proposé par les gros fournisseurs d’hébergements dit cloud, avec des plugins pour relier certains éléments à leur propre architecture.

On a donc dans la balance, des CMS que je ne maîtrise pas forcément (Magento, Typo3, par chance y’a aussi du WordPress), un fournisseur Cloud avec lequel je n’ai pas encore réellement travaillé, et un orchestrateur que je n’ai là aussi jamais touché en prod ni chez moi. Le tout sans support d’agences web, et sans support par le client car il n’a pas les compétences internes et les contrats avec les agences web ont été décapités à l’occasion de rachats par une entité étrangère qui pilote du coup à la place des équipes locales pas mal de choses.

Commençons par le fournisseur cloud. J’ai fait un seul WorkShop sur Azure, avec un ingénieur terrain de Microsoft, qui nous a parlé pendant 4 jours de technologies Windows. Les rares déploiements que l’on a effectués étaient en mode manuel, pour de la simple machine virtuelle, donc pas vraiment adapté. Et surtout, par la suite, je n’ai pas eu à travailler sur du déploiement Azure, juste de la gestion au quotidien sur des instances virtuelles Linux classiques. Autant dire que mes connaissances sur la plateforme Cloud étaient minimes, mais vraiment…

Pour les sites, je vais évacuer tout de suite, le code ce n’est pas mon métier à la base, au mieux j’ai une expérience que je qualifierai de solide désormais pour analyser le fonctionnement de PHP, avec naturellement un bagage un peu plus fourni sur WordPress et Drupal, donc pas un problème, même si on le verra ça ne suffit pas toujours.

Pour Kubernetes, la seule approche que j’en avais eu jusque là c’était un « atelier » de deux jours par un collègue de boulot avec qui j’adore discuter (j’ai pris grosso modo deux mois de cours avec lui en une heure d’investigation MySQL un soir, encore merci Julien 🙂 ), un workshop sur OpenShift. OpenShift repose sur Kubernetes, qui repose lui-même sur Docker, mais la solution de RedHat amène des contraintes notamment de sécurité supplémentaires, et du routing entrant qui lui sont propres et donc pas applicables ailleurs. Là aussi, à peine le workshop terminé, aucune utilisation en production sur mon pôle client et aucun projet en vue dans l’immédiat. Je l’ai surtout fait parce que je voulais compléter ce que je connaissais déjà de Docker, mais au final…

On en arrive au fameux projet, que j’ai attaqué en revenant de mon arrêt prolongé pour cause de pied cassé, on me colle le cluster Kubernetes fraîchement déployé dans les pattes, les accès au serveur vmware du client qui héberge ses machines virtuelles avec les différents sites à l’intérieur, et roulez jeunesse. A moi de définir la méthodologie, faire l’inventaire des besoins, gérer la conteneurisation des sites, etc. Pas le meilleur cadrage du monde on en conviendra.

Et là, plus d’un an voire deux après le Workshop Azure, et plus de six mois après celui d’OpenShift, eh bien, sans avoir pratiqué, j’ai du reprendre tout de zéro. Le résultat, j’y suis arrivé mais dans la douleur, avec pas mal de surprises, de tentatives, de recherches longues et pas toujours fructueuses, de déceptions et de victoires parfois surprises. Plus ou moins dans l’ordre :

Je passerai sur les erreurs liées au déploiement lui-même du cluster, qu’on a fait à la main dans la mauvaise région par rapport au vnet qu’on avait paramétré, ce qui complexifie la gestion du réseau des déploiements annexes. On a passé pas mal de temps à tenter de récupérer une définition de terraform qui colle à ce qu’on avait déjà en important les ressources depuis azure. Je disais de pratiquer, ah ben là j’ai mangé, et pas qu’un peu ! Surtout que le template se charge aussi de configurer le monitoring datadog et le backup velero (pratique si pour une raison ou une autre on doit redéployer le cluster de zéro, au hasard pour récupérer un réseau potable).

100 fois sur le métier…

Dans tous les cas, le problème de fond reste le même. Vous pouvez faire autant de formations que vous voulez, si vous ne pratiquez pas derrière, vous ne risquez pas de retenir vraiment les choses, au mieux vous garderez les concepts mais vous devrez passer beaucoup plus de temps à retrouver vos petits. Quand j’ai monté mon cluster docker swarm à la maison, c’est parce que je savais qu’au boulot, je ne ferai pas assez de Docker au quotidien pour en garder l’habitude et les réflexes. Un collègue ingénieur qui va devoir aussi bosser sur du K8S pour un client a installé un cluster de test chez lui pour en comprendre les rouages, et je me pose aussi la question désormais (bien que les priorités soient ailleurs en ce moment).

L’idéal pour ça, c’est d’avoir un ou plusieurs projets persos pour mieux s’approprier les technologies. J’ai codé la première version de collect en PHP/MySQL parce que je voulais apprendre sur ces deux technologies. Ce n’est pas allé très loin certes, mais ça m’a donné les clés de base pour être à l’aise par la suite quand il s’agit à la fois de les installer, de les opérer, de les approfondir, de les analyser quand ça ne fonctionne pas bien, de réparer si c’est cassé. Une sorte de gros premier pied à l’étrier si on veut. Si j’utilise un NAS ASUStor désormais, j’avais tout de même commencé par assembler une machine maison, avec plusieurs disques, ce qui m’a permis de comprendre assez profondément les notions de RAID (que je vous avais partagé d’ailleurs). Et je pourrais continuer comme ça sur pas mal de technos que j’ai fini par connaître.

Je ne suis pas le seul : Genma cherchait à s’auto-héberger, son installation sous Yunohost et sa volonté de contribution au projet font qu’il a acquis une connaissance certaines sur les différentes technologies qui lui servent de base, alors qu’il en savait très peu auparavant. Autant de bagage qui lui servent encore aujourd’hui. Reste qu’il n’a pas eu l’occasion de faire du test pour son nouveau rôle de papa, car monter un labo c’est moins évident 😛

En clair, le maitre mot pour s’assurer qu’on va retenir un max de choses d’une formation, c’est de s’en servir derrière régulièrement, que ce soit pour les clients ou pour soi-même. Et ce, quelque soit le domaine en question.

La nécessité d’une veille et d’une pratique constante

Une des caractéristiques qui me plaît beaucoup dans le métier que je fais, c’est qu’il est en situation de mouvement permanent. Ce qui veut dire qu’on doit apprendre en permanence de nouveaux concepts, de nouvelles choses, y compris sur des logiciels connus qui évoluent avec le temps. On ne peut évidemment pas tout connaître, tout tester, mais se tenir informé des évolutions est nécessaire, ne serait-ce que pour garder en tête les grandes lignes, grâce à ça, lorsque vous aurez à répondre à un nouveau besoin, vous aurez déjà en tête une ou plusieurs possibilités de réponse, que vous aurez moins peur d’appréhender.

Ma méthode préférée pour ça, ce sont les flux RSS des différentes sources que j’utilise. Si vous ne savez pas encore ce que c’est, c’est que vous ne me lisez pas depuis assez longtemps, parce que je vous avais déjà présenté cette technologie il y a quelques années (elle n’a d’ailleurs pratiquement pas bougé depuis). La liste de mes flux bouge avec le temps, les sites qui ferment, d’autres qui sont tout simplement inactifs, d’autres qui s’ouvrent, ou certaines priorités qui changent. Au final je passe toujours autant de temps à lire les infos chaque jour. Par contre, je sais que je ne pratique pas autant que je le devrais, en partie grâce à une flemme légendaire que j’ai moi-même illustrée par ma bio Twitter : procrastinateur de l’extrême. Un exemple qu’évidemment je ne vous invite pas à suivre 🙂

EndlessOS : mais pourquoi ?

samedi 17 août 2019 à 11:00

J’ai vu récemment passer sur mes flux RSS un très mauvais article du site frandroid sur un laptop orienté gaming avec une configuration peu courante à base de CPU Ryzen 5 2500U, mais surtout, livré sans Windows, mais avec EndlessOS. Et j’ai eu la curiosité de fouiller un peu vu les différents problèmes.

Je me suis déjà exprimé sur Twitter à propos des problèmes de l’article d’frandroid (qui cherche vraiment les clics à tout prix, un site orienté mobile Android qui parle de laptop pc et de Windows…), je vous remets ma réaction :

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8">

Le matériel est déjà peu courant, surtout pour des fabricants vendus à Intel depuis des années, à savoir un CPU AMD Ryzen 5 2500U, une carte graphique Nvidia GTX 1050, accompagné de 8Go de RAM et d’un SSD certes un peu léger de 128Go en M.2 SATA, mais accompagné par un gros plateau de 1To qu’on aura vite fait d’éviter si on veut vraiment travailler en performances en 2019. Le tout agrémenté par un écran 15,6 pouces FullHD antireflets, donc oui, une bonne babasse, à un super prix pour ceux qui veulent jouer sans avoir besoin de tous les détails à fond, une machine conçue par un gros constructeur en plus, à savoir ASUS. Pour les intéressés je vous mets le lien direct sur Cdiscount (ah oui par contre ça…), sans tracking dégueulasse de frandroid, non de dieu que c’est pas RGPD tout ça…

Et donc il n’est pas fourni avec Windows 10 mais EndlessOS, qui n’est, on va le voir, rien de plus qu’une distribution Linux. Vu ce que je fais avec mon laptop sous Manjaro, y compris jouer, et pas qu’à des Point&Click Big Fish Games, dénigrer et dire qu’on devra installer Windows à la main est juste une connerie monumentale. Par contre, ce que j’ai découvert sur EndlessOS me fait définitivement tiquer sur la cible réelle de ce laptop.

EndlessOS, UselessOS ?

L’OS semble construit de zéro, sur un noyau Linux 5.0, mais utilise le gestionnaire de paquets APT de base, sans pour autant se reposer sur Debian et ses dépôts. Le bureau n’est en fait qu’un Gnome très paramétré, un peu en mode « ChromeOS » vu qu’il n’y a pas de menu mais toutes les applications directement sur le bureau. C’est tout de même un Gnome 3.32, qui a bénéficié d’un gros travail sur sa réactivité à défaut de sa légèreté en ressources, donc pas si mal. Qui dit Gnome dit systemd, coucou les rageux, retournez sur vos joujous. Concernant l’embonpoint à l’installation, sur une VM, après désinstallation de Chrome (aïe), installation de Firefox et Steam, on est à 9Go. Pas un très bon élève, vu la logithèque installée Gnome semble un coupable facile, à moins que…

Là où ça commence à se gâter, c’est sur l’utilisation semble-t-il de flatpak pour la majorité des applications, quoiqu’en plus il a l’air d’avoir un support pour snap. Comme tout se passe par l’App Center qui semble bien austère même si d’un point de vue ergonomique il est pas mal, difficile d’en savoir plus sans installer les applis, les lancer, et tenter de trouver ses petits via le terminal. En gros, si on ne fait pas une recherche, on aura bien du mal à avoir des résultats probants.

Autre conséquence du choix de flatpak, vous avez une chance sur deux que l’application installée ne soit pas traduite dans la bonne langue, et je n’ai pas trouvé d’options pour corriger ce point. Vous comprenez donc ma remarque sur la cible, certes c’est « simple », mais si on est pas anglophone, ça pose des problèmes, d’autant plus sur des sites multilingues qui vont vous envoyer sur leur version anglaise par défaut en détectant la langue du navigateur. Au revoir les français. L’embonpoint dont je parlais est certainement lié à ce choix de fonctionnement, pour rappel, flatpak, snap, appimage, tous ces formats reposent sur un même fonctionnement de base : embarquer les dépendances des applications pour éviter les soucis liés à celles-ci. Intéressant sur le papier, mais on se retrouve avec un problème de duplication similaire à ce qu’on peut voir sous Windows avec les jeux qui embarquent chacun leur révision du Microsoft C++ Runtime pour ne citer que lui (sans parler des versions de DirectX…). Comme ils ont fait le choix d’utiliser uniquement flatpak pour les applis, vous êtes tous seuls pour réparer si ça déconne, car pas de support et d’expérience d’une énorme communauté autour d’une distribution de base (Debian pour Ubuntu, ArchLinux pour Manjaro), ou de la distribution elle-même. La communauté doit être riquiqui.

1,2Go de dépendances, check

La distribution fait aussi des choix par défaut qui me dérangent, mais qui malheureusement pour la planète conviennent trop souvent aux gens peu soucieux de leurs outils. En effet, l’OS est fourni avec Chrome par défaut en tant que navigateur, et ce qui serait éliminatoire à lui tout seul, à savoir désinstallé, remplacé par Firefox, après un reboot un peu sauvage car l’interface était freezée (les addons virtualbox embarqués sont pas d’une stabilité monumentale, mais tout fonctionne out-of-the-box : résolution auto, copier/coller bidirectionnel), il m’a réinstallé Chrome. Ce n’est pas un bug, j’ai tenté plusieurs fois de désinstaller et redémarrer l’OS, il réinstalle Chrome à chaque reboot. A partir du moment où l’OS commence à penser à votre place pour vous dire ce que vous devez utiliser comme logiciel aussi critique qu’un navigateur web de nos jours, c’est mort.

Le bureau, qui comme je l’ai dit fait office de lanceur d’applications, est bourré de raccourcis vers Facebook, Whatsapp, pire, ça vous lance une fenêtre Electron (donc Chromium) pour afficher finalement le site web, sous forme « d’application ». Il existe aussi des liens pour accéder rapidement à Spotify, tout pour être bien dans un monde qui exploite ses utilisateurs pour en prendre le contrôle, l’inverse de ce que devrait être l’utilisation de l’informatique. C’est Gnome Vidéos, anciennement Totem, qui est installé mais vous avez un gros bouton pour « Obtenir VLC », vu la licence pourquoi ne pas l’avoir fourni par défaut ?

Ça j’ai potentiellement la raison, vu le niveau de finition de l’interface qui est, il faut le reconnaître, plutôt bien léchée, garder un environnement cohérent nécessite d’utiliser uniquement, Gnome oblige, des logiciels reposant sur le toolkit gtk3 au minimum. Hors, VLC repose sur le toolkit Qt qui a ses propres codes. L’inclure est donc toujours un risque, d’autant que flatpak oblige il y a une containerisation des applis, ce qui veut dire qu’entre deux applications « qt » qui n’utilsent pas la même version, vous oublierez certainement des paramètres en voulant améliorer l’intégration (utiliser un thême proche sur Qt et GTK, voire le même si l’auteur dudit thème a fait le boulot monstrueux pour vous, idem pour les polices de caractères), ce qui rendra vraiment pas bien.

Les choix par défaut se traduisent aussi dans la procédure d’installation. C’est simple, au démarrage sur le système live, on vous pose trois questions à peine, le partitionnement est entièrement automatique, au reboot vous créez votre compte, et vous êtes déjà opérationnel, ça a pris 5 minutes dans la VM, c’est dire si c’est rapide. Autant les étapes avant le reboot, bon, ça pourrait être un peu plus fourni, autant j’aime cet aspect « OEM », ou vous pouvez installer l’OS, couper la machine, et au premier démarrage, l’utilisateur crée directement son compte et peut l’utiliser. Combien de fois j’ai vu des Windows préparés avec un compte par défaut, et dont les utilisateurs se contentent sans prendre la peine de le créer avec leur propre nom ?

Le dernier point qui me bloque, c’est qu’on a un « contrat de licence » à accepter avant de pouvoir démarrer l’installation. C’est toujours délicat, il faudra que je le relise parce que souvent, c’est un nid à emmerdes juridiques qui ne devrait pas se poser quand on utilise des logiciels sous licences libres.

Quitte à économiser Windows, y’avait d’autres solutions plus propres

La distribution n’est pas inutilisable, loin de là, mais quitte à éviter Windows 10 et son aspirateur à données personnelles et comportementales, il y avait quantité d’options préférables, la première étant Ubuntu. Oui, c’est une distribution qui dispose certainement de la logithèque et de la communauté la plus fournie du monde de la banquise de notre cher manchot. C’est d’ailleurs le choix fait systématiquement par Dell quand il vous fournit une machine sous Linux. Pour l’instant le support de Steam, porte-étendard du jeu vidéo sous Linux, est encore complet sur cette distribution, et pour des francophones, c’est aussi un des meilleurs choix à faire car dès que vous aurez un problème, il aura certainement une solution déjà trouvée, même en français. Et même pour installer des logiciels hors dépôts et snap/flatpak, vous serez mieux guidé que sur une distribution faite à partir de rien. D’autant que leur forum repose sur Discourse qui est une bouse sans nom…

C’est donc dommage de la part d’ASUS d’avoir fait un tel choix, mais finalement pas si surprenant quand on se souvient qu’ils avaient déjà fait l’erreur d’aller chercher une Xandros pour leurs premier eeePC, qui ont inauguré une période faste pour les netbooks, ces machines compactes avec des écrans inférieurs à 10 pouces et des CPUs anémiques au possible, mais dont l’OS a justement montré le pire qu’on pouvait de l’écosystème de l’époque (faut dire qu’il n’y avait pas beaucoup d’interfaces adaptées à ces tailles), poussant les autres constructeurs à ressortir un Windows 7 « Basic » en 2009. Et là, on recommence même si visuellement c’est plus propre. C’est tellement dommage. Après évidemment, si vous voulez jouer à PUBG, pas trop le choix, il vous faudra un Windows 😡

Désactiver les commentaires sur les fichiers joints dans WordPress

vendredi 2 août 2019 à 18:30

Récemment, j’ai commencé à subir une vague de spam sur la page « attachment » d’une image d’illusatration d’article liée à editorconfig. Bizarrement je n’ai pas les options pour désactiver les commentaires sur cette page, du coup je dois la jouer autrement.

Je vous laisse juger aux notifications mail :

Il n’y a pas de réglages spécifiques pour les commentaires sur les fichiers joints, il faut donc procéder de manière un peu détournée et pour ça on va faire appel à deux éléments de WordPress différents.

La force des thèmes enfants

La mise en place d’un thème enfant devrait être une obligation dès que vous voulez utiliser un thème communautaire. C’est ce que j’ai fait sur ce blog dès le premier ravalement, et je ne regrette absolument pas.

Dans un thème enfant on définit notamment un fichier principal functions.php qui va contenir toutes nos directives maisons. Au fil du temps j’y ai inclus pas mal de choses, suppression des query string, masquage des détails de login, et autres petits raffinements. À noter que comme n’importe quel fichier php, rien ne vous empêche de mettre vos codes maison dans un fichier à part et de procéder à une inclusion dans functions.php ensuite, si vous multipliez les éléments maison pour la lisibilité c’est peut-être mieux.

On va donc ajouter une fonction de plus :

function disable_media_comments( $post_id ) {
if( get_post_type( $post_id ) == 'attachment' ) {
wp_die("Comment not allowed.");
}
return $open;
}
add_action( 'pre_comment_on_post', 'disable_media_comments' );

Cette fonction ajoute une vérification lors de l’ajout d’un commentaire, si on est sur un type attachment on renvoie une erreur sans traiter le commentaire.

La base de données pour nettoyer les contenus existants

J’ai déjà eu à jouer avec par le passé pour désactiver les pings, et il me semble que ça avait fait l’objet d’une astuce diverse. L’idée est donc de modifier massivement les attachments pour désactiver les commentaires manuellement :

UPDATE `wp_posts` SET `comment_status` = 'closed' WHERE `post_type` = 'attachment' AND `comment_status` = 'open';

C’est aussi simple que ça. Évidemment disclaimer faites une sauvegarde avant toussa…

D’autres pistes ?

La seule autre solution que j’ai pu lire consistait à désactiver tous les commentaires. Sauf que vous le savez, j’aime justement vos retours sur les bêtises que je peux raconter, du coup, je les laisse activé. Cette fonction supplémentaire ne coûte pratiquement rien en ressources, donc on va pas s’en plaindre. Sinon en analysant les logs j’ai découvert que les POST étaient fait en HTTP 1.0. Je pourrais éventuellement désactiver le protocole si je vois qu’il ne sert à rien d’autre que ça 🙂

Ma banque et l’éducation au phishing

vendredi 19 juillet 2019 à 18:30

J’ai eu l’occasion récemment de pester contre ma banque à l’occasion d’un énième mail de publicité, quand j’aimerais plutôt avoir les infos importantes, qui elles continuent d’être envoyées seulement en papier. Et pire, après une prise de contact via le site web, la notification de réponse est arrivée avec encore un autre domaine. Voyons donc pourquoi je suis colère.

En fait, c’est par rapport à ce qu’on apparente à de la sécurité informatique, ici surtout l’éducation à la lutte contre le phishing. En effet, parmi les réflexes que l’on essaie d’inculquer aux utilisateurs pour éviter les fraudes, il y a l’analyse de l’expéditeur.

Voici donc ce que j’ai reçu dans ma boîte mail qui semble provenir de ma banque, mais qui me fait tiquer :

Ce domaine n’est pas celui du Crédit Mutuel, pourtant tout le contenu du mail m’y fait penser (et le « Réponse à » aussi). Deux possibilités, soit la banque fait une connerie, soit le malfaisant est super doué. Avant de cliquer sur n’importe quoi, j’analyse donc rapidement le domaine, avec un whois :

domaine pourrave pour l’envoi de notifications

$ whois e-i.com
Admin Name: Benoît WIESEL
Admin Organization: Euro Information
Admin Street: 4 rue Frederic-Guillaume Raiffeisen
Admin City: STRASBOURG
Admin State/Province:
Admin Postal Code: 67000
Admin Country: FR
Admin Phone: +33.388148054
Admin Phone Ext:
Admin Fax: +33.388148530
Admin Fax Ext:
Admin Email: nsmaster@e-i.com
Registry Tech ID:
Tech Name: Benoît WIESEL
Tech Organization: Euro Information
Tech Street: 34, rue du Wacken
Tech City: STRASBOURG
Tech State/Province:
Tech Postal Code: 67000
Tech Country: FR
Tech Phone: +33.388148054
Tech Phone Ext:
Tech Fax: +33.388148530
Tech Fax Ext:
Tech Email: nsmaster@e-i.com
Name Server: LDNSSE1P.E-I.NET
Name Server: LDNSSE2P.E-I.NET
Name Server: LDNSIE1P.E-I.NET
Name Server: LDNSIE2P.E-I.NET

Toujours pas de Crédit Mutuel sur ce domaine, mais un nom qui revient à plusieurs endroits, je cherche donc à en savoir plus sur ce monsieur. Chou blanc sur Qwant, je me rabat sur Google qui est un peu plus efficace puisqu’il me présente ce lien dans les résultats : une décision de justice concernant une demande pour faire cesser l’utilisation d’un domaine proche de celui du Crédit Mutuel, avec le monsieur présenté comme représentant ledit Crédit Mutuel. Donc tout va bien finalement.

Mais bon dieu comment voulez-vous qu’on soit efficace dans l’éducation des gens quand les banques se mettent à faire de telles conneries, alors qu’elles sont les premières à se plaindre quand leurs clients se font avoir par des mails frauduleux ? Une des composantes essentielles qu’on enseigne pour détecter les fraudes est justement le fait que le domaine ne correspond pas. Hors c’est précisément le cas ici, et vous avez vu les efforts de recherche que j’ai du effectuer pour m’assurer au final que c’était légitime ? Qui prendrait le parti de faire ce genre de vérification ?

Donc pitié, quand vous construisez vos mails de communication, quelle que soit la finalité, utilisez un domaine au plus proche, mieux, si vous pouvez utilisez le même ça ira très bien. Vous rendrez service à tous ceux qui ont l’habitude d’éduquer vos utilisateurs à la détection de fraudes, autrement dit vous aiderez vos utilisateurs à avoir confiance en vous, et vous vous aiderez à les éviter de se faire enfumer. Merci.

Comment (bien) profiter des jeux Big Fish Games sous Linux !

mercredi 17 juillet 2019 à 18:30

Bien que je puisse être occasionnellement intéressé par la multitude de point&click que la plateforme indépendante propose, c’est surtout pour ma mère que je m’y suis intéressé, cherchant depuis des années à la débarrasser d’un Windows qui passe son temps à la faire chier. Et si dans le passé j’avais échoué à supporter sa plateforme de jeu préférée, les choses ont évolué, en bien.

Pour ceux qui ne connaissent pas, Big Fish Games est dont un petit éditeur et distributeur de jeux vidéos, qui sait aussi proposer des jeux gratuits en ligne. On peut le voir très grossièrement comme un mini-steam spécialisé dans les jeux de réflexion et les point&click. Pas mal de petits studios de développements proposent des séries entières basées sur des thèmes particuliers, par exemple les Dark Parables qui revisitent les contes classiques.

L’ancien logo de Big Fish, qui apparaît encore partout 🙂

Mais comme pour la majorité du paysage jeu vidéo sur PC, le « Game Manager » et les jeux qui sont rattachés ne fonctionnent que sous Windows, du moins ils ne sont conçus officiellement que pour lui. Et il y a encore deux ans, c’était une vraie loterie pour que ça fonctionne via Wine. Mais ça, c’était avant.

Depuis, Wine a continué d’évoluer, aussi bien de manière indépendante, que plus récemment avec les multiples contributions de Valve via le projet Proton au cœur de Steamplay, une initiative pour supporter « officiellement » sous Linux des jeux non natifs. Proton lui-même n’est pas directement open-source, mais Valve renvoie une grande majorité des patches à Wine une fois ceux-ci considérés comme suffisamment solides pour être intégrés.

Wine est cependant un projet « générique », et parfois, il faut le paramétrer finement pour qu’un logiciel particulier accepte de se lancer. Il semble que ce soit le cas du launcher et des jeux qui nous intéresse aujourd’hui. Et pour ce genre de situation, certains projets ont émergé pour faciliter l’installation et surtout la configuration de Wine pour un ou plusieurs jeux en particulier. L’un d’eux est PlayOnLinux, qui embarque moult profils déjà prédéfinis, contribués à renfort de tests, pour plusieurs jeux populaires plus ou moins anciens. Mais vous pouvez très bien « partir de zéro » et suivre l’assistant qui vous proposera une certaine quantité de réglages de base. La particularité de PlayOnLinux est de créer des « containers », c’est à dire une arborescence en propre pour chaque logiciel configuré (ici c’est le manager Big Fish, qui lancera tous les autres dans ce même container). Ça permet d’avoir une configuration de compatibilité pour chacun, et même, si c’est nécessaire, une version spécifique de Wine. Pratiquement tous les éléments peuvent être paramétrés après la création du container.

Pour l’installer, rien de plus simple sous Manjaro/Arch :

$ yay -S lib32-libldap playonlinux

Sur d’autres distribs type Ubuntu&co, il faudra peut-être paramétrer un dépôt adapté pour wine, afin d’avoir une version à jour (sous Manjaro à rédaction de ce billet c’est la 4.11). Pourquoi j’ajoute une lib32 dans l’affaire ? Parce qu’elle n’est pas ajoutée en dépendance par playonlinux (qui en ajoute pourtant déjà pas mal, à l’instar de Steam) et que j’ai eu une erreur de lancement à propos d’un « wsldap32.dll.so manquant ». Donc je vous l’indique maintenant, histoire de ne pas perdre vingt minutes comme moi.

Je ne vais pas vous faire de capture d’écran maison parce que PlayOnLinux a un souci avec mon thème sombre sur Cinnamon :/

Pas pratique pour vous montrer quoi cocher

Donc, vous pouvez globalement suivre les instructions de cette vidéo Youtube en anglais. En résumé français :

Reste ensuite à sélectionner le fichier d’installation d’une démo big fish précédemment téléchargé depuis le site, qui entraînera l’installation du manager. Si celui-ci démarre et lance le téléchargement de la démo (souvent le jeu entier, mais bridé jusqu’à validation d’un achat ou preuve d’achat passé via la saisie du compte BigFish), considérez que c’est gagné. Et ça a été mon cas, ça fonctionne du feu de dieu, le seul bémol, c’est qu’on ne peut pas « basculer » d’un jeu en plein écran, il finit en écran noir et il faut le redémarrer 🙂

PlayOnLinux est un projet sous licence GPLv3, vous pouvez donc tout à fait y participer si vous vous sentez de proposer vos propres améliorations (je me pencherais bien sur cette histoire de thème par exemple), proposer vos propres scripts d’installation (j’ajouterais bien Big Fish à la liste de ceux proposés par exemple), aider à la traduction (normalement on dit bibliothèque en français, pas librairie), bref, il n’attend que vous pour servir et grandir, et diffuser la bonne parole du jeu vidéo dans notre univers polaire 😉