> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/fr/configuration/overleaf-toolkit/git-integration.md).

# intégration Git

L’intégration Git est uniquement disponible sur [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) actuellement.

{% hint style="info" %}
Cette fonctionnalité a été initialement développée par [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Activez git-bridge (uniquement pour les utilisateurs de Toolkit)

Si vous utilisez Toolkit, activez le `git-bridge` en définissant ce qui suit dans votre `config/overleaf.rc`:

{% code title="config/overleaf.rc" %}

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Ajoutez le conteneur git-bridge (uniquement pour les utilisateurs de Docker Compose)

Pour les utilisateurs exécutant une `docker-compose.yml`, ajoutez la configuration de conteneur suivante à votre fichier compose :

{% code title="docker-compose.yml (service git-bridge)" overflow="wrap" %}

```yaml
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # la balise doit correspondre à la balise du conteneur `sharelatex`
    volumes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    environment:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
        # "http://sharelatex/api/v0/" pour la version 4.1.6 et les versions antérieures
        GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
        GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
        GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
    user: root
    command: ["/server-pro-start.sh"]
```

{% endcode %}
{% endstep %}

{% step %}

### Mettez à jour la configuration du conteneur sharelatex

Vous devrez également lier le `git-bridge` conteneur dans le `sharelatex` conteneur et définir les variables d’environnement suivantes, veuillez prêter attention à `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (service sharelatex)"><code class="lang-yaml">sharelatex :
    liens :
        - git-bridge
    environment:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # Nous utilisons désormais v1 ; si vous aviez l’habitude de définir V1_HISTORY_URL, veuillez le mettre à jour maintenant
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Authentification

Lors de l’authentification d’un client git, les utilisateurs ont besoin d’un jeton d’accès personnel. Les utilisateurs peuvent gérer les jetons d’accès personnels via l’interface de l’application (voir la documentation) :

<figure><img src="/files/6b56d0d09c21c5698349c8bf59f8841a8ee82f98" alt=""><figcaption><p>Jeton d’accès personnel pour l’intégration Git</p></figcaption></figure>
{% endstep %}

{% step %}

### Surveillance et considérations relatives aux ressources

Nous vous recommandons de surveiller les ressources de votre hôte après avoir activé `git-bridge`. L’augmentation de la charge dépendra de :

* le nombre d’utilisateurs accédant à la fonctionnalité
* les types de projets hébergés dans votre instance (les projets plus volumineux sont généralement plus gourmands en ressources)
  {% endstep %}
  {% endstepper %}

### Déplacer les projets vers S3

L’intégration Git stocke sur le disque un dépôt git complet pour chaque projet cloné par un utilisateur. Si votre espace disque est limité, vous pouvez activer une tâche de permutation qui déplacera vers AWS S3 les dépôts les moins utilisés. Si un dépôt déplacé est à nouveau nécessaire, il est remis sur le disque. Les variables d’environnement suivantes contrôlent la tâche de permutation :

| Nom                                   | Description                                                                                                                                                                                              |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Définissez cette valeur sur "s3" pour activer la tâche de permutation.                                                                                                                                   |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Votre clé d’accès AWS                                                                                                                                                                                    |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET`     | Votre secret AWS                                                                                                                                                                                         |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Ce bucket contiendra les dépôts git compressés                                                                                                                                                           |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION`     | La région du bucket                                                                                                                                                                                      |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Nombre minimal de projets à conserver sur le disque.<br><br><strong>- Par défaut :</strong> 50</p>                                                                                                    |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Seuil bas pour la permutation. La tâche de permutation déplacera des projets jusqu’à ce que l’utilisation du disque soit inférieure à cette valeur.<br><br><strong>- Par défaut :</strong> 128 Go</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB`         | <p>Seuil haut pour la permutation. La tâche de permutation commencera à déplacer des projets lorsque l’utilisation du disque atteindra cette valeur.<br><br><strong>- Par défaut :</strong> 256 Go</p>   |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>Le délai entre la vérification de l’utilisation du disque et l’exécution de la tâche de permutation.<br><br><strong>- Par défaut :</strong> 3600000 ms = 1 heure</p>                                  |

### Q\&R

<details>

<summary>Si je partage mon projet avec quelqu’un d’autre, comment fonctionne le modèle d’autorisation de Git Bridge ?</summary>

Les utilisateurs disposant d’un accès en lecture seule peuvent uniquement cloner ce projet ; les utilisateurs disposant d’un accès en lecture-écriture peuvent cloner et pousser des projets. Remarque : les utilisateurs doivent être connectés pour rejoindre ce projet.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/fr/configuration/overleaf-toolkit/git-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
