Le site que vous regardez actuellement est un projet essentiel pour les études. Ce n'est pas une page statique sur un serveur local, comme on a pu faire en cours, mais bien un site fonctionnel, hébergé sur un serveur et accessible sur internet.
Il y a un cours dans cette formation dédiée à la création du portfolio. L'objectif étant que, à la fin de l'année, on aie un site fini à présenter aux potentiels maitres de stage. Certains font appel à des hébergeurs en ligne, avec des outils dédiés, mais j'ai préférer éviter de payer plus que le nom de domaine. J'ai donc du apprendre à me servir des outils de gitlab.
Gitlab offre un outil appelé "pages" permettant d'héberger un site statique gratuitement: il suffit de créer un projet sur gitlabdans lequel ajouter un dossier "public" dans lequel placer ses pages html, et un fichier ".gitlab-ci.yml". À noter que je ne savais pas encore à quoi ce fichier servirai, car j'avais uniquement utilisé un template.
Le site viens avec un nom de domaine par défaut (finissant en .gitlab.io), mais j'ai préféré acheter le mien. Le site whois.com m'a permi d'en acheter un facilement, mais le ratacher à mon site demandais une bonne compréhention du protocole DNS, et quelques recherches. La connection demande 2 records à créer.
Pour pouvoir adapter le site facilement à de nouveaux projets, j'ai créé un site PHP pour ajouter les projets à la page d'acceuil facilement.
J'ai passé un certain temps à retrouver comment le PHP fonctionne, mais mon script est très simple.
Le problème est que gitlab héberge des pages statiques: il ne compile pas le php.
C'est à ce moment que j'ai recherché des solutions, et que j'ai fini par comprendre à quoi sert le fichier ".gitlab-ci.yml".
Il s'agit d'un fichier décrivant une pipeline pour l'outil gitlab CI/CD. C'est à dire une suite de commandes pour atteindre un résulat.
Mon fichier par défaut crée un "job" (une de ces pipelins) qui ne fais rien à part préciser l'emplacement du dossier public.
J'ai donc ajouté des commandes pour compiler les fichiers php, et les ajouter dans le dossier public en tant que pages html.
À noter que cette méthode ne marche que parce que mes pages sont statiques. Cette méthode ne marcherais pas pour le traitement de formulaies, par exemple.