Projet 32 - "POC serveur Git HTTP avec exécution de scripts au push"

Date de la création de cette note : 2025-08-23.

Quel est l'objectif de ce projet ?

Mon objectif est de développer un POC d'un serveur Git capable de :

  • Gérer les opérations push et pull d'un repository Git via HTTP
  • Déclencher automatiquement un script lors d'un push sur une branche

Voir aussi la suite de ce projet : Projet 33 - "POC serveur Git HTTP qui injecte du contenu dans OpenSearch".

Pourquoi je souhaite réaliser ce projet ?

Je souhaite intégrer les apprentissages de ce POC dans le projet sklein-pkm-engine pour éliminer la dépendance à import-to-es-database.js. L'idée est de permettre la mise à jour de notes.sklein.xyz avec mes données locales uniquement par git push, sans rien avoir à installer sur ma workstation.

Je souhaite aussi utiliser à l'avenir la technique mise au point dans ce POC dans le Projet 24 - Prototyper le gestionnaire de projet de mes rêves.

Par le passé, entre 2014 et 2016, j'ai déjà réalisé un projet de ce type, dans mon ancien projet CmsHub. J'avais utilisé dans un premier temps Gitolite et par la suite git2go.

Pour le moment, je n'ai aucune idée de comment je vais implémenter ce POC.

Todo :

  • [x] Implémenter un serveur Git HTTP minimaliste en NodeJS
  • [x] Implémenter un système qui exécute du code JavaScript automatiquement après chaque git push, en lui transmettant la branche concernée et la liste des nouveaux commits publiés. (voir commit)
  • [x] Implémenter une déclinaison de ce projet dans un SvelteKit Custom Server

Repository de ce projet :

Notes

Ressources :

Quitter le mode Zen