🆕 WA-Tech&DevNews N°21

🆕 WA-Tech&DevNews N°21

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)

Rédaction :Timothée Garnaud, William Krieg
Relecture :Sonia Klein
Participation indirecte :àŒŒ ぀ ◕_◕ àŒœă€

William

Super HĂ©ro du web / CTO Si vous venez dans nos bureaux je vous fais un cafĂ© ☕ et on discute sur Rocket League

Related Posts

[WA Tools] JSON Visio, pour vous aider a visualiser votre json

[WA Tools] JSON Visio, pour vous aider a visualiser votre json

Le Web3 c’est quoi ?

Le Web3 c’est quoi ?

🆕 WA-Tech&DevNews N°20 0 commentaire

🆕 WA-Tech&DevNews N°20

🆕 WA-Tech&DevNews N°19 0 commentaire

🆕 WA-Tech&DevNews N°19

No Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.