FAQ & Base de connaissances

Guides, tutoriels et réponses aux questions les plus fréquentes sur BatInBox.

Prise en main

Comment créer un projet (manuel vs Aïda) ?

Méthode manuelle : cliquez sur le bouton + en bas à droite du dashboard. Un formulaire en 8 onglets vous guide : nom, type (chemin de fer ou porte-document), nombre de pages, cahiers, couverture, workflow, échéances et accès.

Avec Aïda, l'assistant IA : cliquez sur Créer avec Aïda. Décrivez votre projet en langage naturel (ex: "Catalogue 32 pages, double validation client"). Aïda génère automatiquement le dossier, le workflow, les rôles et envoie les invitations — le tout en un clic.

Les deux méthodes créent exactement le même résultat. Aïda est recommandé pour les projets récurrents ou complexes.

Comprendre le dashboard et la navigation

Le dashboard est votre vue d'ensemble. Il propose deux modes d'affichage :

Vue Split : liste des dossiers à gauche, détail du dossier sélectionné à droite (progression, aperçu des pages, équipe, activité récente).

Vue Kanban : colonnes par statut (Brouillon, En cours, Relecture, BAT, etc.). Chaque carte représente un dossier avec sa progression.

En haut : barre de recherche, filtres par statut (pastilles de couleur), filtre par type (Chemin de fer / Porte-document). Les classeurs apparaissent en onglets au-dessus si configurés.

Les widgets en haut affichent les KPIs : progression globale, pages en attente, validées et en correction.

Le tour d'onboarding (première connexion)

Lors de votre première connexion, un tour guidé interactif vous présente les éléments clés de l'interface en 6 étapes : bienvenue, recherche, filtres, vues, création avec Aïda, et conclusion.

Le tour ne s'affiche qu'une seule fois (mémorisé dans votre navigateur). Pour le relancer, videz le localStorage de votre navigateur ou utilisez la navigation privée.

Un tour similaire existe pour le chemin de fer (flatplan) lors de votre première visite d'un dossier.

Workflows & validation

Comment construire un circuit de validation ?

Dans Réglages → Workflow, un circuit se construit comme une liste d'étapes. Pour chaque étape, vous renseignez quatre réglages :

Qui valide ? le rôle autorisé (Graphiste, DA, Client…). Tout utilisateur ayant ce rôle et l'accès au dossier pourra valider.
Statut une fois validé : l'état que prend le document après validation.
Délai avant relance : nombre de jours après lequel le rôle valideur est relancé automatiquement (laissez vide pour aucune relance).
Si refusé : le document revient au créateur, à l'étape précédente, ou se bloque pour correction.

Vous pouvez avoir plusieurs circuits et définir celui par défaut. À chaque étape, les membres du dossier sont notifiés automatiquement (in-app + email).

Démarrer depuis un modèle (sans partir de zéro)

Dans l'éditeur de workflow, cliquez sur « Modèle » : une galerie propose des circuits types prêts à l'emploi. Choisissez celui qui se rapproche le plus de votre organisation, il charge les étapes — vous n'avez plus qu'à ajuster les rôles, statuts et délais, puis Enregistrer.

Trois modèles d'agence sont fournis : Express (3 étapes — création, validation client, livraison), Standard (5 étapes — avec relecture DA et BAT), et Premium (5 étapes — avec brief amont). Le chargement propose au besoin de créer les statuts manquants.

Visualiser tous mes workflows et qui valide quoi

Depuis l'éditeur, le bouton « Vue d'ensemble » affiche tous vos circuits en un écran : chaque circuit en pipeline (étapes, rôles, relances), une matrice « qui valide où » et le détail par rôle (pour repérer un rôle surchargé ou un circuit sans valideur).

Sur chaque dossier et chaque page, le circuit suivi et l'étape en cours sont affichés ; les notifications nomment le circuit et l'étape concernés.

Fichiers & Production

Comment importer plusieurs PDF séparés d'un coup (import batch) ?

Si vos fichiers sont séparés par page (un PDF par page au lieu d'un seul PDF multi-pages), l'import batch les place automatiquement sur le chemin de fer grâce à la convention de nommage.

Convention :

• Couvertures : le nom contient COUVERTURES ou COUV (ex : PROJET_COUVERTURES_BAT.pdf)
• Pages intérieures : un numéro à 2-4 chiffres entre _ (ex : PROJET_001_BAT.pdf → page 1, PROJET_048_BAT.pdf → page 48)

Comment faire :

1. Ouvrez votre dossier (chemin de fer)
2. Cliquez sur le bouton Import batch dans la barre d'outils
3. Sélectionnez tous vos fichiers PDF
4. Le système analyse les noms et affiche un récapitulatif
5. Confirmez → les fichiers sont placés automatiquement

Les fichiers dont le nom n'est pas reconnu sont listés en erreur avec la raison.

Comment fonctionne le Preflight (contrôle qualité PDF) ?

Le Preflight analyse automatiquement vos PDF selon un cahier des charges technique configurable. Il vérifie :

• Résolution des images (DPI effectif calculé depuis la matrice de transformation)
• Espace couleur par image (CMJN, RVB, niveaux de gris, tons directs Pantone, DeviceN)
• Profil ICC extrait des OutputIntents du PDF (ISO Coated v2, Fogra39, etc.) avec détection du standard PDF/X ou PDF/A
• Polices réellement utilisées dans le rendu (pas les polices déclarées mais non rendues)
• Fond perdu (bleed) via comparaison TrimBox/BleedBox
• Taux d'encrage (TAC) par rastérisation Ghostscript en séparations CMJN à 150 DPI
• Transparences détaillées (groupes, masques SMask, opacités, modes de fusion)
• Surimpression (OP/op/OPM dans les états graphiques utilisés)
• Texte noir 100%K vs CMJN riche (analyse des opérateurs couleur dans les blocs texte)

7 profils prêts à l'emploi sont fournis : Offset couché (Fogra 39), Offset couché Fogra 51, Offset non couché, Rotative, Packaging, Numérique, Web/écran. Vous pouvez aussi créer vos propres profils.

Le résultat : un verdict CONFORME (vert) ou NON CONFORME (rouge), avec le détail par critère et par page.

BatInBox analyse le content stream interne du PDF (opérateurs PostScript), à un niveau comparable à Enfocus Pitstop ou Adobe Acrobat Pro Preflight.

Comment BatInBox détecte-t-il le profil ICC et les espaces couleur ?

Profil ICC : BatInBox lit les OutputIntents du catalogue PDF — c'est la méthode utilisée par Pitstop et Acrobat Pro. Cela identifie le profil ICC réellement intégré au document (ex: ISO Coated v2 300% (ECI)) ainsi que le standard de conformité (PDF/X, PDF/A).

Espace couleur par image : chaque image du PDF est analysée individuellement. Les références de ColorSpace indirectes sont résolues pour identifier précisément :

• DeviceCMYK — images en quadrichromie
• DeviceRGB — images en RVB (signalées comme non conformes en mode CMJN)
• ICCBased — profil ICC embarqué (3 composants = RVB, 4 = CMJN)
• Separation — tons directs (ex: PANTONE Warm Gray 1 C) — acceptés en mode CMJN
• DeviceN — espaces multi-composants personnalisés
• Indexed — palettes de couleurs

Les tons directs (Separation) et DeviceN sont acceptés lorsque le profil exige du CMJN — c'est le comportement standard en prépresse professionnel.

Quelles sont les 4 nouvelles détections avancées du preflight ?

BatInBox a ajouté 4 détections avancées qui couvrent des risques fréquents en prépresse professionnel, invisibles à l'œil nu mais critiques à l'impression :

1. Analyse multi-pages : toutes les pages du PDF sont analysées, pas uniquement la page 1. Chaque page peut présenter des problèmes différents (résolution, espace couleur, filets maigres…). Le rapport récapitule les défauts page par page, et le badge Preflight reflète le résultat global du document.

2. Filets maigres (hairlines) : les lignes d'épaisseur inférieure à 0,25 pt sont signalées. En dessous de ce seuil, la plupart des presses offset ne peuvent pas reproduire le filet correctement — il disparaît ou se casse. BatInBox lit directement les opérateurs w du content stream PDF pour mesurer l'épaisseur réelle déclarée, indépendamment du zoom d'affichage.

3. Surimpression blanche : un objet blanc avec l'option overprint activée est totalement invisible à l'impression — la couleur du fond passe au travers. C'est l'une des erreurs les plus sournoises car le fichier s'affiche correctement à l'écran (les visionneuses n'appliquent pas l'overprint par défaut). BatInBox analyse les attributs op / OP du dictionnaire graphique pour détecter ce cas précis.

4. Petit texte en couleurs composites : les textes de moins de 8 pt composés en quadrichromie (CMJN avec plusieurs composantes) présentent un risque de mauvais repérage à l'impression — même un léger décalage entre les plaques crée un effet de halo coloré sur des caractères minuscules. Seul le texte en noir 100 % pur (K uniquement) est exempt de ce risque. BatInBox signale chaque instance de texte en quadri sous le seuil configuré.

Problème connu : Preflight lent sur gros fichiers

Symptôme : l'analyse Preflight peut prendre plus de 30 secondes sur des fichiers PDF volumineux (> 100 Mo, > 50 pages).

Pourquoi : le calcul du taux d'encrage (TAC) nécessite une rastérisation page par page en séparations CMJN. C'est un processus intensif en CPU, surtout sur les fichiers haute résolution.

Contournement : un message de progression s'affiche pendant l'analyse. Le timeout est fixé à 90 secondes — au-delà, l'analyse est interrompue et vous pouvez la relancer.

Évolution prévue : traitement asynchrone en arrière-plan avec notification à la fin.

Comment comparer deux versions d'une page et télécharger le rapport ?

Quand vous re-uploadez un fichier sur une page, BatInBox conserve automatiquement les versions précédentes. Vous pouvez alors comparer visuellement les deux versions :

1. Ouvrir la page : cliquez sur une page dans le chemin de fer pour accéder au détail.

2. Lancer la comparaison : dans la toolbar, cliquez sur le bouton Comparer (icône curseurs). Sélectionnez la version précédente à comparer. Un overlay avec un curseur glissant apparaît — glissez-le pour voir les différences entre les deux versions.

3. Télécharger le rapport PDF : pendant que la comparaison est active, un bouton vert Rapport apparaît dans la toolbar. Cliquez dessus pour générer et télécharger un rapport PDF contenant les images comparatives, les zones de différence et les statistiques.

Options avancées :

• Seuil de sensibilité : ajustez le slider "Fuzz" (0-50%) pour ignorer les micro-différences
• Zones d'exclusion : dessinez des rectangles sur les zones à ignorer (logos récurrents, dates qui changent)
• Le rapport inclut ces paramètres dans ses statistiques

Comprise dans les offres Note+ Pro, Enterprise et Enterprise+, sans option à ajouter. Nécessite au moins 2 versions du fichier.

Formats de fichiers supportés
FormatTypeUsage
PDFDocumentFormat principal. Multi-pages supporté. Analyse Preflight complète.
JPEG / JPGImagePhotos, visuels. Affichage direct dans le viewer.
PNGImageImages avec transparence. Affichage direct.
TIFF / TIFImageImages haute résolution professionnelles.
MP4 / MOVVidéoVidéos pour porte-documents. Lecture intégrée + annotations temporelles.

Taille maximale : dépend de votre plan (stockage inclus + extensions). Les fichiers sont stockés de manière sécurisée et ne sont jamais modifiés.

Aïda — Assistant IA

Qu'est-ce qu'Aïda ?

Aïda est l'assistant IA intégré à BatInBox (basé sur Claude d'Anthropic). Elle vous aide à :

  • Détecter les fautes d'orthographe dans le texte de vos PDF
  • Repérer les fautes de typographie française (espaces insécables, guillemets « », ponctuation)
  • Vérifier la conformité à votre charte graphique (couleurs et polices)
  • Résumer les annotations laissées par vos collaborateurs
  • Comparer 2 versions d'un document et localiser les différences

Aïda travaille de façon asynchrone : vous lancez une analyse d'un clic, vous continuez à travailler, les résultats apparaissent dans le panneau dédié dès qu'ils sont prêts.

Comment vérifier l'orthographe et la typographie d'une page ?

Sur la page d'un document (vue détail) :

  1. Repérez le panneau Aïda — Ortho / Typo dans la colonne de droite
  2. Cliquez sur Ortho pour la détection orthographique, ou Typo pour la typographie française
  3. Au bout de quelques secondes, les suggestions s'affichent (texte original barré + correction proposée + sévérité)
  4. Cliquez Accepter pour valider une correction (l'annotation reste dans l'historique) ou Ignorer pour la masquer

Les annotations IA sont matérialisées par une bbox jaune autour du mot exact dans le PDF.

Mon client voit-il les suggestions d'Aïda avant que je les aie relues ?

Non. Une suggestion d'Aïda (orthographe, typographie, conformité à la charte) reste invisible à toute personne qui accède au document via un lien de partage, tant que vous ne l'avez pas relue dans le panneau dédié.

Pour une suggestion d'orthographe ou de typographie, deux façons de la faire apparaître au porteur du lien :

  • Cliquez Accepter : la suggestion devient une remarque normale, visible et positionnée sur le document, comme si vous l'aviez posée vous-même.
  • Cliquez Ignorer : elle disparaît définitivement, sans jamais être montrée.

Pour une suggestion de conformité à la charte, Accepter ou Ignorer la retire simplement de votre liste à traiter : dans les deux cas, elle reste une information interne à l'agence et n'apparaît jamais au porteur du lien.

Ce comportement protège votre client d'une critique automatique non triée, potentiellement imprécise, avant qu'un correcteur de votre équipe ne l'ait validée.

Comment configurer la charte graphique d'un dossier ?

Aïda peut détecter automatiquement votre charte (couleurs et polices) à partir des pages déjà importées dans votre dossier.

  1. Ouvrez les paramètres du dossier (icône engrenage)
  2. Descendez jusqu'à la section Charte graphique
  3. Cliquez sur Détecter automatiquement (IA) — l'analyse prend 30 à 60 secondes
  4. Vérifiez les couleurs et polices proposées, ajustez si nécessaire (ajout/suppression manuels)
  5. Complétez le brief charte avec vos règles spécifiques (espacement, ton, hiérarchie typo…)
  6. Cliquez Enregistrer la charte

Une fois la charte enregistrée, le bouton Vérifier la charte devient utilisable sur chaque page du dossier.

Comment vérifier qu'une page respecte la charte graphique ?

Sur la vue détail d'une page :

  1. Repérez le panneau Aïda — Charte graphique (colonne de droite)
  2. Cliquez sur Vérifier la charte
  3. Au bout de 10 à 30 secondes, les écarts détectés s'affichent (couleur hors palette, police non autorisée…) avec leur niveau de sévérité
  4. Validez ou ignorez chaque écart

Si aucune charte n'est définie pour le dossier, un message vous redirige vers les paramètres pour la créer.

Mes données sont-elles envoyées à Anthropic ?

Oui : pour effectuer une analyse, le contenu textuel ou l'image hires de la page concernée est transmis à l'API Anthropic (Claude Haiku). Les données :

  • ne sont pas utilisées pour l'entraînement des modèles Claude (politique Anthropic standard)
  • ne sont pas stockées côté Anthropic au-delà du temps nécessaire à l'inférence
  • ne sont envoyées que sur déclenchement manuel de votre part (clic sur un bouton d'analyse)

Si vous traitez des documents très sensibles, n'utilisez pas les fonctions Aïda sur ces pages.

Pourquoi certaines suggestions sont imprécises ?

Aïda est un assistant, pas un correcteur infaillible. L'IA peut :

  • Manquer une faute (faux négatif)
  • Proposer une correction non pertinente dans votre contexte (faux positif) — particulièrement pour les noms propres, jargon métier ou marques déposées
  • Être moins précise sur la détection des couleurs CMJN (l'IA voit le rendu RGB)

Considérez Aïda comme un premier passage : la décision finale appartient toujours à un humain. C'est pourquoi chaque suggestion peut être acceptée ou ignorée individuellement.

Compte & Accès

Résoudre les problèmes de connexion

1. Identifiants invalides

Vérifiez que vous utilisez le bon email (celui de l'invitation) et le bon mot de passe. Le mot de passe doit faire au minimum 8 caractères.

2. Mot de passe oublié

Cliquez sur "Mot de passe oublié" sur la page de connexion. Un email de réinitialisation vous sera envoyé (vérifiez vos spams).

3. Mauvais espace de travail

Chaque tenant a son propre domaine (ex: monentreprise.noteplus.fr). Vérifiez que vous êtes sur la bonne URL.

4. Session expirée

Pour des raisons de sécurité, les sessions expirent après une période d'inactivité. Reconnectez-vous simplement.

Si le problème persiste, contactez l'administrateur de votre espace de travail.

Gestion des abonnements et facturation

Accédez à la gestion de votre abonnement depuis Paramètres → Abonnement.

Vous y trouverez :

• Votre plan actuel et ses quotas (utilisateurs, stockage, fonctionnalités)
• Les options activées (IA, Packaging, utilisateurs supplémentaires)

La facturation est manuelle : vos factures sont émises par Graphique Alliance et se règlent par virement. Pour changer de plan ou d'option, contactez-nous.

À propos du stockage inclus dans votre plan

L'espace indiqué dans votre plan (10 Go, 100 Go, 500 Go...) couvre l'ensemble de votre environnement de production : vos PDF originaux, mais aussi les aperçus haute résolution générés automatiquement, les miniatures de navigation, la base de données dédiée à votre espace, et les exports.

En pratique, vos fichiers sources (PDF et images) n'occupent que 20 à 30 % de l'espace total — le reste est mobilisé par l'infrastructure qui garantit la fluidité et la rapidité de l'application.

Votre espace est hébergé sur le cloud privé Graphique Alliance, une infrastructure haut de gamme entièrement sécurisée et localisée en France.

Besoin de plus d'espace ? Ajoutez des tranches de 10 Go à 9 €/mois depuis Paramètres → Abonnement.

Administration

Multi-tenant : comprendre les espaces de travail

BatInBox fonctionne en architecture multi-tenant : chaque organisation dispose de son propre espace de travail isolé.

Ce que ça signifie pour vous :

• Chaque espace a son propre domaine (ex: agence-dupont.noteplus.fr)
• Les données sont totalement isolées : base de données séparée, fichiers séparés
• Les utilisateurs d'un espace ne voient jamais les données d'un autre espace
• Chaque espace a son propre plan, ses propres paramètres et ses propres rôles

Rôles dans un espace :

• Administrateur : accès complet (paramètres, utilisateurs, facturation)
• Éditeur : création de dossiers, upload, annotations
• Opérateur : gestion des statuts, annotations
• Validateur : consultation, annotation, approbation BAT
• Visiteur : consultation seule

Plans & Tarifs

Quels sont les plans disponibles ?

Note+ (publication professionnelle) : Pro à 299 EUR/mois, Enterprise à 499 EUR/mois.

Tous les prix sont avec engagement annuel. Sans engagement : +20%.

Quelle différence entre engagement annuel et sans engagement ?

Engagement annuel : le prix mensuel affiché sur le site. Facturation annuelle en une fois.

Sans engagement : majoré de 20%. Facturation mensuelle, arrêt possible à tout moment en fin de mois.

Les prix incluent-ils la TVA ?

Non. Les prix affichés sont hors taxes (HT). La TVA applicable (20% en France) est ajoutée à la facturation.

Puis-je essayer gratuitement ?

Oui. 14 jours d'essai gratuit, toutes fonctionnalités incluses, sans aucun règlement à l'inscription.

À la fin de l'essai, si vous ne souscrivez pas, l'accès est suspendu. Vos données sont conservées 30 jours.

Options & Add-ons

Quelles options sont disponibles et pour quels plans ?
OptionPrixDisponibilitéRetirable
Module Aïda (IA)99 EUR/moisToutes les offresFin de période
Prépresse & Production69 EUR/mois avec engagement, 83 EUR/mois sans engagementToutes les offresFin de période
Preflight Fogra 39 / 5169 EUR/mois avec engagement, 83 EUR/mois sans engagementToutes les offresFin de période
Pack imprimeur (Preflight Fogra 39 / 51 + Prépresse & Production)99 EUR/mois avec engagement, 119 EUR/mois sans engagementToutes les offres, Note+ et BatInBoxFin de période
+1 utilisateur9 EUR/moisTous les plansNon (définitif)
+10 Go stockage9 EUR/moisTous les plansNon (définitif)
Les options suivent-elles la même période que le plan ?

Oui. Le plan est le contrat maître. Toutes les options sont facturées sur la même période :

PlanFacturation options
Engagement annuelOptions facturées annuellement
Sans engagementOptions facturées mensuellement

Il n'est pas possible de prendre un plan annuel et une option au mois.

Puis-je désactiver le module Aïda (IA) ou Packaging ?

Oui, mais sans remboursement :

Engagement annuel : le module reste actif jusqu'à la fin de la période annuelle. Vous avez payé, vous utilisez jusqu'au bout.

Sans engagement : désactivation en fin de mois en cours.

Pourquoi les utilisateurs et le stockage supplémentaires sont-ils définitifs ?

Pour éviter les abus : acheter 50 utilisateurs pour configurer tous les comptes, puis repasser à 5 en conservant les données et les configurations.

À 9 EUR/mois, c'est un engagement minimal pour une ressource effectivement consommée. Si vous avez un besoin ponctuel, contactez le support.

Changement de plan

Puis-je passer à un plan supérieur ?

Oui. L'upgrade est immédiat. Le prorata est calculé automatiquement sur la période restante. Les nouvelles fonctionnalités sont disponibles instantanément.

Puis-je passer à un plan inférieur (downgrade) ?

Non. Le downgrade n'est pas autorisé en self-service. Si vous souhaitez descendre en gamme, contactez le support — une solution sera étudiée au cas par cas.

Tableau récapitulatif des règles
ActionAutoriséConditions
Upgrade de planOuiProrata immédiat
Downgrade de planNonContacter le support
Ajouter option IA/PrépresseOuiToutes les offres, Starter compris
Retirer option IA/PrépresseFin de périodePas de remboursement
Ajouter utilisateurs/stockageOuiTous plans
Retirer utilisateurs/stockageNonDéfinitif
Annuler abonnementFin de périodeDonnées conservées 30j

Facturation & Paiement

Quels moyens de paiement acceptez-vous ?

Le règlement s'effectue par virement, sur facture émise par Graphique Alliance.

Où trouver mes factures ?

Vos factures vous sont envoyées par Graphique Alliance. Pour en obtenir un double, contactez-nous.

Que se passe-t-il en cas d'impayé ?

En cas de facture impayée, Graphique Alliance vous contacte pour régulariser. Les conditions de suspension et de résiliation sont celles des conditions générales de vente.

Puis-je obtenir un remboursement ?

Engagement annuel : pas de remboursement en cas de résiliation anticipée ou de désactivation d'option.

Sans engagement : pas de remboursement sur le mois entamé.

Essai gratuit : rien à rembourser.

Sécurité & Données

Mes données sont-elles sécurisées ?

Isolation complète : chaque client a sa propre base de données. Vos données ne sont jamais mélangées.

Chiffrement : HTTPS (TLS 1.2+) pour toutes les communications.

Hébergement France : serveurs OVHcloud, datacenters français.

Sauvegardes quotidiennes : conservées 7 jours.

BatInBox modifie-t-il mes fichiers PDF ?

Jamais. Le fichier original (haute résolution) n'est jamais modifié. Les annotations sont stockées séparément. Le fichier téléchargé est toujours l'original intact.

Que se passe-t-il avec mes données si j'annule ?

1. 30 jours : données conservées, accès suspendu. Export possible via le support.

2. Après 30 jours : suppression définitive de toutes les données.

API & Webhooks

Comment utiliser l'API REST ?

1. Allez dans Paramètres > API & Webhooks

2. Créez une clé API avec les scopes souhaités (read, write, admin)

3. Utilisez le header Authorization: Bearer <votre-cle>

La clé n'est visible qu'une seule fois à la création — copiez-la immédiatement.

Comment configurer un webhook ?

1. Paramètres > API & Webhooks > Nouveau webhook

2. URL HTTPS de votre serveur + événements à écouter

3. Chaque requête est signée HMAC-SHA256 — vérifiez le header X-NP-Signature

Auto-désactivation après 10 échecs consécutifs.

Vérifier la signature reçue : recalculez la signature sur le corps brut de la requête (avant tout parsing JSON) avec le secret de l'endpoint, puis comparez-la au header X-NP-Signature avec une comparaison en temps constant — jamais == ou === sur une chaîne secrète, une comparaison naïve fuit un temps de réponse exploitable. Ces trois exemples servent aussi à bâtir un script de vérification externe, par exemple appelé par un élément « Run Script » d'Enfocus SWITCH, dont le module Webhook ne calcule pas nativement de HMAC.

PHP

<?php
declare(strict_types=1);

// Usage : php verify-webhook.php <fichier-corps-brut> <signature-recue>
// Le secret est lu dans la variable d'environnement NOTEPLUS_WEBHOOK_SECRET
// (Paramètres > API & Webhooks > copier le secret de l'endpoint).
[$bodyFile, $signatureRecue] = [$argv[1], $argv[2]];
$secret = getenv('NOTEPLUS_WEBHOOK_SECRET');

$rawBody = file_get_contents($bodyFile); // corps BRUT reçu, avant tout json_decode()
$signatureCalculee = hash_hmac('sha256', $rawBody, $secret);

// hash_equals() compare en temps constant : jamais === sur une chaîne secrète,
// une comparaison naïve fuit un temps de réponse exploitable (timing attack).
if (hash_equals($signatureCalculee, $signatureRecue)) {
    echo "Résultat : signature valide\n";
    exit(0);
}

echo "Résultat : signature invalide\n";
exit(1);

Node.js

// Usage : node verify-webhook.js <fichier-corps-brut> <signature-recue>
// Le secret est lu dans la variable d'environnement NOTEPLUS_WEBHOOK_SECRET
// (Paramètres > API & Webhooks > copier le secret de l'endpoint).
const fs = require('fs');
const crypto = require('crypto');

const [, , bodyFile, signatureRecue] = process.argv;
const secret = process.env.NOTEPLUS_WEBHOOK_SECRET;

const rawBody = fs.readFileSync(bodyFile); // corps BRUT reçu, avant tout JSON.parse()
const signatureCalculee = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');

// crypto.timingSafeEqual() compare en temps constant : jamais === sur une chaîne
// secrète, une comparaison naïve fuit un temps de réponse exploitable.
const bufCalculee = Buffer.from(signatureCalculee, 'hex');
const bufRecue = Buffer.from(signatureRecue, 'hex');
const valide = bufCalculee.length === bufRecue.length
    && crypto.timingSafeEqual(bufCalculee, bufRecue);

console.log(`Résultat : signature ${valide ? 'valide' : 'invalide'}`);
process.exit(valide ? 0 : 1);

Python

import sys
import os
import hmac
import hashlib

# Usage : python verify-webhook.py <fichier-corps-brut> <signature-recue>
# Le secret est lu dans la variable d'environnement NOTEPLUS_WEBHOOK_SECRET
# (Paramètres > API & Webhooks > copier le secret de l'endpoint).
body_file, signature_recue = sys.argv[1], sys.argv[2]
secret = os.environ["NOTEPLUS_WEBHOOK_SECRET"]

with open(body_file, "rb") as f:
    raw_body = f.read()  # corps BRUT reçu, avant tout json.loads()

signature_calculee = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()

# hmac.compare_digest() compare en temps constant : jamais == sur une chaîne
# secrète, une comparaison naïve fuit un temps de réponse exploitable.
if hmac.compare_digest(signature_calculee, signature_recue):
    print("Résultat : signature valide")
    sys.exit(0)

print("Résultat : signature invalide")
sys.exit(1)

Langues

Quelles langues sont disponibles ?
LangueInterfaceViewer publicEmails
FrançaisCompletCompletComplet
EnglishCompletCompletComplet
EspañolCompletCompletComplet
العربية (Arabe)LightCompletComplet

L'arabe est disponible en version light : viewer public (validation BAT), emails et pages de connexion. Le back-office complet est en français, anglais ou espagnol.

Comment changer la langue de l'interface ?

Par utilisateur : Menu utilisateur → Mon profil → Sélecteur de langue. Choisissez parmi Français, English, Español, العربية ou Auto (langue du tenant). Le changement prend effet immédiatement.

Par tenant (admin) : L'administrateur définit la langue par défaut du tenant. Tous les utilisateurs qui n'ont pas choisi de langue personnelle verront l'interface dans cette langue.

Mon équipe est multilingue — chacun peut avoir sa langue ?

Oui. Chaque utilisateur choisit sa langue dans son profil. Un designer français, un client anglophone et un prestataire espagnol peuvent travailler sur le même dossier, chacun dans sa langue.

Les données (noms de dossiers, annotations, commentaires) restent dans la langue de l'auteur — seule l'interface est traduite.

Les invitations et le viewer public respectent-ils la langue ?

Le viewer public (lien de validation BAT envoyé par email) utilise la langue du tenant. Les boutons "Valider" / "Refuser" et les labels sont traduits.

Les emails d'invitation sont envoyés dans la langue du tenant.

Juridique & Conformité

Pages légales et conformité RGPD

Mentions légales : BatInBox est édité par GRAPHIQUE ALLIANCE, SASU au capital de 36 000 EUR, siège social 50 rue Laudinat 33130 Bègles. SIREN 500 482 641, RCS Bordeaux.

Protection des données (RGPD) :

• Vos données sont hébergées en France (OVHcloud)
• Chaque espace de travail dispose de sa propre base de données isolée
• Les communications sont chiffrées en HTTPS (TLS 1.2+)
• Les fichiers PDF originaux ne sont jamais modifiés
• Sauvegardes quotidiennes, conservées 7 jours

Vos droits : accès, rectification, suppression, portabilité. Contactez-nous à l'adresse indiquée dans nos mentions légales.

Sous-traitants : OVHcloud (hébergement, certifié ISO 27001). DPA disponibles sur demande.

Consultez nos mentions légales, CGV et politique de confidentialité pour le détail complet.