Téléverser les fichiers vers "/"
This commit is contained in:
@@ -0,0 +1,57 @@
|
|||||||
|
# inlivewestream.com — site vitrine
|
||||||
|
|
||||||
|
Site statique (HTML/CSS, aucune dépendance externe, police auto-hébergée), servi par nginx.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
index.html Accueil
|
||||||
|
services.html Catalogue (à la demande / sur devis)
|
||||||
|
tarifs.html Abonnements et prix à l'usage
|
||||||
|
souverainete.html Engagements (hébergement FR, logiciels libres, réversibilité)
|
||||||
|
contact.html Formulaire + coordonnées
|
||||||
|
mentions-legales.html À compléter (champs entre crochets)
|
||||||
|
assets/style.css Feuille de style unique
|
||||||
|
assets/fonts/ Archivo Variable (woff2)
|
||||||
|
nginx.conf Config nginx (cache, gzip, en-têtes de sécurité)
|
||||||
|
Dockerfile Image nginx:alpine
|
||||||
|
```
|
||||||
|
|
||||||
|
## Déploiement sur Coolify
|
||||||
|
|
||||||
|
1. Poussez ce dossier dans un dépôt Git (Gitea auto-hébergé, ou GitHub/GitLab).
|
||||||
|
2. Dans Coolify : **Projects → New Resource → Public Repository** (ou Private avec clé de déploiement).
|
||||||
|
- Build Pack : **Dockerfile**
|
||||||
|
- Port exposé : **80**
|
||||||
|
3. Onglet **Domains** : `https://inlivewestream.com,https://www.inlivewestream.com`
|
||||||
|
Coolify génère le certificat Let's Encrypt via son Traefik intégré.
|
||||||
|
4. Chez votre registrar : enregistrement **A** de `inlivewestream.com` et `www` vers l'IP publique du serveur Coolify (et AAAA si IPv6).
|
||||||
|
5. **Deploy**. Chaque `git push` redéploie si le webhook est activé (Settings → Webhooks).
|
||||||
|
|
||||||
|
Redirection `www` → apex : dans Coolify, activer *Redirect to primary domain* sur la ressource, ou ajouter un middleware Traefik.
|
||||||
|
|
||||||
|
## Formulaire de contact
|
||||||
|
|
||||||
|
Le site est statique : `/api/contact` renvoie 501 tant qu'aucun backend n'est branché. Trois options cohérentes avec la stack :
|
||||||
|
|
||||||
|
- **Zammad** : créer un canal formulaire, puis pointer `action` du `<form>` vers l'URL fournie (ou déployer un petit service qui poste à l'API Zammad).
|
||||||
|
- **Micro-service** (Node/Go/Python, ~40 lignes) déployé sur Coolify, qui valide le honeypot `website`, envoie un e-mail via votre SMTP et répond par une redirection vers `/contact.html?ok=1`.
|
||||||
|
- **Formbricks** auto-hébergé pour un formulaire hébergé avec anti-spam.
|
||||||
|
|
||||||
|
Dans les trois cas, ajoutez le domaine du backend à `form-action` dans la CSP (`nginx.conf`) s'il diffère.
|
||||||
|
|
||||||
|
## Avant la mise en ligne
|
||||||
|
|
||||||
|
- [ ] Compléter `mentions-legales.html` (raison sociale, SIREN, adresse, hébergeur).
|
||||||
|
- [ ] Remplacer le numéro de téléphone dans `contact.html`.
|
||||||
|
- [ ] Mettre en place `status.inlivewestream.com` (Uptime Kuma) ou retirer les liens.
|
||||||
|
- [ ] Vérifier les tarifs affichés dans `tarifs.html` : ce sont des hypothèses de lancement.
|
||||||
|
- [ ] Optionnel : ajouter une mesure d'audience sans cookie (Plausible ou Matomo auto-hébergé) et l'indiquer dans les mentions légales.
|
||||||
|
|
||||||
|
## Test local
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build -t inlivewestream .
|
||||||
|
docker run --rm -p 8080:80 inlivewestream
|
||||||
|
```
|
||||||
|
puis http://localhost:8080
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Mentions légales — InLive We Stream</title>
|
||||||
|
<meta name="description" content="Mentions légales et politique de données personnelles d'InLive We Stream.">
|
||||||
|
<link rel="canonical" href="https://inlivewestream.com/mentions-legales.html">
|
||||||
|
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
|
||||||
|
<link rel="stylesheet" href="/assets/style.css">
|
||||||
|
<meta property="og:title" content="Mentions légales — InLive We Stream">
|
||||||
|
<meta property="og:description" content="Mentions légales et politique de données personnelles d'InLive We Stream.">
|
||||||
|
<meta property="og:url" content="https://inlivewestream.com/mentions-legales.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip" href="#main">Aller au contenu</a>
|
||||||
|
|
||||||
|
<header class="site-header">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="brand" href="/"><span class="dot" aria-hidden="true"></span>InLive We Stream</a>
|
||||||
|
<nav class="nav" aria-label="Navigation principale">
|
||||||
|
<a href="/services.html">Services</a>
|
||||||
|
<a href="/tarifs.html">Tarifs</a>
|
||||||
|
<a href="/souverainete.html">Souveraineté</a>
|
||||||
|
<a href="/contact.html" class="cta">Nous contacter</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main id="main">
|
||||||
|
|
||||||
|
<section class="page-head">
|
||||||
|
<div class="wrap">
|
||||||
|
<h1>Mentions légales</h1>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="section">
|
||||||
|
<div class="wrap prose">
|
||||||
|
<h2>Éditeur du site</h2>
|
||||||
|
<p>[Dénomination sociale], [forme juridique] au capital de [montant] €<br>
|
||||||
|
Siège social : [adresse]<br>
|
||||||
|
RCS [ville] [numéro] — TVA intracommunautaire [numéro]<br>
|
||||||
|
Directeur de la publication : [nom]<br>
|
||||||
|
Contact : <a href="mailto:contact@inlivewestream.com">contact@inlivewestream.com</a></p>
|
||||||
|
|
||||||
|
<h2>Hébergement</h2>
|
||||||
|
<p>Ce site est hébergé sur des serveurs administrés par l'éditeur, situés en France chez [OVHcloud, 2 rue Kellermann, 59100 Roubaix / Scaleway, 8 rue de la Ville l'Évêque, 75008 Paris].</p>
|
||||||
|
|
||||||
|
<h2 id="donnees">Données personnelles</h2>
|
||||||
|
<p>Les informations saisies dans le formulaire de contact (nom, organisation, e-mail, téléphone, message) servent uniquement à traiter votre demande. Elles sont conservées [12] mois puis supprimées, sauf relation contractuelle. Elles ne sont ni cédées ni transférées hors de l'Union européenne.</p>
|
||||||
|
<p>Ce site n'utilise aucun traceur publicitaire ni service d'analyse tiers. [Si un outil de mesure d'audience auto-hébergé est utilisé (Matomo, Plausible), l'indiquer ici avec la configuration sans cookie.]</p>
|
||||||
|
<p>Vous pouvez exercer vos droits d'accès, de rectification, d'effacement et d'opposition en écrivant à <a href="mailto:contact@inlivewestream.com">contact@inlivewestream.com</a>. Vous pouvez également saisir la CNIL.</p>
|
||||||
|
|
||||||
|
<h2>Propriété intellectuelle</h2>
|
||||||
|
<p>Les contenus de ce site sont la propriété de l'éditeur. Les logiciels libres mentionnés appartiennent à leurs auteurs respectifs et sont distribués sous leurs licences propres.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="wrap">
|
||||||
|
<div>
|
||||||
|
<h4>InLive We Stream</h4>
|
||||||
|
<p>Remote production audiovisuelle. Serveurs en France, logiciels libres.</p>
|
||||||
|
<p style="margin-top:0.75rem"><span class="status">Tous les services fonctionnent</span> — <a href="https://status.inlivewestream.com">page de statut</a></p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Offre</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/services.html">Services</a></li>
|
||||||
|
<li><a href="/tarifs.html">Tarifs</a></li>
|
||||||
|
<li><a href="/souverainete.html">Souveraineté</a></li>
|
||||||
|
<li><a href="/contact.html">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Informations</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/mentions-legales.html">Mentions légales</a></li>
|
||||||
|
<li><a href="/mentions-legales.html#donnees">Données personnelles</a></li>
|
||||||
|
<li><a href="mailto:contact@inlivewestream.com">contact@inlivewestream.com</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
# Compression
|
||||||
|
gzip on;
|
||||||
|
gzip_types text/html text/css application/javascript image/svg+xml application/xml;
|
||||||
|
gzip_min_length 512;
|
||||||
|
|
||||||
|
# En-têtes de sécurité
|
||||||
|
add_header X-Content-Type-Options nosniff always;
|
||||||
|
add_header X-Frame-Options DENY always;
|
||||||
|
add_header Referrer-Policy strict-origin-when-cross-origin always;
|
||||||
|
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
|
||||||
|
add_header Content-Security-Policy "default-src 'self'; img-src 'self' data:; style-src 'self'; font-src 'self'; script-src 'self' 'unsafe-inline'; form-action 'self'; frame-ancestors 'none'" always;
|
||||||
|
|
||||||
|
# Cache long pour les ressources statiques, court pour le HTML
|
||||||
|
location /assets/ {
|
||||||
|
add_header Cache-Control "public, max-age=31536000, immutable";
|
||||||
|
}
|
||||||
|
location / {
|
||||||
|
add_header Cache-Control "public, max-age=600";
|
||||||
|
try_files $uri $uri/ $uri.html =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Le formulaire de contact : voir README (à router vers un backend ou Zammad)
|
||||||
|
location /api/contact {
|
||||||
|
return 501;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
Sitemap: https://inlivewestream.com/sitemap.xml
|
||||||
+178
@@ -0,0 +1,178 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Services — InLive We Stream</title>
|
||||||
|
<meta name="description" content="Transport vidéo à la demande, régie à distance, diffusion, location de boîtiers d'agrégation 4G/5G et production clé en main.">
|
||||||
|
<link rel="canonical" href="https://inlivewestream.com/services.html">
|
||||||
|
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
|
||||||
|
<link rel="stylesheet" href="/assets/style.css">
|
||||||
|
<meta property="og:title" content="Services — InLive We Stream">
|
||||||
|
<meta property="og:description" content="Transport vidéo à la demande, régie à distance, diffusion, location de boîtiers d'agrégation 4G/5G et production clé en main.">
|
||||||
|
<meta property="og:url" content="https://inlivewestream.com/services.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip" href="#main">Aller au contenu</a>
|
||||||
|
|
||||||
|
<header class="site-header">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="brand" href="/"><span class="dot" aria-hidden="true"></span>InLive We Stream</a>
|
||||||
|
<nav class="nav" aria-label="Navigation principale">
|
||||||
|
<a href="/services.html" aria-current="page">Services</a>
|
||||||
|
<a href="/tarifs.html">Tarifs</a>
|
||||||
|
<a href="/souverainete.html">Souveraineté</a>
|
||||||
|
<a href="/contact.html" class="cta">Nous contacter</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main id="main">
|
||||||
|
|
||||||
|
<section class="page-head">
|
||||||
|
<div class="wrap">
|
||||||
|
<h1>Services</h1>
|
||||||
|
<p class="lead">Les services de la première liste se commandent en ligne et sont disponibles à l'heure dite. Ceux de la seconde demandent qu'on se parle : ils incluent des personnes, du matériel ou une installation chez vous.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section">
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="section-head">
|
||||||
|
<h2>À la demande, commandés en ligne</h2>
|
||||||
|
<p class="muted">Facturés à l'usage. Chaque commande crée les ressources dans la région choisie et vous envoie les accès.</p>
|
||||||
|
</div>
|
||||||
|
<ul class="catalog">
|
||||||
|
<li>
|
||||||
|
<h3>Point d'entrée SRT ou RIST</h3>
|
||||||
|
<p>Une adresse SRT et sa clé, sur un serveur au plus près de votre événement. Page de supervision en temps réel (débit, pertes, latence) et enregistrement inclus. Vous l'utilisez avec notre boîtier ou votre propre encodeur.</p>
|
||||||
|
<div class="unit"><strong>À l'heure de flux</strong>stockage en sus</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Relais vers plusieurs destinations</h3>
|
||||||
|
<p>Un flux entrant, republié simultanément vers YouTube, Twitch, une chaîne PeerTube, un lecteur web ou une adresse SRT chez votre diffuseur.</p>
|
||||||
|
<div class="unit"><strong>À l'heure</strong>par destination</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Lecteur et page de diffusion</h3>
|
||||||
|
<p>Une page à vos couleurs avec un lecteur basse latence, en accès public ou protégé par mot de passe ou compte. Statistiques d'audience.</p>
|
||||||
|
<div class="unit"><strong>À l'heure</strong>selon audience</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Enregistrement et transcodage</h3>
|
||||||
|
<p>Enregistrement conservé en France, conversion vers vos formats de livraison (master, proxy, réseaux sociaux), téléchargement depuis votre espace.</p>
|
||||||
|
<div class="unit"><strong>À la minute traitée</strong>+ stockage mensuel</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Transcription et sous-titres</h3>
|
||||||
|
<p>Sous-titres en français générés automatiquement, traduction en option, fichiers SRT/VTT ou version incrustée. Le traitement se fait sur nos serveurs, jamais chez un tiers.</p>
|
||||||
|
<div class="unit"><strong>À la minute de vidéo</strong></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Réseau privé d'événement</h3>
|
||||||
|
<p>Vos régies, encodeurs et postes distants reliés dans un réseau chiffré, sans ouvrir de port chez l'organisateur, pour la durée de l'événement.</p>
|
||||||
|
<div class="unit"><strong>À la journée</strong>par équipement relié</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Location du boîtier terrain</h3>
|
||||||
|
<p>Boîtier d'agrégation 4G/5G configuré, cartes SIM multi-opérateurs, batterie, déjà associé à votre point d'entrée. Expédié ou remis en main propre.</p>
|
||||||
|
<div class="unit"><strong>À la journée</strong>+ données mobiles</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Chaîne vidéo privée</h3>
|
||||||
|
<p>Une chaîne PeerTube dédiée pour vos directs et vos vidéos, avec lecteur intégrable sur votre site et accès réservé à vos utilisateurs si vous le souhaitez.</p>
|
||||||
|
<div class="unit"><strong>Abonnement mensuel</strong>stockage inclus</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Espace de livraison</h3>
|
||||||
|
<p>Un espace de fichiers pour nous déposer vos rushs et récupérer vos livrables, avec liens de partage sécurisés.</p>
|
||||||
|
<div class="unit"><strong>Abonnement mensuel</strong>par volume</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Régie OBS hébergée</h3>
|
||||||
|
<p>Une machine de régie avec vos sources déjà configurées, que vos opérateurs pilotent à distance avec une latence de quelques dizaines de millisecondes.</p>
|
||||||
|
<div class="unit"><strong>À l'heure</strong></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section">
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="section-head">
|
||||||
|
<h2>Sur devis, avec notre équipe</h2>
|
||||||
|
</div>
|
||||||
|
<ul class="catalog">
|
||||||
|
<li>
|
||||||
|
<h3>Production à distance clé en main</h3>
|
||||||
|
<p>Boîtiers sur place, régie pilotée par nos soins, réalisation, habillage, diffusion et livrables. Vous fournissez les caméras ou nous nous en chargeons avec nos partenaires.</p>
|
||||||
|
<div class="unit"><strong>À la journée</strong>+ préparation</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Duplex et contribution pour les médias</h3>
|
||||||
|
<p>Un boîtier et un technicien sur le terrain pour un direct vers votre régie, avec retour et intercom.</p>
|
||||||
|
<div class="unit"><strong>Sur devis</strong></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Installation chez vous</h3>
|
||||||
|
<p>La même plateforme déployée dans vos locaux, avec formation et maintenance. Vous devenez autonome : c'est notre engagement de réversibilité.</p>
|
||||||
|
<div class="unit"><strong>Sur devis</strong></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Supervision et astreinte</h3>
|
||||||
|
<p>Surveillance de vos productions et intervention en cas d'incident, pendant les heures que vous choisissez ou 24 h/24.</p>
|
||||||
|
<div class="unit"><strong>Forfait mensuel</strong></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Formation</h3>
|
||||||
|
<p>Transport vidéo sur IP, OBS avancé, remote production, exploitation de la plateforme. Chez vous ou à distance.</p>
|
||||||
|
<div class="unit"><strong>À la journée</strong></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Audit de vos dépendances vidéo</h3>
|
||||||
|
<p>Cartographie de vos flux et de vos outils, plan de migration vers des solutions libres et des hébergeurs français.</p>
|
||||||
|
<div class="unit"><strong>Sur devis</strong></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section closing">
|
||||||
|
<div class="wrap">
|
||||||
|
<h2>Vous ne savez pas quel service vous convient ? Décrivez-nous votre événement.</h2>
|
||||||
|
<div class="btn-row">
|
||||||
|
<a class="btn btn-primary" href="/contact.html">Nous contacter</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="wrap">
|
||||||
|
<div>
|
||||||
|
<h4>InLive We Stream</h4>
|
||||||
|
<p>Remote production audiovisuelle. Serveurs en France, logiciels libres.</p>
|
||||||
|
<p style="margin-top:0.75rem"><span class="status">Tous les services fonctionnent</span> — <a href="https://status.inlivewestream.com">page de statut</a></p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Offre</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/services.html">Services</a></li>
|
||||||
|
<li><a href="/tarifs.html">Tarifs</a></li>
|
||||||
|
<li><a href="/souverainete.html">Souveraineté</a></li>
|
||||||
|
<li><a href="/contact.html">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Informations</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/mentions-legales.html">Mentions légales</a></li>
|
||||||
|
<li><a href="/mentions-legales.html#donnees">Données personnelles</a></li>
|
||||||
|
<li><a href="mailto:contact@inlivewestream.com">contact@inlivewestream.com</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user