PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Splasher : un super jeu de plateformes, surtout sous Linux !

samedi 30 septembre 2017 à 10:30

Si vous suivez un peu l’actualité jeu vidéo indépendant, vous avez forcément entendu parler de Splasher. Il y a également aussi une grande chance d’en avoir entendu parler au détour d’une vidéo YouTube, ou d’une chaîne Twitch, puisqu’il a fait un peu de bruit cet été. Mais pourquoi est-ce que j’en remets une couche plusieurs mois après alors ? Parce que je ne joue pas beaucoup, et que ce blog n’est pas vraiment un rendez-vous incontournable de l’univers « du gaming », comme disent les djeunz. Et qu’il doit vraiment valoir le détour, même plusieurs mois après. Alors qu’ai-je à en dire ?

Déjà Cocorico, parce que Splasher, même avec son titre anglophone, sa présentation anglophone sur Steam, est un jeu français, développé par la Splash Team, petite équipe dont certains membres ont bossé sur certains épisodes de Rayman (une des références en matière de jeux de platformes). Et que l’aspect speedrun du jeu (j’y reviendrai tout à l’heure) a été développé en partenariat avec l’équipe du NESblog, qui est très impliquée dans cette activité.

Splasher est donc un jeu de plateformes. Vous êtes un employé d’une usine chimique qui découvre que les ouvriers sont traités comme du bétail par les chimistes, et vous décidez de les libérer. Le scénario est donc particulièrement basique, mais l’intérêt du jeu ne réside finalement que peu dans son pitch, mais bien plus dans ses mécaniques et son level design. C’est un jeu de plateformes, jusque là, rien de transcendant, mais il emprunte certaines mécaniques à Mario Sunshine (l’utilisation de l’eau pour nettoyer certaines surfaces, ouvrir certaines portes ou détruire quelques ennemis) et à Portal 2 (pour les peintures collantes et rebondissantes). Certains passages du jeu vous demanderont de mixer savamment les trois types de « tir » dont vous disposez, tout en effectuant des sauts millimétrés pour certains.

Le jaune ça rebondit, le rouge ça colle (aucune arrière-pensée)

Ça peut vite être compliqué, et frustrant. Parce qu’autant le dire, vous allez mourir. Beaucoup. Souvent. Il ne faut pas se décourager toutefois, quand vous arrivez à enchaîner les sauts, les changements de peinture, les mouvements pour attraper un ouvrier au vol, le tout avec virtuosité, c’est diablement gratifiant et il vous pousse des ailes pour attaquer le secteur ou « tableau » suivant. Dans chaque niveau des checkpoints plus ou moins fréquents sont présents, ce qui permet de ne pas être aussi pénalisé que dans un jeu d’il y a 20 ans. Malgré tout, il faudra patience et dextérité pour venir à bout de tous les tableaux et récupérer vos 154 potes.

Et après avoir terminé ça, vous n’avez fait qu’un peu plus de 60% du jeu. Il y a en effet tout un pan réservé au speedrun. Pas étonnant, les mécaniques du jeu et sa nervosité s’y prêtent à merveille. Mais d’abord, c’est quoi le speedrun ? Pour ceux qui ne le sauraient pas encore, il s’agit de terminer un jeu le plus rapidement possible, sous certaines conditions, parfois en exploitant des bugs non corrigés/corrigeables (Des furieux terminent The Legend of Zelda : Ocarina of Time, initialement sorti sur Nintendo 64, en moins de 20 minutes en usant justement de bugs). Un héritage de certains jeux 8 ou 16bits qui à l’époque déjà proposaient une mécanique de score parfois basée sur le temps (Sonic me vient à l’esprit pour le temps que j’y ai passé, à savoir des années).

Chaque passage a un « score » à atteindre

La particularité ici étant que le concept est intégré au jeu, contrairement à la pratique de ces dernières années qui s’attaque à tout type de jeu, et surtout ceux qui ne sont pas prévus pour. Et la Splash Team, pour bien faire les choses, à contacté le NESblog, collectif de personnes gravitant au cœur du jeu vidéo, dont les représentants les plus connus sont RealMyop et CoeurDeVandale, qui ont grandement participé à la popularité de la pratique en France, grâce d’abord à 88Mph, émission diffusée sur YouTube, puis Speed Game, émission qu’ils ont présenté sur JeuxVideo.com jusqu’à leur rachat par Webedia (qui a viré tout le monde ou presque sous prétexte que « ça rapporte pas assez« ). Avec également un testeur comme Kilaye, un passionné de SpeedRun ayant déjà quelques trophées à son tableau de chasse, autant dire que ce mode, s’il vous inspire, saura sous satisfaire, avec encore à la clé la gratification de réussir à enchaîner les sauts, les peintures, sous certaines conditions, à savoir avec ou sans les potes à ramasser.

Et Linux là-dedans ?

Ben oui, je le mentionne dans le titre, autant en parler. Contrairement à ce qu’en dit la section configuration recommandée sur Steam, le minimum pour jouer, en tout cas de ce que j’ai fait, est plus bas qu’indiqué, laissant une fois de plus penser que le jeu est d’une finition exemplaire. Que recommandent donc les développeurs ? Un CPU à 3GHz, et une carte graphique dédiée type HD 5700. Et j’ai pu terminer le jeu, de manière fluide à ~95%, sur un CPU à 2GHz avec sa carte graphique Intel HD Graphics 5500 intégrée (mon laptop préféré, souvenez-vous). J’ai donc 1Ghz de différence et une carte qui doit partager sa mémoire vive avec ledit CPU, contrairement à la HD 5700 qui dispose de mémoire dédiée, beaucoup plus rapide.

Les 5% « non fluide » étaient principalement dus à quelques rares scènes bien chargées, notamment des passages où le niveau d’acide monte inexorablement. Malgré tout la baisse de fluidité était contenue, ce qui a permis de m’adapter à cette perte et pouvoir synchroniser malgré tout mes mouvements. Et je n’ai pas plus expérimenté la mort que lors des passages parfaitement fluides. Et pour info, j’ai joué à la résolution native du laptop, 1366×768, avec tous les effets activés (les options sont assez simplistes, mais il y en a, c’est toujours appréciable).

L’un des 154 potes à récupérer

Et tout ça, en ayant joué avec deux manettes différentes. J’ai commencé le jeu lorsque j’étais en week-end chez ma sœur en Bretagne, et mon beau-frère m’a prêté l’une de ses manettes PlayStation 3. J’ai du bricoler un peu avec xboxdrv pour forcer l’association avec le jeu, mais sinon, sa reconnaissance en tant que telle était parfaite en USB. Malgré tout, le jeu est d’abord pensé pour la manette Xbox 360 (celle que j’ai utilisé pour jouer au premier « Zelda » sur NES), et là, c’est juste parfait. On branche, on lance le jeu, roulez jeunesse, rien à faire, comme on s’y attendrait.

Donc si vous n’avez pas encore eu l’occasion de goûter aux plaisirs d’un platformer nerveux, et que la mort récurrente ne vous fais pas peur, foncez, c’est pas cher, c’est français, c’est jouable sous Linux, bref, c’est délicieux.

Stylus, reprenez le contrôle sur le design des sites Web

mercredi 27 septembre 2017 à 18:30

C’est comme ça, parfois, certains sites changent de design et ça ne vous plaît plus. Ou comme moi vos yeux saignent avec toutes ces couleurs chatoyantes, et vous cherchez quelque chose de plus léger, plus sobre. Et bien grâce aux technologies Web modernes, et une petite extension nommée Stylus pour votre navigateur, vous pouvez changer ça. Et cerise sur le gâteau, certains ont déjà fait le travail pour vous, vous n’avez pas nécessairement besoin de créer votre style personnalisé, et donc d’avoir de grosses compétences. Elle est pas belle la vie ?

Au départ je devais parler de Stylish, mais les changements prochains dans Firefox m’obligent à changer d’extension.

Stylus est une extension de navigateur Web vous permettant de « remplacer » les règles CSS définies dans les feuilles de style du site visité par les vôtres. L’extension est disponible pour Firefox et Chrome (et apparemment Opera). À vérifier pour ceux qui ne sont pas officiellement supportés, mais qui pourraient être compatibles malgré tout (la galaxie de navigateurs basés sur Chromium, ou encore Iceweasel, même si l’intérêt de ce dernier est assez limité maintenant).

Les usages ? Personnellement, j’écrème les pages web de tous les éléments que je considère inutiles (en plus de ceux que je bloque via uBlock). Étant sous Linux, ça me permet parfois de corriger l’extrême paresse des développeurs qui ne testent que sous Windows, et font donc appel uniquement à ses polices de caractères, évidemment absentes par défaut sur les autres systèmes; pareil si pas de Webfont. Et enfin certains « bugs » liés à mon thème sombre sur GTK (Thème ARC, que je recommande vivement), qu’il est plus difficile à prendre en compte pour un développeur qu’une police manquante.

Mais je vous fais la démonstration de tout ça dans la vidéo. Bon visionnage (même si le son est pas super top :/) !

https://www.youtube.com/watch?v=D1zUZeWlKKs

PS : Il y a quelques approximations mais à ma décharge j’avais pas déjeuné 🙂

Comment se porte Let’s Encrypt ?

dimanche 24 septembre 2017 à 10:30

Philippe m’a récemment remonté à juste titre sur Twitter que mon article sur Let’s Encrypt sent un peu la naphtaline. Voyons donc un peu ce qui a changé, en bien ou en mal. Mais si, je vais bien trouver un truc mauvais dans cette histoire, en fouillant bien…

Un besoin grandissant, pour tous les types de structures

En effet, le chiffrement des communications devient un élément de plus en plus déterminant, que ce soit au niveau des navigateurs qui vont indiquer de plus en plus lourdement quand un site est « en clair » (surtout dans le contexte de la saisie de données), mais aussi par les moteurs de recherche, Google en tête, qui vont intégrer le chiffrement dans les critères de référencement; et je les soupçonne d’avoir déjà commencé.

Et c’est une évolution sur laquelle je guide beaucoup de clients depuis maintenant un peu plus d’an, que ça soit sur le passage à HTTPS au niveau de leurs sites, soit sur de bonnes pratiques quand il est déjà en place (mixed-content, configuration affreuse). Que ce soit via Let’s Encrypt ou pas d’ailleurs, les implications de l’utilisation du HTTPS sont souvent très mal perçues (voire pas du tout) par la majorité des non-techniciens.

Mes torts sur l’article original

Mes premiers reproches étaient surtout liés à mon installation plus ou moins bancale liée à ISPConfig plutôt que le logiciel lui-même. Ceci dit, encore maintenant il n’est pas toujours évident de savoir quel est la raison précise liée à une erreur (les multiples difficultés que j’ai rencontré ces derniers mois sur le renouvellement étaient liées à l’IPv6, mais pour comprendre ça, j’en ai chié).

Maintenant que j’ai eu l’occasion d’utiliser l’outil « officiel » sur pas mal de plateformes, j’ai une meilleure expérience à partager, d’autant que le système ne se résume pas qu’à son outil principal, c’est avant tout un protocole qui peut être implémenté avec plusieurs langages, certbot, parce que c’est son nom maintenant, est lui écrit en Python (et ça a son importance).

Certbot, un outil qui évolue constamment

J’ai connu les débuts, et les premières évolutions ou les besoins liés à Python 2.7 font mal quand on tente d’utiliser le client officiel sur des plateformes un peu anciennes (Centos 5 et même Centos 6), et c’est pas toujours évident d’avoir un fonctionnement propre; si au début le warning n’est pas méchant, aux premiers dysfonctionnements c’est la loose. Là ça m’est pas arrivé directement à moi, mais à un collègue qui a du reprendre quasiment tout à zéro sur la plateforme d’un de ses clients (une vingtaine de certificats, ça commence à piquer).

Ce n’est pas un mal, ACME, le protocole, est encore jeune dans l’absolu, l’outil aussi, et ses capacités, notamment d’automatisation, augmentent doucement avec le temps. Le passage dans le giron de l’EFF n’a pas eu d’influence sur le rythme de son développement (c’est pas toujours garanti), ce qui est à mon sens une bonne chose.

Il faut malgré tout un environnement qui tienne la route, et c’est pas toujours aussi facile quand on entre dans le monde réel qui n’a pas toujours décidé de tourner sur les dernières versions, qui met à jour son application une fois tous les 10 ans parce qu’on décide qu’un budget de maintenance « n’est pas utile » (spoiler : c’est une connerie, et au premier gros pépin de sécurité, je vous assure que vous vous réveillez).

Les projets alternatifs se sont organisés

La première fois que j’ai eu à me passer du client officiel, pour enregistrer un certificat sur une Debian 5 (oui, le monde réel est un peu plus compliqué que ce qu’on pense), les solutions alternatives n’étaient pas d’une grande fiabilité, et j’ai galéré pour en faire marcher un sans trop de difficultés; d’ailleurs trois mois plus tard impossible de renouveler le certificat, et le script utilisé alors n’était plus maintenu. Si j’avais pu modifier moi-même à l’arrache le machin pour obtenir un renouvellement, les nouveaux problèmes qui se sont posés trois mois après ont achevé la plateforme. Fort heureusement depuis la machine est partie à la retraite et l’on a pu migrer sur du CentOS 7.

Dernièrement pour les plateformes récalcitrantes (et encore, pas que), j’ai découvert acme.sh, qui n’a donc aucune dépendance à Python, et j’ai été surpris par la qualité de script et de sa documentation. Le fait qu’il intègre en plus la création de certificat utilisant les courbes elliptiques alors que ce n’est toujours pas pris en charge complètement dans le client officiel est assez intéressant (d’ailleurs si vous regardez le certificat du blog…), sa rapidité m’a plu aussi. En soi le niveau de verbosité n’est pas nécessairement plus intéressant pour le débug, mais bon, son installation est super simple, et même pour un simple dépannage (« coucou on doit passer en ligne dans 1h mais y’a un débile qui a pas commandé le certificat »), vous gagnez un temps fou comparé à certbot, qui doit créer le virtualenv, qui va tenter de se mettre à jour à chaque lancement, la procédure de vérification rendant tout très long.

J’ai également pu lire d’autres articles qui utilisent des projets plus ou moins similaires, ou surtout dédiés à certains types d’environnement. On voit aussi que la possibilité de « commander » un certificat s’est généralisé chez plusieurs hébergeurs de sites mutualisés, j’ai pu enregistrer un certificat pour le NAS de ma maman directement via l’interface dudit NAS sans avoir à bricoler (enfin presque, mais c’est lié à l’installation classique derrière une box), bref, il n’a jamais été aussi facile d’utiliser ce type de certificat, pour le plus grand bonheur des personnes qui pensent qu’il faut tout chiffrer. Et si c’est pas nécessairement une réponse parfaite (cherchez un peu « Interception TLS » sur votre moteur de recherche préféré, vous comprendrez), il n’y a que peu de personnes pour encore avancer que c’est inutile de mettre en place ce type de sécurité. Moi le premier.

Le futur de Let’s Encrypt ne fait pas du surplace

À moins d’un gros, gros pépin de sécurité provoquant un coup d’arrêt au projet (du style exploitation frauduleuse généralisée), sa large adoption devrait éviter à Let’s Encrypt de sombrer comme a pu terminer CACert, toujours vivant mais pratiquement inutilisable pour le commun des mortels. Les plus gros sponsors du début sont toujours là, certains ont même augmenté leur participation, au moins financière, c’est donc plutôt solide comme fondation pour garder l’infrastructure, le protocole, au moins une implémentation fonctionnelle, debout et vivant.

Et les évolutions arrivent, avec entre autres l’année prochaine le système « ultime », à savoir le certificat wildcard, qui permet de couvrir n’importe quel sous-domaine (niveau 3), sans avoir à le déclarer préalablement; alors qu’actuellement on est limité à 100 sous-domaines à déclarer explicitement. Ces certificats, qui existent déjà chez les fournisseurs classiques, coûtent ultra cher et sont habituellement réservés aux entreprises qui peuvent facilement absorber le tarif. Également au programme de l’année prochaine, la version « 2 » de l’API liée au protocole ACME, qui dépassera les frontières de l’EFF pour devenir un standard IETF, le but étant que le protocole soit exploitable non seulement par Let’s Encrypt, mais aussi potentiellement par d’autres autorités de certifications, dans le but de faciliter et de fiabiliser la délivrance et la mise à jour des certificats sur les plateformes de destination.

Bref, non seulement le bilan est bien moins dégueulasse qu’à l’époque de mes premiers tests (et je ne parle pas de mon installation, mais bien du paysage), mais en plus l’avenir s’annonce pour l’instant solide, et au moins pour des projets personnels, ou certains projets pros qui n’ont pas nécessairement de disposer d’une garantie financière qui est souvent la raison du cout d’un certificat, il est possible d’avoir une solution fiable, abordable, et automatisable.

Bref, longue vie à Let’s Encrypt 🙂

sshpass, pour ne plus taper le mot de passe de son compte SSH

jeudi 21 septembre 2017 à 18:30

Globalement, que ce soit à titre personnel ou professionnel, l’utilisation de clé privée est la méthode privilégiée pour me connecter via SSH aux différents serveurs sous ma responsabilité. Mais parfois, pour différentes raisons ce n’est peut-être pas possible et le mot de passe reste de rigueur. Mais devoir récupérer un mot de passe stocké quelque part et le copier/coller à chaque fois (les mots de passes sont générés aléatoirement la plupart du temps, c’est dégueulasse à retenir), j’ai cherché à ne plus avoir à les saisir. Et j’ai trouvé.

Un de mes collègues a réussi à utiliser expect. Pour ma part, sans parvenir à comprendre pourquoi, je n’ai pas réussi à le faire fonctionner, du coup, j’ai cherché et trouvé une autre solution : sshpass.

Il est packagé pour la plupart des distributions, ce qui le rend facile à installer. Son utilisation est tout aussi facile : on renseigne le mot de passe dans une variable d’environnement, on lance la commande magique et voilà. Ça, c’est pour la méthode manuelle.

Ce fonctionnement est du coup automatisable facilement. Pour ça il y a plusieurs méthodes, dans les plus évidentes, un script, un alias, ou une fonction. Le script est naturellement à utiliser via un dossier qui est inclus dans le PATH, l’alias ou la fonction seront chargés via le profile ou le bashrc, ou tout autre fichier chargé à l’ouverture du shell.

Pour ma part, j’ai opté pour la fonction, j’ai un fichier .bash_aliases où au final je colle toute sorte de bordel et pas seulement des alias, et vous allez voir que c’est diablement simple :

function server1 {

export SSHPASS='PassWord1'
sshpass -e ssh user@server1.domain.tld
}

La beauté du truc, c’est que c’est ça tient compte du fichier de configuration que j’avais présenté il y a déjà deux ans maintenant et qui m’avait d’ailleurs resservi pour l’installation de mon rebond perso. Il sera donc facile de l’utiliser si vous avez également une ou deux brebis galeuses dans votre parc 🙂

Une série de ressources en anglais

lundi 18 septembre 2017 à 18:30

Vous le savez, avec la série des liens en vrac, je partage quasi exclusivement des articles en français, parce que je considère qu’il y a trop peu de ressources comparé à l’anglais et que j’essaie de participer modestement au partage de ces ressources dans notre belle langue. Et puis je suis en train d’écrémer mes marque-pages Firefox, et je retombe sur toute une série d’articles en anglais. La plupart de ces articles ne me servent plus, mais m’ont permis d’apprendre des choses et d’acquérir le niveau qui m’a permis en partie de décrocher la place que j’occupe aujourd’hui chez LinkByNet (même si j’ai bien pris du muscle depuis mon arrivée). Alors pourquoi ça ne pourrait pas vous servir ? Il se pourrait même que certains vieux routards apprennent encore des choses.

Pour être honnête, il est certainement possible de trouver un équivalent francophone à certains articles que je partage ici, seulement j’ai pas spécialement la motivation de chercher, il s’agit un peu aussi de déporter certains liens que je vais supprimer de mes marque-pages. Si vous êtes motivé pour partager les articles hérités de Molière, on a les commentaires pour ça, et vous aurez un gros merci (je vous épargne le bisou du nounours) 🙂

Les titres sont les liens

10 commandes nmap que chaque admin devrait connaître

Bon j’avoue j’utilise pas tout, il faut vraiment baigner dans les problèmes réseau pour en avoir besoin quotidiennement.

Awesome SysAdmin

Certaines des ressources ont pu me servir en fonction de mes besoins, et c’est un dépôt Github, vous pouvez cloner, forker, contribuer…

htaccess

Un autre dépôt Github qui contient une tétrachiée de snippets pour Apache (c’est marqué htaccess, mais il y a peut-être moyen de moyenner dans le vhost directement pour gagner en perf). J’avais trouvé à une époque un équivalent pour Nginx, mais il n’était plus maintenu. Je n’ai pas spécialement la motivation pour en relancer un moi-même, mais si vous êtes motivés…

Identifier et corriger les requêtes lentes d’une base de données WordPress

Mon premier contact avec de l’analyse au niveau de MySQL. Avec un WordPress qui supporte un quart des sites web dans le monde, ça reste tout à fait d’actualité.

La conception de schéma MongoDB comparé à la conception de schéma dans MySQL

Une de mes premières lectures quand j’ai abordé mongodb pour la première fois, très intéressant et a nourri ma réflexion pour le début d’API que j’avais fait avec Bottle.

rt6_redirect: source isn’t a valid nexthop for redirect target

J’ai toujours des pépins avec IPv6, celui-ci n’était pas le plus grave mais pour régler ce problème qui me pourrissait les logs, voilà.

How to backup and restore MongoDB

Un article tout à fait logique quand on s’intéresse à MongoDB, sur toute technologie de stockage de données d’ailleurs.

Que signifie le f dans les logs rsync

J’ai mis du temps à me sentir à l’aise avec rsync, et c’est un outil assez puissant (il me sert d’ailleurs actuellement pour la migration d’une quinzaine de machines pour un client de longue date). Mais certaines options sont mal documentées, heureusement les nolife de StackOverflow sont là pour rattraper le coup. Ici, comment interpréter la sortie du -i de rsync, diablement pratique pour savoir pourquoi il décide de synchroniser un fichier.

Mozilla SSL configuration generator

Un outil plus que jamais nécessaire, le chiffrement des communications Web étant amené à prendre de plus en plus d’importance. Malheureusement, seuls les outils open source sont supportés, et j’ai été bien en peine lorsqu’on me demandait de générer une séries de règles à destination de IIS.

10 des meilleurs plugins de 2017

Le fondateur du site Pixabay est apparemment un fan de WordPress. Via le blog du site, il recense quelques plugins que certains reconnaîtront, puisque j’en utilise certains et en ai proposé d’autres à des utilisateurs du CMS (oui, cet article est récent comparé aux autres, mais plusieurs sur le sujet étaient morts, et celui-ci est une jolie mise à jour).