> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cel-eleague.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adsterra

> Contrat opérationnel de l'intégration publicitaire Adsterra (variables, placements, garde d'affichage).

# Adsterra

Ce document décrit le contrat opérationnel Adsterra sans stocker les vrais codes
dans le dépôt.

## Variables publiques

Ces valeurs sont lues côté frontend et doivent être présentes au moment du
`next build`. En production, elles sont chargées depuis Infisical par
`.github/workflows/deploy.yml`, passées au build Docker, puis synchronisées dans
l'environnement runtime Convex.

| Variable                                   | Usage                          |
| ------------------------------------------ | ------------------------------ |
| `NEXT_PUBLIC_ADSTERRA_SOCIAL_BAR_CODE`     | Code `GET CODE` Social Bar     |
| `NEXT_PUBLIC_ADSTERRA_NATIVE_BANNER_CODE`  | Code `GET CODE` Native Banner  |
| `NEXT_PUBLIC_ADSTERRA_SMARTLINK_URL`       | URL Smartlink optionnelle      |
| `NEXT_PUBLIC_ADSTERRA_POPUNDER_CODE`       | Code `GET CODE` Popunder       |
| `NEXT_PUBLIC_ADSTERRA_BANNER_160X300_CODE` | Code `GET CODE` Banner 160x300 |

Les vraies valeurs utilisées par le site en production doivent être ajoutées
dans Infisical `prod` à la racine `/`. Smartlink peut rester vide tant qu'il
n'est pas branché dans l'interface. Le helper local garde le flux habituel :

```bash theme={null}
npm run secrets:upload:prod
```

## Placement

* Social Bar et Popunder sont injectés via le body.
* Native Banner est utilisé pour les emplacements de contenu.
* Banner 160x300 est utilisé dans la sidebar publique.
* Smartlink est exposé comme URL et n'est pas injecté automatiquement.

## Garde d'affichage

Les publicités ne dépendent pas du consentement marketing/cookies. Elles sont
affichées uniquement si l'utilisateur courant n'est pas premium et si la route
publique autorise les annonces.
