C# – formule de Luhn

La formule de Lhun permet de vérifier un numéro de carte bleue, un siret, un siren, … tellement utile pour les contrôles de formulaire que je me suis penché sur la question ne trouvant rien de probant sur Internet.

La partie front :

Juste un formulaire pour envoyer le chiffre, rien de bien palpitant 🙂

La partie programmée :

Quelques remarques :

  • Bien penser à ajouter le using regularExpressions qui permet de simplifier grandement les choses avec le Regex. Entre autre je m’en sers pour convertir un string en array de chiffres à 1 digit > « 123 » => [1][2][3], pas trouvé mieux pour la méthode !
  • J’ai coupé le traitement en deux parties que vous visualisiez bien le fonctionnement, cela peut bien entendu être simplifié mais en cas de souci ça permet de vérifier les deux tableaux, le premier avec les digits, le deuxième avec les multiples de deux pour les colonnes impaires sauf pour la première colonne.
  • Par rapport à Wikipedia, il existe un cas particulier par rapport au SIRET de la poste que je n’ai pas traité dans ce cas ! Je verrai avec le temps si j’en ai besoin …

Quelques liens utiles :

https://fr.wikipedia.org/wiki/Formule_de_Luhn

https://portal.hardis-group.com/pages/viewpage.action?pageId=120357227

JQuery – Json : compte nombre d’occurrences

Une petite méthode simple et rapide pour compter le nombre d’occurrences identiques dans un array multi dimensionnel :

Retourne :
Nombre d’occurrences de new wave = 2

CQFD 🙂

Configurer un vrai cron pour WordPress

Bonjour,

Ce petit tutoriel a pour vocation de configurer les crons WordPress manuellement afin d’éviter leur empilement qui peut être du à plusieurs problèmes dont des modifications au niveau des timezones ou tout simplement le code de WordPress qui n’est pas « thread-safe ».

La première étape consiste à supprimer l’automatisation de ce cron dans le fichier wp-config.php

L’étape suivante consiste à créer un cron pour l’url dans notre console d’infogérance RD serveur pour lancer automatiquement le cron par URL à la fréquence souhaitée (attention à ne pas lancer le cron par fichier).

Win Pro: SSL / Https Rating A+

Pour tester la sécurisation de votre site vous pouvez utiliser ce site :
https://www.ssllabs.com/ssltest/
Afin que vos résultats soient privés, veuillez cocher la case « Do not show the results on the boards » .

Une explication du Rating ce trouve ici (anglais) :
https://github.com/ssllabs/research/wiki/SSL-Server-Rating-Guide

Ce qui dépend de votre IIS sera principalement les « protocoles » et les « ciphers ».
Un outil permet de configurer cela simplement (download > gui) :
https://www.nartac.com/Products/IISCrypto/

Concernant les protocoles,
Seul TLS 1.2 et 1.3 ne sont pas obsolètes.
Il est à noter que IIS ne supporte pas TLS 1.3.

Concernant les ciphers,
Diffie-Hellman est obsolète.

Une configuration correcte en 1.2 est la suivante :


Pour obtenir la note de A+, il faudra un certificat en RSA 4096 bits ou plus.
Les certificats « Let’s Encrypt » sont par défaut en RSA 2048 bits ou RSA 3072 bits ce qui limite la note de la clef respectivement à 80% ou 90%.
Plus la clef est grande plus le protocole HTTPS en sera ralenti. Ce qui est gagné en « sécurité » est perdu en rapidité.

Pour obtenir du TLS 1.3 tout en gardant votre site Asp sur du IIS, nous proposons des serveurs de reverse proxy sous Ubuntu + Apache.

Comment vérifier vos certificats SSL

Ce tutoriel concerne le système Ubuntu et tous les systèmes utilisant openssl.
Note importante, par défaut les commandes openssl ne traitent que le premier certificat d’une chaine.

Vérifier que le certificat match avec la clef

Vérifier un certificat pem « fullchain »

Vérifier que les dates sont valides

c# – énumérer un Enum

Bien pratique les enum afin de lier une valeur entière à un texte, ex : 0 = chat, mais comment lister les valeurs ?

Et voilà on retrouve la valeur numérique et textuelle …

Jquery – Json : cherche Lycos !

Je vous propose dans ce tuto de faire une recherche dans un array Json, à ce jour j’utilise deux méthodes, la première étant ma préférée.

Méthode 1 : Jquery.grep

On va chercher la ligne qui correspond à locs[n].id == 1, si on trouve on extrait le array qui correspond à la requête. Bien entendu si on trouve plusieurs enregistrements (item.length > 1) il faudra faire un for each afin d’afficher tous les enregistrements trouvés.

Méthode 2 : $.each

Cette méthode permet de trouver le premier enregistrement correspond à la recherche. Pour obtenir les mêmes avantages que la première méthode il faut créer un item, stocker le résultat dans ce dernier et inhiber la sortie du loop. Plus long à traiter car on scrute tous les enregistrements dans ce cas …

Jquery – Select2 : auto remplissage depuis Json

Remplir un select2 via un Json, rien de plus simple en quelques lignes :

Bien entendu il faut en entête appeler jquery et la bibliothèque de Select2 :

https://select2.org/getting-started/installation
https://code.jquery.com/


Astuces select2

Select2 est prédéfini avec les valeurs id et text, si vous créez votre Json avec ces deux identifiants on peut simplifier le remplissage du select par :

Vous souhaitez changer la valeur du select en sélectionnant une valeur, Jquery répond à ce besoin :

Vous souhaitez récupérez la valeur du select en automatique sur changement du select (j’ai utilisé .each si vous avez un Json complexe et souhaitez retrouver des informations complémentaires) :


Résultat via CodePen :
https://codepen.io/laurent-zminka/pen/WNojyxN


IIS7 – security : filtrage par ip

Comment refuser l’accès à votre site à certaines Ip via le web.config ?

Modification du fichier applicationHost.config

Ouvrez le fichier host config :

C:\Windows\System32\inetsrv\config\applicationHost.config

Cherchez la ligne :

et transformez « Deny » en « Allow »

Modification du fichier web.config

Modifiez le fichier web.config de la sorte :

Donc désormais l’ip 217.128.42.22 n’est plus autorisée à accéder à votre site.

NB : attention, le blocage génère maintenant une erreur 403, généralement non définie dans le web.config, donc ajoutez une section pour cette erreur :

Bien archiver ses emails IMAP sous Outlook

On voit trop souvent des boîtes mails IMAP de 20Go et plus, hors Outlook a dépassé ses limites depuis bien longtemps qu’on estime entre 8 et 12Go suivant la structure de rangement.

La hiérarchisation

Tous les emails rentrent dans Inbox, qui se traduit par Boîte de réception sous Outlook.

La première chose à faire est de créer des dossiers de rangement du style :

  • A traiter
  • Clients
  • Partenaires

Et dans chaque dossier créer autant de sous dossiers que besoin.

Le but de cette première étape est d’alléger au maximum le contenu des emails dans la Boîte de Réception. Plus elle sera allégée et plus votre outlook s’en portera mieux. n’hésitez donc pas à créer un dossier « old » et y glisser tous les emails à conserver après une durée de 1 an par exemple.

Les spams et la Corbeille

Sur nos serveurs de mails, la suppression se fait automatiquement, donc vous n’avez aucune règle à effectuer de ce côté, déjà ça 🙂

L’archivage

Dans mon exemple, j’ai créé un espace de stockage : Z, sur une baie de stockage hors de mon ordinateur.
Ne pas perdre à l’esprit qu’un compte IMAP est fait pour conserver les emails côté serveur, si vous perdez votre ordinateur vous retrouverez tous vos petits dans l’état où vous les avez laissés. Si vous activez l’archivage, dans ce cas une partie des emails se retrouvera sur votre ordinateur sous forme d’un fichier .pst et donc plus visible dans votre Webmail. Aussi pensez à bien le sauvegarder si vous le créez sur votre ordinateur de travail (oneDrive, DropBox, RD Atempo, …)

J’ai donc créé dans mon Outlook un dossier RD clients avec des dizaines de sous dossiers portant le nom de mes clients. Dépassé un an ou plus, cela ne sert à rien de les conserver sur mon compte IMAP, autant les archiver.

Pour ce, cliquer sur le dossier à archiver avec le bouton droit de la souris : Propriétés > Archivage Automatique

Puis cliquez sur « Paramètres d’archivage par défaut ».

A savoir, vous pouvez créer autant d’archives que de dossier (cf. Déplacer les anciens éléments vers : ») mais je vous le déconseille car à chaque fois ça recrée une structure archive dans Outlook grâce à la fonction « Afficher le dossier d’archivage dans la liste des dossiers ».
Pour le reste, c’est assez explicite …

Une fois vos préférences renseignées, cliquer sur le bouton « Appliquer ces paramètres à tous les dossiers maintenant » afin que tous les sous dossiers héritent de la synchronisation du dossier principal.

Le tour est joué … regardez votre fichier pst se populer et le poids de votre Imap réduire comme peau de chagrin 🙂

Retour en arrière

Les emails stockés en archive sont ré intégrables d’un simple « cliqué glissé » dans le dossier de votre choix et seront de nouveau accessibles dans le Webmail.

NB : j’espère que ce petit tuto vous fera gagner du temps et surtout beaucoup d’espace …