Installer une application GitHub pour l'horodatage automatique du code
Installer une application GitHub pour l’horodatage automatique du code
Vous souhaitez installer une application GitHub pour l’horodatage du code afin que chaque commit que vous effectuez soit automatiquement ancré à la blockchain Bitcoin, sans maintenir de scripts, exécuter des tâches cron ou manipuler OpenTimestamps vous-même. C’est exactement ce que fait Timestamp GIT : installez l’application GitHub une seule fois, sélectionnez les dépôts à protéger, et chaque commit est haché, regroupé par lots et ancré à Bitcoin chaque nuit. Aucune étape manuelle après la configuration.
Ce guide est transactionnel. Vous êtes prêt à implémenter, pas seulement à évaluer. À la fin, vous aurez installé l’application GitHub Timestamp GIT, connecté votre premier dépôt et mis en place un badge de vérification ou une piste d’audit.
Vous pourriez exécuter OpenTimestamps manuellement, créer des transactions Bitcoin à la main et surveiller des tâches cron, la voie difficile. Ou vous pouvez installer une application GitHub gérée et laisser Timestamp GIT masquer tout le protocole derrière un flux de travail sans configuration. Cet article présente la première voie.
Prérequis pour installer l’application GitHub Timestamp GIT
Avant de commencer, assurez-vous d’avoir :
- Des droits d’administrateur GitHub sur le dépôt ou l’organisation que vous souhaitez protéger. Vous avez besoin de l’autorisation d’installer une application GitHub et d’accorder l’accès au dépôt.
- Un compte Timestamp GIT sur timestampgit.dev. Inscrivez-vous avec votre identité GitHub.
- Une compréhension des deux modes de déploiement :
- Mode Standard (application GitHub) : l’application lit automatiquement le hachage du commit HEAD des dépôts surveillés. Elle nécessite un accès en lecture seule au dépôt source, car GitHub ne propose pas de permission limitée au hachage de commit. Elle nécessite également un accès en lecture-écriture au dépôt cible où les preuves seront stockées.
- Mode Enterprise ZK (GitHub Action) : une GitHub Action de 12 lignes s’exécute sur votre propre infrastructure et envoie uniquement les hachages de commit à l’API Timestamp GIT. L’application n’a aucun accès à votre dépôt source. Vous avez uniquement besoin d’un accès en lecture-écriture au dépôt cible.
- Un plan payant si vous horodatez des dépôts privés. Le plan Open Source gratuit couvre les dépôts publics. Les dépôts privés nécessitent Pro Agency (49 $/mois) ou Enterprise ZK (199 $/mois). Les pages de statut et les badges privés sont protégés par un jeton HMAC chiffré.
- Aucun outil local ni utilitaire CLI. Tout est géré via l’application web Timestamp GIT et l’application GitHub. Vous n’installez rien sur vos machines de développement.
Étape par étape : installer et configurer l’application GitHub
Étape 1 : Connectez-vous à Timestamp GIT et ouvrez la page d’installation de l’application GitHub
Connectez-vous sur timestampgit.dev. Une fois connecté, accédez à la page de configuration du dépôt, généralement Vos dépôts dans le tableau de bord. Cliquez sur l’option pour installer l’application GitHub.
Étape 2 : Autorisez Timestamp GIT sur votre compte GitHub ou votre organisation
Cliquez sur Installer l’application GitHub. GitHub vous demandera de choisir entre votre compte personnel et les organisations que vous administrez. Sélectionnez le compte qui possède les dépôts que vous souhaitez protéger.
Étape 3 : Sélectionnez les dépôts et définissez les permissions source
Choisissez les dépôts que Timestamp GIT doit surveiller.
- En Mode Standard, accordez un accès en lecture seule aux dépôts sources. L’application GitHub a besoin de cette permission car GitHub ne fournit pas de permission limitée au hachage de commit. Timestamp GIT extrait uniquement le hachage du commit ; il ne lit ni ne stocke jamais votre code source.
- En Mode Enterprise ZK, n’accordez aucun accès au dépôt source. La GitHub Action s’exécute dans votre pipeline CI et n’envoie que des hachages à l’API, de sorte que l’application ne touche jamais à votre code.
Étape 4 : Choisissez où les preuves d’horodatage seront stockées
Sélectionnez le dépôt cible. Il peut s’agir du même dépôt que votre code source ou d’un dépôt fantôme distinct. Timestamp GIT poussera les fichiers manifeste et les reçus .ots vers une branche d’horodatage dédiée dans le dépôt cible.
Pour le Mode Standard, le dépôt cible nécessite un accès en lecture-écriture. Pour le Mode Enterprise ZK, vous avez uniquement besoin d’un accès en lecture-écriture au dépôt cible.
Étape 5 : Pour le Mode Enterprise ZK, ajoutez le workflow GitHub Action
Si vous avez choisi le Mode Enterprise ZK, le tableau de bord Timestamp GIT génère un extrait YAML de 12 lignes pour vous. Copiez-le dans un fichier de workflow dans votre dépôt source, par exemple .github/workflows/timestampgit.yml.
Un workflow généré ressemble à ceci (utilisez l’extrait exact de votre tableau de bord) :
# Enterprise ZK Mode workflow generated by Timestamp GIT.
# This runs on your infrastructure and sends only commit hashes.
name: timestamp-git-zk
on:
push:
branches: [main]
jobs:
send-hash:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Send commit hash to Timestamp GIT
env:
TIMESTAMPGIT_HMAC: ${{ secrets.TIMESTAMPGIT_HMAC }}
run: |
# The exact command is generated by Timestamp GIT.
# It pushes the HEAD commit hash to the API endpoint.
L’action n’envoie que le hachage du commit. Votre code source ne quitte jamais votre environnement.
Étape 6 : Confirmez la configuration dans le tableau de bord Timestamp GIT
Revenez à Timestamp GIT et confirmez l’installation. En Mode Standard, l’application GitHub commencera à détecter les commits automatiquement via les webhooks GitHub. En Mode Enterprise ZK, l’Action enverra les hachages de commit à l’API à chaque push.
À ce stade, vous devriez voir votre dépôt répertorié dans Vos dépôts avec un statut indiquant qu’il est connecté.
Étape 7 : Ajoutez un badge de vérification à votre README
Depuis la page du dépôt connecté (https://timestampgit.dev/connected/{user}/{repo}), copiez l’extrait markdown pour un badge Shields.io. Il ressemble à ceci, avec vos noms d’utilisateur et de dépôt réels :
[](https://timestampgit.dev/status/your-user/your-repo)
Collez-le dans votre README.md. Les visiteurs publics peuvent cliquer sur le badge pour consulter le statut de vérification public de votre dépôt.
Comment confirmer que l’horodatage fonctionne
Après l’installation, attendez le lot nocturne et la confirmation Bitcoin. Voici comment vérifier que vos premiers commits ont été correctement ancrés.
-
Consultez la page de statut du dépôt. Ouvrez
https://timestampgit.dev/status/{user}/{repo}. Elle affiche la date d’ancrage la plus ancienne, la régularité quotidienne, les données de bloc et de transaction Bitcoin, ainsi qu’un calendrier thermique des commits horodatés. -
Recherchez la branche d’horodatage. Dans votre dépôt cible, trouvez la branche d’horodatage dédiée (ou le dépôt fantôme). Elle contient les fichiers manifeste et les fichiers de reçu
.otspour chaque lot quotidien. -
Exécutez la vérification locale dans le navigateur. Visitez
https://timestampgit.dev/verification/{user}/{repo}/{date}. La page effectue une vérification étape par étape de la chaîne de Merkle localement dans votre navigateur, en connaissance nulle, personne ne voit ce que vous vérifiez. Vous n’avez rien à installer. -
Téléchargez les enregistrements de conformité. Utilisez les points de terminaison CSV d’audit et de certificat PDF. Par exemple :
https://timestampgit.dev/api/audit/{user}/{repo}télécharge le registre d’audit complet au format CSV.https://timestampgit.dev/api/report/{user}/{repo}/{date}télécharge un certificat PDF pour un jour spécifique.
-
Rappelez-vous du calendrier. Les commits sont regroupés chaque nuit par un worker cron. La racine de Merkle est ensuite ancrée dans une transaction Bitcoin. La confirmation Bitcoin prend normalement environ 3 heures, donc les preuves sont généralement disponibles le lendemain. Si vous ne voyez pas de preuve immédiatement après un commit, c’est normal.
Dépannage des problèmes d’installation courants
Problème : Aucun commit n’est horodaté.
Vérifiez que l’application GitHub dispose des bonnes permissions et que le dépôt est sélectionné dans le tableau de bord Timestamp GIT. En Mode Standard, l’application a besoin d’un accès en lecture seule au dépôt source et d’un accès en lecture-écriture au dépôt cible. En Mode Enterprise ZK, la GitHub Action doit être installée dans le dépôt source et configurée pour envoyer les données à l’API.
Problème : Les preuves n’apparaissent pas après un jour.
Confirmez que le worker cron nocturne s’est exécuté et que la transaction Bitcoin a été confirmée. La confirmation Bitcoin prend généralement environ 3 heures après le traitement du lot. Consultez la page de statut du dépôt pour les informations du dernier bloc ancré. Si plus de 24 heures se sont écoulées, vérifiez que le dépôt cible possède une branche d’horodatage et que l’application GitHub dispose toujours d’un accès en écriture.
Problème : Le statut du dépôt privé n’est pas visible.
Les pages de statut et les badges des dépôts privés sont protégés par un jeton HMAC chiffré. Assurez-vous d’utiliser l’URL authentifiée qui contient la valeur HMAC. Confirmez également que vous disposez d’un plan payant (Pro Agency ou Enterprise ZK). Le plan Open Source gratuit ne couvre pas les dépôts privés.
Problème : Le Mode Enterprise ZK n’envoie pas les hachages.
Vérifiez que le fichier de workflow GitHub Action est présent dans .github/workflows/ et que le secret TIMESTAMPGIT_HMAC est correctement défini dans les paramètres de votre dépôt. Consultez les journaux d’exécution du workflow dans GitHub Actions pour confirmer que le point de terminaison API est accessible et que l’action s’est terminée avec succès.
Problème : La vérification échoue localement sur la page de vérification publique ou avec un fichier .ots téléchargé.
Assurez-vous d’utiliser le bon fichier .ots pour la date spécifique. Confirmez également que votre outillage OpenTimestamps local est à jour si vous vérifiez en dehors du navigateur. La page de vérification elle-même effectue tous les calculs localement et devrait fonctionner avec n’importe quel navigateur moderne.
FAQ
L’application GitHub Timestamp GIT a-t-elle accès à mon code source ?
En mode Standard, l’application GitHub nécessite un accès en lecture seule au dépôt source car GitHub ne fournit pas de permission limitée au hachage de commit. Cependant, Timestamp GIT extrait uniquement le hachage du commit et ne lit ni ne stocke jamais votre code source. En mode Enterprise ZK, la GitHub Action s’exécute sur votre infrastructure et n’envoie que le hachage du commit à l’API, de sorte que l’application n’a aucun accès à votre dépôt source.
Combien de temps faut-il pour qu’un commit soit horodaté sur la blockchain Bitcoin ?
Les commits sont regroupés chaque nuit. Après le traitement du lot, la racine de Merkle est ancrée dans une transaction Bitcoin. La confirmation Bitcoin prend généralement environ 3 heures, donc la preuve est généralement disponible le lendemain. Vous pouvez surveiller le statut sur le tableau de bord de votre dépôt.
Puis-je utiliser Timestamp GIT pour des dépôts privés ?
Oui, les dépôts privés sont pris en charge sur les plans Pro Agency (49 $/mois) et Enterprise ZK (199 $/mois). Le plan Open Source gratuit est limité aux dépôts publics. Les pages de statut et les badges des dépôts privés sont protégés par un jeton HMAC chiffré.
Que se passe-t-il si Timestamp GIT cesse son activité ? Puis-je toujours vérifier mes horodatages ?
Vos preuves sont stockées sous forme de fichiers .ots dans votre dépôt et ancrées dans la blockchain Bitcoin. Vous pouvez les vérifier indépendamment à l’aide des outils OpenTimestamps standard et des données de bloc Bitcoin. Aucune technologie propriétaire n’est requise, donc vos preuves restent valides même sans Timestamp GIT.
Conclusion : commencez à protéger votre code dès aujourd’hui
L’installation de l’application GitHub Timestamp GIT ne prend que quelques minutes. Ensuite, chaque commit vers un dépôt surveillé est empreinté, regroupé par lots et ancré automatiquement dans la blockchain Bitcoin. Vous obtenez des preuves prêtes pour les tribunaux, des preuves indépendantes du fournisseur et aucun effort continu.
Si vous avez besoin d’une sécurité maximale dans un environnement isolé ou auto-hébergé, Timestamp GIT est également disponible sous forme d’image Docker avec une licence de démonstration à durée limitée. Mais pour la plupart des équipes, l’application GitHub gérée est le chemin le plus rapide vers l’antériorité cryptographique.
Commencez sur Timestamp GIT, inscrivez-vous, installez l’application GitHub et connectez votre premier dépôt dès aujourd’hui.