Wordpress

Hameau d'Ecrin

Site vitrine d'un lieu équestre, réalisé en thème bloc WordPress 7.1 sur mesure : textes modifiables par le client, sécurité renforcée, accessibilité WCAG 2.2 AA et tests automatisés.

L'histoire de sa construction

Hameau d'Écrin est le site vitrine d'un lieu équestre : présentation du hameau et de l'écurie active, formules, actualités et formulaires de contact. Conception - Thème bloc WordPress 7.1 (Full Site Editing) développé sur mesure, sans constructeur de pages ni framework CSS : la charte graphique est définie dans theme.json. - Tous les textes restent modifiables depuis l'éditeur de site, sans risque de casser la mise en page : les sections sont des compositions verrouillées. - Fonctions séparées de la présentation : sécurité, coordonnées, référencement et journal dans une extension dédiée, formulaires dans une extension autonome. Sécurité - Politique de sécurité du contenu (CSP) avec nonce, en-têtes durcis, limite des tentatives de connexion. - Formulaires protégés sans service tiers : preuve de travail ALTCHA, nonces, validation stricte. - Mots de passe robustes imposés, sessions limitées, journal des événements de sécurité. Qualité - Accessibilité WCAG 2.2 AA vérifiée automatiquement (axe). - Tests de bout en bout (Playwright), tests PHP (PHPUnit), analyse statique (PHPStan niveau 8), normes de code WordPress, le tout en intégration continue. - Référencement technique : données structurées, plan du site, balises de partage. - Quinze audits réalisés : SEO, performance, accessibilité, sécurité, chaîne d'approvisionnement, qualité, tests, édition. Déploiement - Image Docker prête pour Dokploy, ou installation classique sur hébergement mutualisé.

Technologies utilisées

  • Git
  • PHP
  • JavaScript
  • Node.js
  • Tailwind CSS
  • HTML
  • CSS
  • Docker
  • MySQL
  • Wordpress

J'en ai bavé mais j'y suis arrivé 🚀

/**
   * Édition : ce que l'équipe (rôle Éditeur) peut faire, et ne peut pas casser.
   * Les Administrateurs gardent tout.
   */

  // HTML brut réservé aux Administrateurs : par défaut, WordPress l'accorde
  // aux Éditeurs, et un compte d'équipe volé pourrait alors piéger une page.
  function hameau_core_edition_html_brut( $caps, $cap, $user_id ) {
        if ( 'unfiltered_html' === $cap && ! user_can( $user_id, 'edit_theme_options' ) ) {
                $caps[] = 'do_not_allow';
        }
        return $caps;
  }
  add_filter( 'map_meta_cap', 'hameau_core_edition_html_brut', 10, 3 );

  // Pas d'éditeur de code ni de déverrouillage des blocs pour l'équipe :
  // les sections des pages restent protégées contre la suppression.
  function hameau_core_edition_reglages( $reglages ) {
        if ( ! current_user_can( 'edit_theme_options' ) ) {
                $reglages['codeEditingEnabled'] = false;
                $reglages['canLockBlocks']      = false;
        }
        return $reglages;
  }
  add_filter( 'block_editor_settings_all', 'hameau_core_edition_reglages' );

Un projet similaire en tête ?

Site vitrine, WordPress, e-commerce ou application sur mesure : parlons-en, le premier échange et le devis sont gratuits.

Me contacter

D'autres réalisations

Tous les projets →