mendoro-website

Site vitrine Erik Pain, geometre-expert

= Erik Pain — Géomètre-expert

Site vitrine de https://mendoro.fr[Erik Pain], géomètre-expert.

Les textes sont rédigés en AsciiDoc dans content/ et convertis en site statique par un générateur Crystal, lui-même compilable sous Windows, macOS et FreeBSD.

Pour installer le poste de travail, voir link:INSTALL.adoc[INSTALL.adoc]. Pour la syntaxe des textes, voir link:AIDE-ADOC.adoc[AIDE-ADOC.adoc].

== Stack

  • Textes en AsciiDoc, convertis par https://github.com/aloli-crystal/asciicrystal[asciicrystal]
  • Générateur en Crystal (src/build.cr), sans dépendance à Ruby
  • Sortie HTML / CSS pure — aucun framework, un seul script pour le formulaire
  • Responsive, compatible mode sombre
  • Français uniquement
  • Hébergé sur GitHub Pages

== Structure

[source]

content/ # ← les textes, c'est ici site.adoc # attributs globaux (nom, fonction, domaine) accueil.adoc # titre et introduction de l'accueil contact.adoc # introduction du formulaire mentions-legales.adoc # mentions légales prestations/*.adoc # une prestation par fichier, triée par nom

templates/ # gabarits HTML, marqueurs {{clef}} layout.html # coquille commune à toutes les pages accueil.html # grille des prestations contact.html # formulaire contact-script.html # script du formulaire mentions-legales.html # corps des mentions légales prestation.html # corps d'une prestation ou d'une actualité fragments/*.html # morceaux répétés : cartes, menus, pagination…

css/style.css # toutes les feuilles de style images/ # emblème de l'Ordre et autres visuels src/build.cr # le générateur _site/ # sortie générée — non versionnée

La mise en page reprend la maquette : en-tête et pied de page fixes, seule la zone centrale défile.

== Générer le site

[source,sh]

shards install # la première fois seulement shards build # produit bin/build bin/build # écrit _site/ bin/build --serve # écrit _site/ puis sert http://localhost:8765

== Ajouter ou retirer une prestation

Créez ou supprimez un fichier dans content/prestations/. Le préfixe numérique fixe l'ordre d'affichage. La liste déroulante du formulaire de contact est alimentée par les mêmes fichiers : elle reste synchronisée sans intervention.

Ma carrière est volontairement exclue de cette liste déroulante — voir ecrire_contact dans src/build.cr.

== Reste à faire

Mettre le formulaire de contact en service:: Le site poste vers https://form.mendoro.fr/submit — l'attribut :form-action: de content/site.adoc —, adresse qui ne résout pas encore. Le service est aloli/crystal-forms (dépôt privé), à déployer sur qwerty.aloli.net avec SITE_NAME=mendoro.fr, SMTP_TO=contact@mendoro.fr et ALLOWED_ORIGINS=https://mendoro.fr. Faire ensuite pointer form.mendoro.fr sur cet hôte, puis supprimer content/contact-bandeau.adoc : c'est le bandeau qui invite à téléphoner en attendant.

Mesurer l'audience, pour Erik seul:: Savoir quelles prestations sont lues oriente son activité. GitHub Pages ne donnant aucun accès aux journaux, chaque page devra émettre une requête vers un service porté par qwerty.aloli.net, aux côtés du formulaire. Rien ne s'affiche sur le site public : le relevé est consulté par Erik. +

Pour rester dans le cadre d'exemption de consentement prévu par la CNIL — et donc sans bandeau cookies —, la collecte doit se limiter strictement à la mesure d'audience de ce seul site : aucun cookie ni stockage navigateur, adresse IP non conservée, aucun recoupement avec d'autres sites, aucune transmission à des tiers, durées de conservation bornées — de l'ordre de treize mois pour les traceurs et vingt-cinq pour les statistiques, à recaler sur la recommandation en vigueur le jour de la mise en place.

Compter aussi que les robots pèsent souvent la moitié du trafic : un relevé qui ne les écarte pas raconte surtout l'activité des moissonneurs.

La section « Cookies » des mentions légales affirme aujourd'hui que le site « n'utilise aucun outil de mesure d'audience ». Elle devra être réécrite dans le même mouvement, pas après.

Signer le contrat de sous-traitance:: Les mentions légales désignent ALOLI comme sous-traitant au sens de l'article 28 du RGPD, puisque le service de formulaire achemine les messages. La mesure d'audience, portée par le même hôte, élargira cette sous-traitance : le contrat écrit avec Erik devra couvrir les deux traitements, et le restera tant qu'ils tourneront.

== Déploiement

À chaque push sur la branche production, GitHub Actions installe Crystal, compile bin/build, génère _site/ et le publie sur GitHub Pages (.github/workflows/deploy.yml).

Un échec ouvre une issue assignée à papilip, portant le label ci — GitHub n'avertissant par courriel que l'auteur du push. Les échecs suivants s'ajoutent en commentaire plutôt que d'ouvrir une issue chacun. Un déploiement qui échoue ne retire rien : le site reste en ligne dans sa version précédente.

=== Domaine et certificat

Le domaine personnalisé tient au seul réglage Settings > Pages du dépôt. La publication passant par un workflow Actions, un éventuel fichier CNAME livré dans l'artefact serait ignoré — ne pas en recréer un en croyant y fixer le domaine.

Le certificat, émis par GitHub, couvre mendoro.fr et www.mendoro.fr. GitHub ne le réémet pas de lui-même si le DNS change : il faut retirer puis remettre le domaine personnalisé.

Enregistrements en place :

[source]

mendoro.fr. A 185.199.108.153 mendoro.fr. A 185.199.109.153 mendoro.fr. A 185.199.110.153 mendoro.fr. A 185.199.111.153 mendoro.fr. AAAA 2606:50c0:8000::153 mendoro.fr. AAAA 2606:50c0:8001::153 mendoro.fr. AAAA 2606:50c0:8002::153 mendoro.fr. AAAA 2606:50c0:8003::153 www.mendoro.fr. CNAME aloli.github.io.

Repository

mendoro-website

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 1
  • 24 days ago
  • September 16, 2026
License

Links
Synced at

Thu, 08 Oct 2026 05:41:46 GMT

Languages