Blog #Informatique

Le blog a 10 ans !

Voilà, c’est tout ce que j’ai à dire !

Quand même 43 articles publiés (et autant laissés  en brouillon), soit une moyenne d’un par trimestre, sans aucun object financier derrière, du pur bénévolat, c’est beau quand-même non ?

A vrai dire, j’oublie parfois son existence. Les problèmes récurrents avec Infomaniak ces derniers-temps sont souvent là pour m’en rappeler… (les performances et le support technique se dégradent depuis 2021, je les déconseille donc désormais fortement en tant qu’hébergeur)

Quel système d’exploitation choisir pour un poste de travail de développeur web ?

J’ai remarqué que sur la plupart des projets basés sur PHP sur lesquels j’ai travaillé, Debian était la distribution utilisée sur la plupart des serveurs des clients. CentOS est tombé à la deuxième place au cours de la décennie, et maintenant que Red Hat l’a volontairement tué en le transformant en une « version de développement de RHEL » en enfonçant le clou en mettant fin prématurément à son support LTS (long-terme), je parie que Debian sera encore plus dominant !

Pour répondre donc à la question posée dans le titre, le meilleur OS (système d’exploitation) pour un poste de travail de développeur web, c’est un système d’exploitation qui se rapproche le plus possible de celui du serveur !

Pourquoi ? Même gestionnaire de packages, et vous pouvez essayer/tester la ligne de commande car le faire sur des serveurs. De plus, permettre aux développeurs de mieux comprendre le fonctionnement de leurs serveurs et de la structure de leurs fichiers…

Mais que faire dans le cas ou vous travaillez pour plusieurs projets et clients avec des systèmes différent ?

Lire la suite

Mon expérience de modding sur un jeu vidéo : Battle for Wesnoth

J’ai déjà parlé dans un précédent article du jeu vidéo Battle for Wesnoth, un jeu de tactique en 2D aux allures de jeu d’échec dans un univers heroic-fantasy.

Sorti en 2003, développé au départ par une seule personne qui voulait développer un jeu open-source avec des mécaniques simples, il a été en constante évolution depuis, enrichi et maintenue par des dizaines de personnes au fil du temps. Et malgé tout ce temps, la commuauté reste très active : il y a même une équipe qui travaille actuellement sur une version 2 basée sur le moteur de jeu open-source Godot.

Pour en savoir ceux qui ne connaissent pas, faites donc un tour sur le site officiel et ses formums, ou la page Steam du jeu.

Le jeu est totalement gratuit et open-source, et le restera. Ces circonstance, ainsi que le succès inattendu du jeu (qui se retrouve dans la plupart des « top jeux gratuit sur PC »), était bien sur propice au modding.

Lire la suite

CentOS 7 vs Debian 9 : Quelle distribution choisir pour son serveur

Ah, cette compétition intemporelle pour savoir quelle distrib est la meilleure, ou en tout cas, la plus adaptée a ces besoins.

Le match est sérré, les concurrents nombreux, mais si on se concentre sur les distributions adaptées à un serveur et gratuite, il y a deux concurrents qui sortent largement du lot : Debian et CentOS.

Voici donc un tableau comparatif sur de nombreux points, pour moi, qui suis un développeur web et non un développeur système, linux ni un sysadmin. Si par contre vous l’êtes, je serais ravi d’avoir vos retours !

Lire la suite

Apprendre à utiliser les flexbox CSS (presque) en s’amusant

Un tutorial bien fichu qui fera enfin comprendre comment fonctionne les propriétés CSS de placement flex

Voir le site : Flexbox Froggy

C’est mon prénonyme Thomas Park qui a eu l’idée de cette appli web bien sympa, où il faut placer correctement des grenouilles sur des nénuphars en éditant une propriété CSS et on voit en live le résultat. La dernière étape (24 !) est la seule un peu ardue, autant dire que la progression est plutot sympa, et le fait de répéter pas mal de fois les mêmes commandes aident a mémoriser les propriétés.

Have fun !

(English) An alternative of Hungarian notation applied to PHP

On some cases, by example when you works on webservices, data import or an ETL, you can be a little lost between all the variables you use, specifically arrays.

Even if it’s not in the coding standard, I developed a derivative of the Hungarian notation to prefix my variables and find myself there. This notation can be applied in php, but also to any other languages, especially non-typed.

NOTE : I recommend NOT using hungarian notation everytime (for exemple, will be almost useless in a MVC context), but only when it’s really needed.

There is the prefixing I use with PHP variables in that specific cases, depending on their type and semantic meaning :

Scalar types prefix

  • $is, $b : boolean
  • $s : string
  • $i : int (signed)
  • $n : natural (unsigned int)
  • $f : float
  • $fd : float round to 1 decimals
  • $fc : float round to 2 decimals
  • $fm : float round to 3 decimals
  • $m : mixed.
  • $v : void / null.

Read more!

Protéger votre vie privée, des alternatives à Google & co

Le propos de cet article n’est pas de te sensibiliser sur le fait que donner toutes tes informations personnelles à des gouvernements, compagnies ou publicitaires + ou – éthiques, c’est mauvais pour toi.

Je vais quand même te donner quelques exemples :
– Quand tu utilises Google, Facebook et même maintenant Microsoft, tu ne paie pas car TU es leur produit commercial. Pourquoi crois-tu que Microsoft a quasi-obligé ses utilisateurs à faire gratuitement la mise-à-jour de leur PC sous Windows 10, truffé de leurs propres spywares et backdoors ?
– Google Europe fait des dizaines milliards de bénéfices, et pourtant siège à Dublin pour ne payer pratiquement aucun impôts
– Les USA, qui ne sont plus vraiment une démocratie tant que le le Patriot Act ne sera pas aboli, contrôlent toutes les données passant par les compagnies américaines via le programmes PRISM. Ce même pays, s’apprêtent à élire Trump ou Hillary, tous deux étant totalement contre la liberté d’information ou même d’expression sous prétexte de « sécurité » ou lutte anti-terroriste . Julian Assange ou Edward Snowden, au lieu d’être acclamés en héros pour avoir révélés les abus de leurs gouvernements, sont déclarés ennemis d’état par leur pays (Hillary a récemment parler de « droner » Assange).

La liste est longue, et il y a suffisamment d’articles et de vidéos sur le net pour cela, et si depuis le temps que tu dois en entendre parler si tu n’es pas convaincu que donner à-qui-le veut toute ta vie privée, je peux plus rien pour toi. Garde juste en tête juste qu’un jour ou l’autre, une inévitable guerre mondiale éclatera (à moins qu’on arrête d’être humain ?), et l’information y jouera un rôle crucial. Soit pour contrôler les gens, soit pour écarter toute résistance.

Mais ce que je peux faire, c’est te donner des alternatives aux services de Google et autres compagnies pour lesquels tes données privés sont leur fond de commerce. Des services ayant comme priorité le respect de la vie privé de ses utilisateurs, un modèle économique non basé sur la publicité ciblée, voir des organismes a but non lucratifs, et si possibles, français au au moins européens. Car je prends en compte que les compagnies françaises on des lois à respecter et des organismes sur le dos pour protéger la confidentialité de nos données personnelles ; aux USA c’est une autre histoire.

Lire la suite!

Un modèle de fichier .gitignore pour partir sur de bonnes bases sur tes projets PHP

Si tu versionnes tes projets PHP avec Git, voici des modèles de fichier .gitignore (voir documentation officielle) que j’utilise depuis longtemps et qui évite de versionner des fichiers qui n’ont rien à faire sur le dépôt (fichiers temporaires des OS, de l’IDE…).

Ces modèles diffèrent des autres modèles que tu pourra trouver sur des plus plus connus, comme Github ou gitignore.io, dans le sens ou j’utilise des expressions régulières faisant que les règles sont adaptés à la plupart des projets, tout en contenant moins de lignes. Plus d’intelligence, quoi.

Bien sûr ce fichier est un modèle, il faudra quand même sûrement que tu rajoutes des règles spécifiques a ton projet. Certains fichiers peuvent être versionnés ou non suivant ta vision du versioning et la phase de ton projet (dev initial, tma…) : les lignes dans ce cas sont son commentés par défaut (voir lignes commençant par un seul #), a toi de voir si tu les actives ou non.

Keep on reading!

Tuto : Installer Composer sur un projet web pour gérer facilement les libraires externes (et internes) de ton framework

Installer composer sur ton poste / serveur

Ton poste doit bien sûr avoir un serveur web qui tourne avec PHP.

Site officiel de Composer : getcomposer.org/download/

Si tu es sous Windows, je te recommande de l’installer via leur « Windows Installer », permettant d’éxécuter composer sur n’importe quel dossier de ton poste, juste en tapant « composer », car il aura correctement intialisé le PATH

Sur un autre OS, le plus simple c’est d’ouvrir une console positionnée dans le répertoire de projet et de taper :

curl -sS https://getcomposer.org/installer | php --filename="composer.phar"

Dans ce cas, il faudra taper « php composer.phar » au lieu de simplement « composer » pour le tuto qui va suivre.

Continuer la lecture de Tuto : Installer Composer sur un projet web pour gérer facilement les libraires externes (et internes) de ton framework

Les tests binaires – une fonctionnalité sous-estimée

Imaginons qu’en tant que développeur (dans le cas contraire, passe à un autre article), on doit réaliser plusieurs actions suivant plusieurs cas de figures possibles (disons, une quinzaine), qui peuvent se combiner.
Et suivant certains cas de figures, certains actions à éxécuter se répètent, et peuvent même se combiner suivant certains cas de figure. Pour ne pas dubliquer le code, on identifie donc 5 blocs d’actions différentes. La situation la plus simple serait donc d’utiliser plusieurs variables : (je vais mettre mes exemples en PHP, mais les tests binaires existent dans tous les langages de programmation dignes de ce nom – déjà si ça existe en PHP…)

Continuer la lecture de Les tests binaires – une fonctionnalité sous-estimée