Actualités

Ici on vous propose un irrévérencieux condensé de brèves d'intérêt variable, sur des sujets qui nous tiennent à cœur.

ActualitésTech news

? WA-Tech&DevNews N°21

Publié le 3 février 2022

template newsletter

Hello, 

Dans cette News N°21 je fais rapide, beaucoup de liens sur des ressources hyper intéressantes, je vous laisse aller voir ce qui vous intéresse  

Bonnes pratiques PHP (et autres) : se passer des else… et des if ! 

Derrière ce titre accrocheur et les premiers exemples assez évidents,  se cache un article très intéressant sur comment revoir sa façon de coder. A-t-on vraiment besoin d’autant de structures de contrôle que ça ? Vous allez vite voir que non. Un article qu’à titre personnel je trouve génial !

https://tainix.fr/article-technique/Bonnes-pratiques-PHP-4-se-passer-des-else-et-des-if

PHP – Cas d’étude – Convertir (presque) n’importe quelle chaîne de caractères en DateTime

(Ou comment j’ai appris à ne plus m’en faire et à aimer preg_replace_callback_array)

C’est le retour du tuto de Timothée G. ! Un matin, alors que je bossais sur un générateur de données de tests basé sur des imports de fichiers CSV, je me suis retrouvé confronté à la problématique suivante : les utilisateurs importent des données avec un fichiers excel, et selon l’import, les champs dates ne sont pas renseignés de la même façon. Certains renseignent 10/05/1990, mais sur d’autres imports on leur laisse la possibilité d’écrire sans séparateur à l’américaine ; par exemple ‘19900510’.

Comment puis-je prendre en compte tous les différents formats de date possible ? Ma première pensée c’est d’utiliser des expressions régulières pour identifier le format de date saisie, et de générer un DateTime en fonction, le problème étant le nombre de formats que je pouvais accepter. Je n’allais pas faire 36 if, et le switch est difficilement utilisable avec des regex. Puis finalement c’est une fonction assez compliquée et peu connue de PHP 7 qui m’a apporté la réponse : preg_replace_callback_array.

Derrière ce nom compliqué se cache une fonction qui va prendre une chaîne de caractères (ou un tableau) et appliquer un callback différent en fonction des expressions régulières qui vont matcher. Ici, je peux prendre la date saisie en tant que string et l’analyser selon différentes expressions régulières, afin de récupérer le format de date utilisé :

Avec cette méthode, on couvre déjà un certain nombre de formats de dates saisies. Il en reste toujours certains qui vont être ignorés. Attention,  ici on utilise des return dans chacun des callback, mais la fonction est censé faire un preg_replace, ce qui veut dire que si aucune expression régulière ne match, $date ne sera pas remplacé par quoi que ce soit, et $format vaudra la chaîne de caractère $date. Je rajoute donc une petite exception dans ce cas spécifique. Et sinon, comme j’ai désormais identifié le format, je peux créer mon DateTime à l’aide de la fonction statique createFromFormat, et voilà le travail !

Javascript

Monter en compétence sur Javascript & Typescripts, quelques tips :

GitHub Repos to become better JavaScript Developer  (devdojo.com)

How not to learn TypeScript (fettblog.eu)

Vue sur un projet chez Web-atrio : Comment remplacer rapidement toutes les occurrences d’une valeur dans un texte ou dans un objet :

// Si item: string const newItem = item.split(« maChaine »).join(« nouvelleValeur »); // Si item : { } | [] const newItem = JSON.parse(     JSON.stringify(item).split(« maChaine »).join(« nouvelleValeur »));

Sécurité

Quoi de mieux pour progresser en sécurité que commencer par apprendre des bases de hacking ?

How To Hack Any Website. [PART -3 Exploiting Trust] | by Niveet Palan | Dec, 2021 | System Weakness

On continue avec les JWT que vous connaissez tous !

Attacks on JSON Web Token (JWT). In part1 of the article, I introduced… | by Anubhav Singh | InfoSec Write-ups (infosecwriteups.com)

Vous êtes un chasseur de certification ? 

Voici une liste de certifications gratuites pour vous amuser. Attention ce ne sont pas forcément des certifications officielles.

Free Certification Courses for Developers ? (devdojo.com)

Logiciel Open Source

Pour faire de jolies diagrammes de séquences, diagrammes UML etc.

Gaphor: Open Source Graphical Modeling Tool – It’s FOSS (itsfoss.com)

William Krieg
William Krieg

Passionné par le développement et l'univers du Web. J'utilise aujourd'hui mes compétences chez Web-atrio, une entreprise unique et innovante en tant que Responsable Technique mais pas que ...