Instructions pour générer le site de Bauloy (Ph. Dalleur)


On utilise OpenElement, qui est d'une complexité moyenne et simple pour les site de peu de pages.
Voir https://blog.lws-hosting.com/creation-de-sites-web/open-element-logiciel-de-creation-de-site-web-gratuit-et-simple

Remarques et propositions d'améliorations

a. Site sécurisé

Si l'on veut mettre tout en site sécurisé, pour les serveurs Apache, il suffit introduire un script dans les .htaccess typiques de Apache.

Étapes: 
 
1- Obtenir l'installation d'un certificat SSL par l'hébergeur (one.com). C'est essentiel, sans cela la redirection de http vers https produit presque toujours une boucle infinie
     de redirection.
 
2- Rediriger les requêtes http vers https 
Onglet: Projet 
Bouton: htaccess 
Bouton: Ajouter une commande 
Sélectionner: Script libre 
 
Ajoutez le script suivant:
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
 
Note: Le changement ne s'applique qu'après publication du site.
Attention! tous les liens externes/internes doivent être en https !! Si vous avez le moindre lien en http et non en https, c'est fini le cadenas vert, et la page est non sécurisée.

b. Optimiser recherche par Google.

On peut avoir une recherche de Google sur plusieurs pages, si on met un titre à chaque page.

On peut utiliser aussi les htaccess: (cf. https://www.semrush.com/blog/301-redirects/ )

   Redirect a Single Page : 
Redirect 301 /old-page/ /new-page/ 

   Redirect An Entire Domain to Another 
Redirect 301 / https://www.newwebsite.com/ 

   Redirect An Entire Site to a Subfolder 
Redirect 301 / https://www.website.com/subfolder/ 

   Redirect A Subfolder to a Different Domain 
Redirect 301 /subfolder https://www.nnewwebsite.com/ 

   Redirect A Site Directory After a URL Change 
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 [R,L] 

   Redirect From Non-WWW to WWW 
RewriteEngine on 
RewriteBase / 
rewritecond %{http_host} ^website.com [nc] 
rewriterule ^(.*)$ http://www.website.com/$1 [r=301,nc] 

   Redirect from HTTP to HTTPS (voir  le point a.)
RewriteEngine on 
RewriteCond %{HTTPS} on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

   Redirect to Trailing-Slash URLs 
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_URI} !(.*)/$  
RewriteRule ^(.*)$ http://www.website.com/$1/ [R=301,L]

c. Langue du Google reCAPTCHA

Pour ne pas avoir la langue par défaut (anglais) en français et en néerlandais, il faut ajouter le code de langue ?hl=fr ou ?hl=nl respectivement après le premier appel au service Google par le script
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js"></script>
On doit ainsi avoir pour le français :
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=fr"></script>

OpenElement ne permet pas de faire ce changement, et il peut y avoir un bug dans les routines internes de production du fichier php contenant le recaptcha. Dans notre cas,
ce sont les fichiers contact.php, contact.en-us.php et contact.nl-be.php. Le script n'est pas directement accessible parce qu'il est placé haut dans le header. Pour éviter
le piratage du serveur mail, le fichier de la page contact est codé en php pour être exécuté sur le serveur internet et non sur l'ordinateur client comme le sont les autres pages,
index, chambres, admission, ... qui sont codées em HTML avec du javascript. Le script Google est produit par du code php par le serveur, et y ajouter hl=fr ne change pas
la langue du recaptcha.

On doit donc d'abord télécharger les fichiers contact.php sur le serveur par upload ftp. openElement fait cela automatiquement lorsque l'on publie les
changements sur Internet (voir le menu de l'onglet 'Projet'). Les fichiers contact.php produits par le client ne sont pas exactement les mêmes que ceux publiés sur le serveur,
parce que openElement ajoute systématiquement un script php avant la page html dans le fichier. Ce script php sera exécuté par le serveur pour produire un fichier contact
à la demande et sécurisé, lorsque quelqu'un visite cette page.

Ainsi, les fichiers contact.php du client ne peuvent être utilisés pour ajouter le code de langue fr ou nl. Il faut faire un download ftp pour changer les fichiers contact.phpcontact.en-us.php et
contact.nl-be.php. J'ai placé un script Powershell ContactrecaptchaLang.ps1 dans le répertoire de travail XLangueRecaptcha. Le contenu de ce répertoire n'est pas mis à jour automatiqument par la publication du Projet. Ce script est lancé par la commande ContactCaptchaLang.cmd. Il télécharge les fichiers contact par ftp, puis leur ajoute le tag linguistique adéquat et les remets sur le serveur (upload par ftp, sans utiliser l'application FTP intégrée dans OpenElement qui risque d'effacer les nouveaux fichiers contact).


Ph. Dalleur