USER GUIDE
Manuel Firescope
De l'installation à l'utilisation quotidienne, ce guide se lit dans l'ordre et vous permet de démarrer immédiatement. Toutes les images sont des captures d'écran réelles de l'application.
Installation
- Depuis Téléchargement, récupérez le fichier
.dmgpour Mac (Apple Silicon ou Intel, au choix). - Ouvrez le
.dmgtéléchargé, puisglissez l'icône Firescope dans le dossier « Applications ». - Lancez Firescope depuis le dossier Applications.
Windows
- Depuis Téléchargement, récupérez
Firescope-Setup.exeet exécutez-le. - Si un avertissement SmartScreen apparaît au premier lancement, cliquez sur« Informations complémentaires » → « Exécuter quand même ».
Configuration initiale (langue et thème)
Au premier lancement, un assistant de configuration en 4 étapes s'ouvre. Commencez par choisir la langue d'affichage (9 langues intégrées : japonais, anglais, 简体中文, 繁體中文, 한국어, Español, Português, Français et Deutsch). Le changement s'applique instantanément à l'écran, alors n'hésitez pas à essayer pour voir.

Ensuite, choisissez le thème visuel. Dix thèmes sont proposés, dont Light et Dark. Là aussi, un clic affiche l'aperçu immédiatement.

Se connecter à Firestore
La connexion utilise une clé privée de compte de service Firebase (JSON). Si vous n'en avez pas encore, l'écran vous guide pour en obtenir une en moins d'une minute.

- Cliquez sur « Ouvrir la page de configuration du compte de service » pour ouvrir la page correspondante de la console Firebase dans votre navigateur (chemin : Paramètres du projet → Comptes de service).
- Cliquez sur « Générer une nouvelle clé privée » pour télécharger le fichier JSON.
- Revenez dans Firescope, puis choisissez le JSON téléchargé via « Sélectionner un fichier JSON pour se connecter ». Vous pouvez aussisélectionner plusieurs fichiers JSON de projets différentspour vous connecter à tous en même temps.
- Choisissez l'environnement de connexion (Développement / Test / Staging / Production). Il apparaît dans la barre latérale sous forme de libellé coloré, etle niveau des garde-fous de sécurité en dépend directement.
Consulter les données
Ouvrez une connexion dans la barre latérale et cliquez sur une collection : les documents s'affichent dans un tableau. Chaque en-tête de colonne porte un badge de type (string / int / time, etc.), ce qui permet de voir la structure des données en un coup d'œil.

- Cliquez sur une ligne pour afficher tous les champs du document dans le panneau de droite.
- Le tri, le nombre de résultats affichés et la recherche par groupe (collection group) se règlent depuis la barre d'outils.
- Le nombre de lectures est en permanence visible dans la barre d'état (utile pour estimer la facturation).
⌘P naviguer entre les collections par nom
⌘K rechercher un document par ID, tous documents confondus
⌘F donner le focus à la recherche de collections de la barre latérale
Noms logiques (affichage traduit des champs)
Un nom de champ en anglais comme carryingOutCoffinMasterId peut être affiché sous unnom logique, par exemple en français. Lebascule « Noms logiques » de la barre d'outils permet à tout moment de passer du nom physique au nom logique, et inversement.
- Le dictionnaire se modifie depuis l'icône 📖 de la barre d'outils. Deux niveaux de portée sont disponibles : « commun à toute la connexion » et « propre à cette collection uniquement » (surcharge).
- « Traduction automatique » remplit d'un coup les champs vides à l'aide du dictionnaire intégré et d'une API de traduction gratuite.
- « Ouvrir Google Traduction » ouvre la page de traduction avec les noms de champs déjà mis en forme en anglais : il ne reste qu'à copier la traduction et revenir dans l'application pour l'appliquer en une fois.
- Un clic droit sur un en-tête de colonne → « Définir le nom logique… » permet de modifier immédiatement cette seule colonne.
- Le badge de type dans l'en-tête (string / int, etc.) peut être affiché ou masqué via le bascule « Afficher les types ».
Onglets et groupes
Un clic droit sur une collection → « Afficher dans un nouvel onglet » permet de multiplier les onglets, comme dans un navigateur. Les onglets peuvent être regroupés en groupes, à la façon de Chrome.

- Clic droit sur un onglet → « Ajouter à un nouveau groupe » pour créer un groupe. Vous pouvez lui donner un nom et une couleur.
- Cliquer sur la puce d'un groupe le replie ou le déplie.
- Double-cliquer sur un onglet permet de changer son nom et sa couleur de fond.
- Le glisser-déposer permet de réordonner les onglets et de les déplacer entre groupes.
- L'état des onglets est restauré après redémarrage (cette option peut être désactivée dans les réglages).
Vue scindée
Un clic droit sur une collection → « Afficher scindé à droite » permet d'aligner deux collections côte à côte. Pratique pour rapprocher des données maîtres et des transactions.

- Vous pouvez aussi scinder la vue en glissant une collection depuis la barre latérale vers le bord gauche ou droit de l'écran.
- Glisser la puce d'un volet permet d'échanger les côtés ou de l'extraire dans un nouvel onglet.
- L'état de la scission est conservé pour chaque onglet.
Suivi en temps réel
En cliquant sur « Surveiller » dans la barre d'outils, les changements de la collection affichée sont répercutés en direct dans la grille. Ce qu'écrit une autre application ou votre serveur apparaît directement, sans recharger la page.
- Une boîte de dialogue, avant le démarrage, permet de restreindre par condition (champ, valeur), tri et nombre de résultats.
- Le flux de changements à droite liste dans l'ordre chronologique les ajouts, mises à jour et suppressions, en indiquant même quels champs ont changé.
- Le suivi est en lecture seule. Les écritures effectuées pendant la surveillance passent normalement par le pipeline de sécurité.
- Cinq suivis au maximum peuvent tourner simultanément.
- Le suivi s'arrête automatiquement au bout d'une durée définie (modifiable dans les réglages), afin d'éviter une consommation excessive de lectures.
Modifier les données
Double-cliquez sur une cellule pour l'éditer sur place.Entrée valide, Échap annule. Les types (int, timestamp, etc.) sont préservés lors de l'écriture.

Toute écriture passe par le pipeline de sécurité :
- Confirmation — une boîte de dialogue apparaît selon le libellé d'environnement × le risque de l'opération. Les opérations destructrices en production exigentde saisir l'ID du projet.
- Sauvegarde automatique — les documents concernés sont mis en instantané avant l'exécution.
- Exécution — l'écriture est effectuée.
- Journal d'audit — enregistré qu'il y ait succès ou échec (consultable depuis « Journal d'audit » dans la barre inférieure).
Sauvegarde et restauration
Les instantanés pris juste avant une opération destructrice s'accumulent dans« Sauvegardes », dans la barre inférieure. En sélectionner un ouvre unaperçu de restaurationoù vous pouvez vérifier les différences (recréer / écraser / inchangé) avant de restaurer.

- ⌘Z (ou l'icône ↩︎ de la barre latérale) permet derestaurer immédiatement la dernière écriture.
- Au-delà du nombre maximal de générations, les instantanés les plus anciens sont supprimés. Épinglez 📌 ceux que vous souhaitez conserver.
Console
Dans « Console », dans la barre latérale, écrivez vos requêtes en JavaScript, dans le style firebase-admin. ⌘Entrée exécute la requête, dont le résultat s'affiche dans un tableau avec types annotés.

const snap = await db.collection('orders')
.where('status', '==', 'paid')
.orderBy('amount', 'desc')
.limit(20)
.get();
return snap.docs.map((d) => ({ id: d.id, ...d.data() }));- Pour ceux qui préfèrent la souris, un constructeur visuel (récupérer / mettre à jour / créer / supprimer) est aussi disponible. Les conditions ainsi composées peuvent être converties en JS via « Reporter dans le code ».
- Le code contenant des écritures s'exécute dans l'ordresimulation (dry-run) → aperçu des écritures → application, ce qui évite toute modification imprévue des données.
- La vue de jointure (join) entre collections est également prise en charge.
Import/export CSV
Export
En cliquant sur « Export CSV » dans la barre d'outils d'une collection, le résultat de la requête actuellement affichée (filtres et tri inclus) peut être enregistré en CSV. L'en-tête porte une annotation de type, ce qui garantit que les types ne se perdent pas lors d'une réimportation ultérieure.
Import

- Dans la barre d'outils, « Importer » → sélectionnez un fichier CSV (le Shift_JIS est détecté automatiquement).
- Vérifiez le type de chaque colonne, ainsi que le mode (upsert / création seule / mise à jour seule).
- « Vérifier le nombre » affiche un aperçu des documents créés et écrasés.
- « Lancer l'import » → après une boîte de dialogue de confirmation, les données sont importées. Les documents écrasés sont sauvegardés automatiquement avant l'exécution.
Vérification de schéma (détection des écarts de schéma)
Un clic droit sur une collection →« Vérification de schéma… »lit l'ensemble de la collection et détecte automatiquementles champs aux types mélangés, les champs absents seulement sur certains documents, ainsi que les champs rares potentiellement liés à une faute de frappe(limite de 20 000 documents).
- Les champs manquants regroupés sur les mêmes documents sont réunis en une seule carte. « Tout ouvrir » coche toutes les lignes concernées, ce qui permet d'enchaîner directement sur une suppression groupée, par exemple.
- Cliquer sur l'ID d'un document concerné fait défiler automatiquement la grille jusqu'à la ligne correspondante, qui est mise en surbrillance.
- Les résultats persistent même après fermeture de l'assistant, ce qui permet d'aller-retour aussi souvent que nécessaire tout en vérifiant les documents.
- L'onglet Validation de schéma Zod permet de coller un schéma Zod (TypeScript) et de valider tous les documents avec.
Comparaison et copie entre environnements
Comparer avec un autre environnement
Un clic droit sur une collection →« Comparer avec un autre environnement… »permet de rapprocher la même collection entre deux environnements, par exemple développement et production. Les différences (ajouts / suppressions / modifications) sont listées par document et par champ.
- Vous pouvez exclure certains champs de la comparaison, comme updatedAt.
- Le contenu des différences peut être exporté en CSV.
Copier vers un autre environnement
« Copier vers un autre environnement… » permet de dupliquer une collection vers une autre connexion (environnement). Un aperçu du nombre de documents et des éventuels écrasements est affiché avant l'exécution, et l'écriture vers la production passe, comme d'habitude, par le garde-fou de confirmation strict.
Utilisateurs Authentication
Depuis « Authentication » dans la barre latérale, vous pouvez lister et gérer les utilisateurs Firebase Authentication.
- Liste des e-mails, noms affichés, fournisseurs, dates de création et dernières connexions. Le bascule « Noms logiques » permet aussi d'afficher les intitulés en français.
- Prend en charge la désactivation / réactivation et la suppression d'utilisateurs, ainsi que l'envoi d'e-mails de réinitialisation de mot de passe.
- Vous pouvez copier l'UID d'un utilisateur pour le rapprocher des documents correspondants côté Firestore.
- Les opérations destructrices (suppression, etc.) passent par le même pipeline de sécurité que Firestore (confirmation → journal d'audit).
Mises à jour
- Les mises à jour sont vérifiées automatiquement toutes les 6 heures et au démarrage(vérification manuelle possible depuis Réglages → À propos → « Vérifier les mises à jour »).
- Lorsqu'une mise à jour obligatoire est publiée, l'écran de mise à jour au démarrage se charge automatiquement du téléchargement → redémarrage → application, sans aucune action de votre part.
- Ce n'est qu'en cas d'échec (hors ligne, par exemple) qu'un téléchargement manuel depuis le navigateur est proposé.
Tarifs et licence
- Dès le premier lancement, vous bénéficiez de 14 jours d'essaiavec toutes les fonctionnalités. Aucune inscription ni information de paiement n'est nécessaire.
- Même après expiration, la consultation des données reste gratuite.
- L'achat se fait directement dans l'application : depuis ⚙ Réglages → Licenceen bas à droite, choisissez un plan (Pro / TEAM, mensuel / annuel) pour ouvrir la page de paiement sécurisée Stripe dans votre navigateur. Une fois le paiement effectué, l'application active automatiquement la licence.
- Pour changer de Mac, pensez à « Désactiver la licence » sur l'ancienne machine avant de l'activer sur la nouvelle.
Pour le détail des plans, consultez la page des tarifs.
Questions fréquentes
- Impossible de se connecter / message « Échec de l'authentification »
- Vérifiez que le JSON correspond bien à la clé de compte de service du projet visé. Si vous avez régénéré la clé, le plus sûr est de déconnecter l'ancienne connexion et de se reconnecter avec le nouveau JSON.
- Les données sont-elles envoyées quelque part ?
- Non. Firescope accède directement à Firestore depuis votre Mac. Ni les clés ni les données ne sont envoyées à un serveur externe.
- À quoi sert le « garde-fou production » ?
- C'est un mécanisme qui ajuste automatiquement le niveau de confirmation selon le libellé d'environnement de la connexion et le risque de l'opération. Par exemple, supprimer une collection en production ne peut s'exécuter que si l'ID du projet est saisi manuellement. Cette validation se fait au cœur de l'application (processus principal), et non via de simples avertissements d'interface — impossible donc de la contourner par inadvertance.
- Existe-t-il une version Windows ?
- Oui. Récupérez
Firescope-Setup.exedepuis lapage de téléchargement (en cas d'avertissement SmartScreen, cliquez sur « Informations complémentaires » → « Exécuter quand même »). - Peut-on ajouter d'autres langues ?
- Oui. Depuis Réglages → Langue, exportez un pack de langue (JSON), traduisez-le puis réimportez-le pour ajouter la langue de votre choix.