Thomas Fransolet d91cf7f02c Inscription self-service et quota IA exprimé en questions
- Parcours d'inscription /[lang]/signup.
- Quota IA : « req/mois » remplacé par « questions de visiteurs / mois » en
  4 langues — le backend compte des tokens, pas des requêtes, et la vitrine
  annonçait encore l'ancienne unité.
- .env.production suivi volontairement : il ne contient qu'une URL publique
  (préfixe NEXT_PUBLIC_), d'où l'exception dans .gitignore.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 10:48:54 +02:00
2026-04-26 09:54:53 +02:00

myinfomate-landing

Site vitrine de la solution MyInfoMate (Next.js 16 / Tailwind CSS v4).

Dev local

npm install
npm run dev       # http://localhost:3000
npm run build
npm run lint

Déploiement

1. Builder et pusher l'image

docker build -t registry.unov.be/myinfomate/landing:latest .
docker push registry.unov.be/myinfomate/landing:latest

2. Sur le VPS — mettre à jour le conteneur

docker pull registry.unov.be/myinfomate/landing:latest
docker compose up -d myinfomate-landing
docker-compose -f docker-compose-landing.yml pull
docker-compose -f docker-compose-landing.yml up -d

Config Traefik (docker-compose sur le VPS)

myinfomate-landing:
  container_name: "myinfomate-landing"
  image: registry.unov.be/myinfomate/landing:latest
  networks:
    - web
  restart: always
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.landing.rule=Host(`myinfomate.be`)"
    - "traefik.http.routers.landing.entrypoints=web"
    - "traefik.http.routers.landing.middlewares=redirect@file"
    - "traefik.http.routers.landing-secured.rule=Host(`myinfomate.be`)"
    - "traefik.http.routers.landing-secured.entrypoints=web-secured"
    - "traefik.http.routers.landing-secured.tls.certresolver=mytlschallenge"

Le certificat SSL est géré automatiquement par Traefik (Let's Encrypt).

Description
No description provided
Readme 5.9 MiB
Languages
TypeScript 96.9%
HTML 2.8%
CSS 0.2%