Voici le résumé des tâches que j’ai réalisé au cours de la cinquième et sixième semaine de mon stage au sein de l’équipe Dotwiz.
Création d’un carrousel dynamique – (10/07/2017 au 13/07/2017)
De même que pour le module d’événement, aucun plugin existant ne remplissaient les attentes du client : pouvoir ajouter des événements « Important » au carrousel et que leur affichage soit dynamique, c’est à dire qu’ils apparaissent / disparaissent en fonction de leur importance et de leur date, s’ils sont passés ou non.
J’ai donc de nouveau utilisé le plugin Advanced Custom Fields PRO afin de créer les champs où seront stocké les informations relatives à chaque image.
Pour cela je me suis servi d’un champ répéteur, c’est-à-dire un champ qui permet d’ajouter plusieurs ligne de donnée de même structure.
La structure du champ répéteur est la suivante :
- un champ ‘image’ : il sert à stocker l’image
- un champ ‘titre’ : il sert à ajouter un titre à l’image ou stocker celui de l’événement
- un champ ‘content’ : il sert à ajouter une description à l’image ou stocker celle de l’événement
- un champ ‘date’ : il permet de stocker la date de l’événement
- un champ ‘lieu’ : il permet de stocker le lieu où se déroule l’événement
- un champ ‘identifiant’ : il permet de stocker l’ID de l’événement
Les trois dernier champs ne sont remplit que s’il s’agit d’un événement important. On peut ainsi ajouter des images simple avec un titre et/ou une description, mais aussi des événements.
La génération du carrousel se fait à partir des données présentes dans le champ répéteur à chaque fois qu’on appelle la fonction dédié ou le shortcode.
Je me suis ensuite penché sur la mise à jour automatique du carrousel, pour cela, j’ai créé une fonction qui permet d’ajouter, de modifier et de supprimer une ligne du champ répéteur si l’événement est important ou non. Et enfin, j’ai appelé cette fonction directement dans le header du thème pour que la mise à jour se fasse à chaque chargement de page.
Modification du module d’événement – (15/07/2017)
Après avoir fini le carrousel, j’ai procédé à quelques modifications sur le module d’événement.
J’ai modifié la requête wordpress que j’avais créé pour l’affichage en liste des événements afin que celle-ci affiche les événements dans un ordre chronologique et se limite à 3 événements.
Quelques modifications de CSS ont aussi été apporté sur les templates du module.
Sécurisation du site – (17/07/2017 au 22/07/2017)
Le site avançant à grand pas, il était grand temps de le sécuriser. Pour cela, il a été décidé d’utiliser trois plugins de sécurité : iThemes Security, Wordfence Security etWP Hide & Security Enhancer.
Je me suis donc chargé de paramétrer ces trois plugins.
iThemes Security
iThemes Security propose de nombreuses fonctionnalités.
Celles qui ont été paramétrées sont les suivantes :
- Réglages principaux : permet de modifier les messages et périodes de blocage et la manière dont les logs sont sauvegardés
- Détection 404 : permet de détecter la génération importante d’erreur 404 à des fins malveillantes
- Local Brute Force Protection : permet de bloquer les attaques par brute force
- Sauvegarde de la base de données : permet de sauvegarder la base de données quotidiennement en local ou envoyé par mail
- Network Brute Force Protection : permet de bloquer les hôtes considérés comme indésirable par iTheme
- Strong Password Enforcement : permet d’obliger un utilisateur à avoir un mot de passe fort
- Modifications systèmes : permet de modifier les droits d’accès à des fichiers et dossiers sensibles
- Modification wordpress : permet de désactiver et/ou restreindre certaines fonctionnalités sensibles que propose wordpress
Wordfence Security
Wordfence Security propose :
- un scan de l’installation wordpress afin de détecter une quelconque erreur
- un pare-feu web protégeant des attaque XSS et des injections SQL
- l’activité du site en temps réel
- un récapitulatif des tentatives de connexion réussi et échoué
- un blocage par IP, plage d’IP ou pays
WP Hide & Security Enhancer
WP Hide & Security Enhancer permet de cacher l’utilisation de wordpress grâce à la réécriture d’URL.
Il permet notamment de modifier :
- les dossiers « wp-content », « wp-includes », « wp-admin »
- les sous-dossiers « themes », « plugins », « uploads »
- les fichiers « wp-login.php », « style.css »
- les noms des thèmes et plugins utilisés
- l’accès au fichier « xmlrpc.php », à l’API JSON REST, au fichier systèmes
De plus, il permet de supprimer de nombreuses balises meta générées par WordPress.
Durand ces deux semaines, j’ai pu approfondir mes connaissances sur le plugin ACF et sur le fonctionnement interne de wordpress, mais surtout, j’ai découvert de nombreux aspects de sécurité à travers le paramétrage de ces 3 plugins.


