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

  1. Depuis Téléchargement, récupérez le fichier.dmg pour Mac (Apple Silicon ou Intel, au choix).
  2. Ouvrez le .dmg téléchargé, puisglissez l'icône Firescope dans le dossier « Applications ».
  3. Lancez Firescope depuis le dossier Applications.
Firescope est signé et notarié par Apple. Aucun avertissement « développeur non vérifié » ne s'affiche — l'application se lance directement.

Windows

  1. Depuis Téléchargement, récupérez Firescope-Setup.exeet exécutez-le.
  2. 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.

Étape 1 : choix de la langue d'affichage (Français / English)
Étape 1 : choix de la langue d'affichage (Français / English)

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.

Étape 2 : choix du thème (10 thèmes, avec bascule instantanée)
Étape 2 : choix du thème (10 thèmes, avec bascule instantanée)
La langue comme le thème peuvent être modifiés à tout moment depuis ⚙ Réglages et🎨 Palette, en bas à droite.

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.

Étape 3 : connexion avec le JSON du compte de service
Étape 3 : connexion avec le JSON du compte de service
  1. 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).
  2. Cliquez sur « Générer une nouvelle clé privée » pour télécharger le fichier JSON.
  3. 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.
  4. 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.
Les clés sont chiffrées avec une clé dérivée du trousseau macOS et stockées uniquement sur ce Mac. Elles ne sont jamais envoyées à l'extérieur.
Vous pouvez aussi vous connecter à un émulateur Firestore local. Depuis le+ de la barre latérale, choisissez « Se connecter à un émulateur » et indiquez l'hôte (par exemple : localhost:8080) ainsi que l'ID du projet.

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.

Grille avec types annotés. Cliquer sur une ligne affiche le détail dans le panneau de droite
Grille avec types annotés. Cliquer sur une ligne affiche le détail dans le panneau de droite
  • 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 ».
Les noms logiques ne concernent que l'affichage. L'export CSV et les requêtes continuent d'utiliser les noms physiques, sans impact sur la compatibilité des données.

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.

Groupe d'onglets. Cliquer sur la puce replie le groupe ; le chiffre indique le nombre d'onglets
Groupe d'onglets. Cliquer sur la puce replie le groupe ; le chiffre indique le nombre d'onglets
  • 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.

Vue scindée. Deux collections différentes affichées côte à côte, chacune interrogeable indépendamment
Vue scindée. Deux collections différentes affichées côte à côte, chacune interrogeable indépendamment
  • 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.
Le suivi ne porte que sur une fenêtre des N premiers documents correspondant aux critères. Pour les grandes collections, affinez avec des conditions ou triez par ordre décroissant sur updatedAt pour suivre plus facilement « les derniers changements ».

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.

Édition en ligne. Modifier une cellule tout en conservant son type
Édition en ligne. Modifier une cellule tout en conservant son type

Toute écriture passe par le pipeline de sécurité :

  1. 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.
  2. Sauvegarde automatique — les documents concernés sont mis en instantané avant l'exécution.
  3. Exécution — l'écriture est effectuée.
  4. Journal d'audit — enregistré qu'il y ait succès ou échec (consultable depuis « Journal d'audit » dans la barre inférieure).
Sur les connexions au libellé « Production », les confirmations pour la suppression ou la mise à jour groupée sont les plus strictes. Pour une simple investigation, passer la connexion enlecture seule (clic droit sur la connexion → Lecture seule) est le choix le plus sûr.

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.

Aperçu de restauration. Vérifier les différences champ par champ avant de lancer la restauration
Aperçu de restauration. Vérifier les différences champ par champ avant de lancer la restauration
  • ⌘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.

Requête écrite en JS et exécutée. Le résultat devient un tableau, copiable en CSV ou JSON
Requête écrite en JS et exécutée. Le résultat devient un tableau, copiable en CSV ou JSON
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

Assistant d'import CSV. Vérifier le type des colonnes et le mode, puis lancer après aperçu du nombre de documents
Assistant d'import CSV. Vérifier le type des colonnes et le mode, puis lancer après aperçu du nombre de documents
  1. Dans la barre d'outils, « Importer » → sélectionnez un fichier CSV (le Shift_JIS est détecté automatiquement).
  2. Vérifiez le type de chaque colonne, ainsi que le mode (upsert / création seule / mise à jour seule).
  3. « Vérifier le nombre » affiche un aperçu des documents créés et écrasés.
  4. « 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.exe depuis 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.