Relier le lecteur à un outil de suivi de production, y lire une playlist et y publier les notes de la revue : Bernard Engine, puis Kitsu, ftrack et Flow Production Tracking.
Un tracker de production tient la liste des plans, des versions et des tâches d'un film. Bernard Review peut y lire une playlist à revoir, puis y renvoyer les notes et les images annotées, plan par plan. Rien ne part tout seul : chaque échange est un clic, ou une commande d'un script.
Bernard Engine est l'outil de suivi de production d'AArts Lab, l'éditeur de Bernard Review ; c'est un produit distinct, vendu séparément, qui sera bientôt open source.
Dans cette version, Bernard Engine (coming soon) figure en tête de la liste Tracker de l'onglet Review Notes mais ne peut pas encore être choisi : la publication directe vers Bernard Engine arrive bientôt. En attendant, un pipeline relié à Bernard Engine échange avec le lecteur par la voie des scripts :
.bpl, dont chaque plan porte les identifiants du tracker (bloc x_tracking) ;Le détail est dans Intégrations.
File > Tracker... ouvre la fenêtre Tracker. Elle flotte au départ et s'ancre comme tout autre panneau. Les appels au tracker tournent à part : le lecteur n'attend jamais le réseau, et Cancel arrête l'appel en cours.

Un site, c'est un tracker et votre compte dessus. Add demande le type, puis :
| Type | Champs |
|---|---|
| Kitsu | l'adresse du site, votre e-mail, votre mot de passe |
| ftrack | l'adresse du site, l'utilisateur API, la clé API |
| Flow | l'adresse du site, le nom du script, la clé du script |
Une infobulle sur chaque champ dit où le trouver : pour Flow, Admin > Scripts > + Script (la clé ne s'affiche qu'une fois, à la création du script : copiez-la alors) ; pour ftrack, My Account > API key ; pour Kitsu, l'e-mail et le mot de passe avec lesquels vous vous connectez au site.
Pour tous : un proxy, un fichier d'autorité de certification pour un studio qui a la sienne, le Path map (un chemin du studio et ce qu'il devient sous Windows, Linux et macOS) et le Status map (les statuts du lecteur, pending, approved et not approved, et celui du tracker pour chacun).
L'adresse doit commencer par https:// ; http:// n'est accepté que vers ce poste lui-même (localhost), par exemple pour un tunnel SSH vers un tracker de test.
Les secrets. Le champ du mot de passe ou de la clé est masqué. Avec Remember coché, le secret va dans le magasin d'identifiants du système (Gestionnaire d'identification Windows, Secret Service sous Linux, trousseau macOS), et seulement une fois accepté par le tracker. Sans magasin, le panneau affiche stored without encryption : le secret va dans un fichier de votre profil lisible par vous seul. Un pipeline peut aussi le fournir par la variable BERNARD_TRACKER_<ID>_SECRET (le nom du site en capitales), qui l'emporte : le panneau affiche alors secret from the environment. Le fichier des sites, trackers.json, ne contient jamais de secret.
Save & Test garde le site et se connecte ; Test se reconnecte et affiche l'utilisateur reconnu, ou l'erreur ; Forget retire le site et son secret.
Choisissez le projet, puis la playlist ; un filtre raccourcit la liste. L'aperçu indique pour chaque plan où est son média : local (le chemin donné par le tracker), mapped (ce chemin, à travers le Path map) ou not local. Replace remplace la playlist, Append ajoute à la suite.
Un plan dont le média n'est pas sur ce poste est gardé avec ses identifiants et reste publiable ; il n'est jamais ouvert, exporté ni envoyé aux invités d'une séance, et la lecture continue le saute.
Les aperçus. Rien n'est téléchargé au chargement. Quand des plans ne sont pas sur ce poste, une question suit le chargement : 3 shots are not on this machine (4.5 MB). (3 plans ne sont pas sur cette machine). Download All (tout télécharger) les récupère dans l'ordre de la playlist, un à la fois, seulement quand rien ne joue, et chaque plan se joue dès qu'il est arrivé ; Later (plus tard) ne télécharge rien. Quand Kitsu, ftrack ou Flow héberge le média, un bouton Download preview récupère aussi un plan dans votre profil, où il est gardé 7 jours par défaut (Edit > Preferences... > Cache & Performance > Keep downloaded previews (days)). Un aperçu de plus de 2 Go est refusé. Pour Flow, c'est le film déposé sur la Version (le champ Uploaded Movie, sg_uploaded_movie ; un autre nom se règle avec la clé uploaded_movie des champs du site) : il ne sert que si le chemin de la Version (Path to Movie, Path to Frames, à travers le Path map) n'est pas sur ce poste.
Les installeurs enregistrent le lien bernardreview:// (Windows : sous le Software\Classes de l'installation, retiré par la désinstallation ; Linux : le type x-scheme-handler/bernardreview de l'entrée de bureau du lecteur). Un administrateur Flow ajoute l'entrée une fois, dans Flow : Admin > Action Menu Items, un nouvel élément avec l'URL bernardreview://flow, les Entity Types Version et Playlist, et le titre Open in Bernard Review (Flow ajoute ses propres données à l'adresse ; rien d'autre à régler). Un clic droit sur des versions ou sur une playlist montre alors l'entrée ; le navigateur demande une fois s'il peut ouvrir Bernard Review.
Depuis Kitsu. L'entrée de Kitsu est une custom action (la page Custom Actions du menu administrateur), montrée seulement quand des tâches sont sélectionnées (pages Shots, Assets...), pas sur la page Playlists. Kitsu envoie la sélection dans un formulaire caché, qu'une adresse bernardreview:// ne peut pas porter : l'URL de la custom action est une petite page relais, qui en fait bernardreview://kitsu?entity_type=Task&selected_ids=<les tâches>&project_id=<le projet>&server_hostname=<l'hôte de votre Kitsu> et ne garde rien (elle doit retirer l'e-mail que Kitsu ajoute). Chaque tâche sélectionnée s'ouvre sur sa dernière preview, dans l'ordre de la sélection, sur la première ; le reste est comme pour Flow (un site Kitsu réglé ici, Replace / Append, Download preview). La page relais : le serveur relais de Bernard Review en proposera une ; un studio qui veut l'héberger lui-même prend tools/kitsu_relay.py (un seul fichier, bibliothèque standard de Python) : lancé par n'importe quel serveur WSGI derrière votre adresse HTTPS (son application), ou seul pour l'essayer (python kitsu_relay.py --host 127.0.0.1 --port 8765). Elle voit passer l'e-mail et les ids des tâches que Kitsu envoie, n'en garde ni n'en journalise aucun, vérifie chaque id comme un id Kitsu et le serveur comme un nom de site, et répond aussitôt par le lien. Puis, dans Kitsu, une nouvelle custom action : Name Open in Bernard Review, URL l'adresse https de la page, Entity type All, AJAX décoché.
Depuis ftrack. Une action ftrack n'est pas une adresse : quand vous ouvrez le menu Actions sur une sélection, ftrack demande à un programme qui tourne sur votre ordinateur ce qu'il propose. Ce programme est tools/ftrack_action.py (un seul fichier) : aucun droit d'administrateur, rien n'est ajouté au site ftrack, mais l'entrée n'apparaît que dans votre menu Actions et seulement pendant qu'il tourne. Lancez-le avec ftrack Connect (comme un plugin à part, bernard-review/hook/ftrack_action.py, dans le dossier des plugins de Connect ou dans un dossier listé dans FTRACK_CONNECT_PLUGIN_PATH, puis relancez Connect), ou seul : python ftrack_action.py avec FTRACK_SERVER, FTRACK_API_USER (votre nom d'utilisateur ftrack, le même que dans File > Tracker...) et FTRACK_API_KEY (votre clé d'API personnelle) définis, et l'API Python de ftrack installée (ftrack-python-api). Open in Bernard Review est alors proposé sur des versions (une ou plusieurs : seulement celles-là, dans l'ordre de la sélection, sur la première) et sur une liste de versions ou une séance de revue (toute entière, comme une playlist choisie dans la fenêtre Tracker). Le clic ouvre bernardreview://ftrack?entity_type=Version&selected_ids=<les versions>&server_hostname=<l'hôte de votre ftrack> sur cet ordinateur ; le reste est comme pour Flow (un site ftrack réglé ici, Replace / Append, Download preview). Le programme ne garde ni ne journalise rien, vérifie chaque id comme un id ftrack et le serveur comme un nom de site, et ne met ni votre nom d'utilisateur ni votre clé dans le lien. ftrack n'envoie que la sélection, jamais les versions affichées autour : une version cliquée ouvre celle-là.
Linux, l'installeur .sh. Les paquets DEB et RPM sont pris en compte par le bureau tout de suite. Après le .sh, lancez une fois : update-desktop-database ~/.local/share/applications (l'entrée de bureau copiée là), puis xdg-mime default bernardplayer.desktop x-scheme-handler/bernardreview.
La section Publish, qu'ouvre aussi File > Publish Notes to Tracker..., liste les plans qui ont une note ou au moins un dessin. Seuls ceux chargés depuis le site connecté peuvent être cochés.
Reviewer: suivi de votre nom, puis la note du plan, puis un repère [f1042] 00:00:43:10 par image annotée, avec le numéro et le timecode que montre l'onglet Review Notes ([f1042] seul sans timecode). Note text montre ce texte exact avant tout envoi.En haut de l'onglet Review Notes (et, en Essential, à côté de la pastille du tracker), Publish (N) apparaît quand un tracker est connecté : N est ce qui n'est pas encore parti, une note avec ses dessins ou un statut changé seul. Il ouvre la fenêtre de publication avec Publish status coché ; il est grisé à 0.
Les mêmes opérations existent en commandes pour les scripts (tracker-sites, tracker-connect, tracker-publish...) : voir API Python et IPC. Aucun secret ne passe par ces commandes.
Pour aller plus loin : le manuel complet, partie 6.6 (Help > User Guide).