La 1.4.0 portait sur ce que vous faites sur un Mac : les découpes, les marques, les spectres, le Calcul à distance, et un assistant que vous autorisez session par session. La 1.4.1 porte sur ce qui vit plus longtemps qu’un Mac — des notes que vous voulez sur le portable comme sur le poste de bureau, les fichiers d’une observation trop lourds pour l’un comme pour l’autre, les graphiques qu’une tâche en lot écrit dans votre stockage pendant que l’application est fermée. Elle a été planifiée au grand jour, de docs/plans/34-dev-1-4-1.md à 46-move-to.md dans le dépôt, et mise à l’essai comme la 1.4.0, par un assistant IA qui pilotait l’application avec ses propres outils.
Tout ce qui y touche votre stockage est désactivé tant que vous ne l’activez pas, et rien n’en sort ailleurs que vers CANFAR.
Votre travail, dans votre propre stockage
Réglages ▸ Stockage ▸ Votre travail dans VOSpace a un interrupteur pour chaque partie de votre travail : Recherche (les détails, notes, étiquettes et qualité de chaque observation — pas ses fichiers), les marques sur les images, les signets du ciel, les flux de travail, les requêtes enregistrées, les recherches récentes (les 100 dernières), les guides pour les assistants, l’historique du calcul à distance, l’historique des tâches en lot, les images que vous avez ajoutées, les lancements récents et les valeurs de lancement par défaut du Portail. Chacun est désactivé tant que vous ne l’activez pas, et un choix fait ici l’est pour chaque appareil où vous vous connectez.
Il n’y a pas de serveur Verbinal là-dedans. Un manifeste dans votre propre stockage, .verbinal/manifest.json, dit quels types de données de Verbinal vous y gardez et où, et chaque Verbinal où vous vous connectez le lit. La synchronisation se fait discrètement juste après la connexion, et ne supprime jamais rien. Seuls les comptes qui ont un stockage CANFAR se synchronisent, et seulement tant que votre dossier .verbinal est privé. Certaines choses ne quittent jamais ce Mac : vos identifiants, ce que les assistants peuvent faire, les journaux de session, et les fichiers de ce Mac eux-mêmes. Un guide qu’un assistant propose n’atteint vos autres appareils qu’une fois que vous l’avez appliqué.
Une partie porte ses fruits dès le premier jour. Sur un nouveau Mac, les listes de paquets des images CANFAR que vous avez sondées sur un autre arrivent de votre stockage dès la connexion, et les rangées de la Découverte d’images passent à découvertes à mesure qu’elles arrivent ; Découvrir les paquets, sur une image sondée ailleurs, lit sa liste dans le stockage, sans tâche, et une liste issue d’une sonde plus ancienne est marquée, avec Relancer la découverte. Un résultat du Calcul à distance arrivé pendant que Verbinal ne regardait pas rejoint son exécution. Et les marques et les signets du ciel sont maintenant conservés avec le fichier sur lequel ils sont — un fichier de l’archive ou de votre stockage, quelle que soit la façon dont il a été ouvert —, si bien que chaque appareil qui les synchronise les montre sur ce fichier.
Les résultats peuvent suivre aussi. Avec Résultats activé, chaque téléchargement, découpe, export de recherche et figure que Verbinal garde sur ce Mac va aussi dans Verbinal-Results de votre stockage, en arrière-plan, et attend tant que votre stockage est injoignable. L’Exporter d’une recherche propose Vers le stockage, qui place le fichier dans Verbinal-Exports — une liste de cibles, déjà là où une tâche en lot peut la lire. Réglages ▸ Stockage montre chaque type, son dossier et ce qu’a fait la dernière synchronisation, avec Synchroniser maintenant.
Conservé par révision, jamais à l’horloge
La synchronisation entre appareils est facile à rater sans bruit, et la façon habituelle, c’est de se fier à une horloge : l’horodatage le plus récent l’emporte, et l’autre modification disparaît. Verbinal ne se fie pas à une horloge. Chaque copie dans votre stockage dit quelle révision elle est, de quelle révision elle est issue et quel appareil l’a écrite, et l’horloge d’aucun appareil ne décide de rien.
- Les modifications de champs différents sont toutes deux conservées. Le texte d’une note modifié sur un Mac et ses étiquettes sur un autre donnent une seule fiche qui a les deux.
- Quand deux appareils ont modifié le même champ différemment, la version de votre stockage reste, et celle de ce Mac attend dans Réglages ▸ Stockage ▸ Conflits, avec Garder celle de ce Mac et Garder celle de l’autre. Ce que vous choisissez va sur chaque appareil.
- Quand un appareil a retiré ce qu’un autre a modifié, la modification est conservée et on vous le dit, avec Le retirer si le retrait était le bon choix.
Un assistant lit les conflits avec list_sync_conflicts et propose un choix avec resolve_sync_conflict.
L’horloge d’aucun appareil ne décide. Quand deux Mac ont modifié la même chose, la version de votre stockage reste, et l’autre vous attend.
Les fichiers d’une observation, dans Recherche
Une observation, c’est souvent plus que son fichier principal : une carte de poids, un étalonnage, un catalogue, un aperçu. Dans la 1.4.1, le bouton de téléchargement d’un fichier dans l’onglet Fichiers d’une observation le télécharge avec Verbinal, sans navigateur, et Recherche le garde avec l’observation, à côté de son fichier principal, avec des boutons pour l’ouvrir, l’afficher dans le Finder et le retirer. La corbeille demande d’abord, et l’observation et ses notes restent. Le détail de Recherche liste les fichiers, avec l’endroit où se trouve chacun.
Les téléchargements vont dans un dossier que vous voyez et choisissez — Téléchargements, jusqu’à ce que vous en choisissiez un autre dans Réglages ▸ Général ▸ Téléchargements, ou avec Modifier… là où vous téléchargez —, et jamais par-dessus un autre fichier. Si le dossier choisi n’est pas là, ils vont dans Téléchargements, et Verbinal le dit. Télécharger et Télécharger la découpe ne demandent plus où enregistrer, comme les téléchargements d’un assistant ne l’ont jamais fait ; et supprimer une observation supprime tous ses fichiers, le principal et ceux téléchargés un à un.
Déplacer vers… est fait pour le fichier qui n’a pas sa place sur votre portable. Un portable et un nuage à côté de chaque fichier de Recherche disent où il est : sur ce Mac, dans votre stockage, ou les deux. Déplacer vers… montre les deux endroits côte à côte, chaque fichier maintenant et après, Copier ou Déplacer, l’espace libre de votre stockage, et un bouton qui dit ce qui va se passer. Un déplacement copie d’abord, et ne retire l’autre copie qu’une fois la nouvelle en place. La dernière copie d’un fichier n’est jamais retirée, et un fichier du même nom dans votre stockage n’est jamais écrasé. Supprimer des fichiers… demande quels fichiers retirer de ce Mac, et dit lesquels ont une copie dans votre stockage.
Verbinal-Results/research —, avec Déplacer vers… et Supprimer le fichier… à côté.Les assistants ont la même chose, avec show_move_to et move_research_files, et les places de chaque fichier dans list_downloaded_observations. Et Recherche elle-même ne déménage que si vous le dites : le menu à côté du compte de Recherche dit où ses fiches sont conservées, Déplacer dans la base de données… sauvegarde le fichier, vérifie chaque fiche et annule tout à la moindre divergence, et Remettre dans un fichier… les y remet. Aucun lancement, et aucun assistant, ne les déplace.
Les GPU, et un Portail qui s’actualise sur place
La Charge de la plate-forme a maintenant trois anneaux : processeur, mémoire et GPU, ce dernier Non communiqué tant que CANFAR ne communique pas ses GPU. L’onglet Standard du formulaire de lancement propose Utiliser un GPU ; Avancé, Headless et les tâches en lot ont un nombre de GPU, parmi les nombres que CANFAR propose, grisé tant qu’il n’en propose aucun ; et Réglages ▸ Portail a Utiliser un GPU par défaut. Les Lancements récents montrent les GPU d’un lancement. Un assistant obtient gpu de get_platform_load, et launch_session et launch_headless_job acceptent des GPU et refusent un nombre que CANFAR ne propose pas.
Les cartes du Portail s’actualisent sur place. Chacune a un bouton d’actualisation, celle du Stockage aussi, garde ce qu’elle montre pendant l’actualisation, et a un pied de carte qui dit quand elle a été mise à jour, à l’heure de 24 heures. Une carte qui ne peut pas se charger dit pourquoi, avec Réessayer, et garde ce qu’elle montrait ; une suppression ou un renouvellement qui échoue le dit de la même façon. La carte Images CANFAR a Recharger comme les autres, et un chargement suivant efface maintenant une ancienne erreur, qui restait affichée. À l’actualisation, la barre du Stockage part de zéro jusqu’à votre utilisation ; avec Réduire les animations, elle reste immobile.
Votre assistant : une session qui dure
Depuis la 1.4.0, vous autorisez un assistant session par session. Dans la 1.4.1, la session dure : un assistant que vous avez autorisé la garde quand Verbinal redémarre — pas de nouvelle fenêtre, le même journal —, et un deuxième start_session répond alreadyStarted: true. Elle se termine après une heure sans appel (à vous de choisir, de 15 minutes à une journée, dans Réglages ▸ Agent IA ▸ Sessions), avec Terminer la session dans les Journaux de session, ou quand vous désactivez les agents IA externes, et l’assistant apprend pourquoi.
Où on en est, et Pause. La barre d’activité dit où en est une tâche, par exemple 120 sur 288. Le travail qui peut attendre, comme la synchronisation du stockage, a Pause et Reprendre, dit qui l’a mis en pause — vous, votre assistant ou Verbinal — et reste en pause après que Verbinal a quitté. Quand votre stockage est lent ou hors service, chaque requête est reposée deux fois ; une synchronisation qui échoue encore reste sur la barre d’activité avec la raison, et le moment où Verbinal réessaiera — après 1, 2, 4… jusqu’à 30 minutes, et aussitôt que le réseau revient —, avec Réessayer. Une synchronisation qui attend plus de dix secondes affiche En attente de votre stockage CANFAR…. Les assistants ont les mêmes commandes : pause_activity, resume_activity, retry_activity, et les comptes dans list_activity.
Votre assistant trouve Verbinal pendant qu’il tourne. Le relais que lance le client d’un assistant trouve l’application en cours même quand l’adresse qu’on lui a donnée est périmée, et dit si Verbinal ne tourne pas ou s’il est parti ; Verbinal tient cette adresse à jour, et un essai automatisé ne l’écrase plus. read_vospace_file rend une image — PNG, JPEG ou GIF jusqu’à 1 Mo — comme une image, si bien qu’un assistant voit les graphiques qu’écrivent ses tâches. Et beaucoup de réponses sont corrigées, à la suite de trois passes d’essais : search_observations donne l’ADQL qui a tourné, avec son TOP ; une écriture qui attend répond pending: true et ce qu’elle attend ; get_headless_job trouve une tâche terminée dans l’historique des tâches ; et les colonnes répondent à ra(j2000) et dec(j2000).
Deux nouveaux modèles de flux de travail, en anglais, mettent tout cela en pratique. A survey on CANFAR: from a query to candidates sélectionne les données en ADQL, traite chaque cible en tâches en lot à côté des données, et garde les candidats avec les preuves de chacun. Set up the assistant for discovery work prépare l’assistant au travail de découverte.
La connexion, les visionneuses, et le reste
- Une connexion expirée se renouvelle d’elle-même, et la requête passe. Quand votre session CADC expirait, Verbinal vous reconnectait avec le mot de passe enregistré, mais la requête qui s’en était aperçue échouait quand même. Elle attend maintenant la nouvelle session et est relancée, et plusieurs requêtes à la fois ne se connectent qu’une fois. Sans mot de passe enregistré, seule cette requête échoue, et la feuille de connexion dit pourquoi elle s’est ouverte : Votre session CADC a pris fin. Connectez-vous pour continuer.
- Se connecter, ou votre compte, sur chaque écran. La commande de compte de la barre d’outils n’était que sur l’Accueil et dans le Portail.
- Sélectionner une zone dans la Visionneuse FITS. Activez Sélectionner une zone, à côté de Exporter une figure…, ou maintenez ⌘, et tracez un cadre sur l’image : Exporter la figure s’ouvre sur cette zone. Un assistant peut l’activer pour vous avec
set_fits_view. - La Visionneuse FITS tient dans sa fenêtre sans fichier ouvert. Son onglet vide prenait plus de hauteur que la fenêtre n’en avait, poussant la barre d’outils, les onglets et la barre d’activité hors de vue, et montrait des commandes d’image à côté d’aucune image. Elle montre maintenant comment ouvrir un fichier et les fichiers récents, et les commandes viennent une fois un fichier ouvert. Son panneau latéral tient aussi dans sa largeur : les cinq étirements deviennent un menu quand ils n’y tiennent pas.
- Une nouvelle palette ou un nouvel étirement se trace aussitôt, sans l’attente des curseurs, avec Rendu en cours… dans le coin de l’image tant que cela prend assez de temps pour qu’on le remarque.
- Chaque chargement dit comment il s’est passé, de la même façon — en cours, affiché, ou pourquoi pas, avec Réessayer là où réessayer peut aider : le navigateur du stockage, le train de données, le détail d’une observation, les journaux des tâches de sonde, le navigateur de fichiers et les choix du formulaire de lancement.
- Les panneaux latéraux tiennent dans leur volet le plus étroit, et les Flux de travail et Recherche s’en tiennent à la barre d’outils de Verbinal, sans barre à eux par-dessus l’écran.
Ce qui n’allait pas
La plupart des corrections de la 1.4.1 sont des aspérités. Quelques-unes donnaient un résultat faux, et celles-là méritent d’être dites franchement :
- Une modification venue d’un autre appareil pendant une synchronisation était perdue. La synchronisation la tenait pour vue et ne la rapatriait jamais. Une modification faite pendant une synchronisation part maintenant à la fin de celle-ci ; le stockage est lu tel qu’il est, pas depuis un cache, si bien que chaque modification est écrite une seule fois ; et deux choix rapides dans Réglages ▸ Stockage ne s’annulent plus l’un l’autre.
- L’onglet Standard lançait la mauvaise image. Après un lancement avec une image personnalisée dans Avancé, Standard lançait cette image au lieu de la sienne.
- Les Lancements récents pouvaient se contredire. Il y en avait trois copies, sur un seul fichier. Il n’y a plus qu’une liste, la même partout.
- Un cube qui n’avait pas pu s’ouvrir montrait le cube précédent. Il dit maintenant pourquoi il ne s’est pas ouvert, comme chaque chargement.
- Un avertissement était effacé aussitôt affiché. Quand le serveur de l’assistant ne pouvait pas écrire son adresse, l’avertissement qui le disait disparaissait sur-le-champ. Il est maintenant affiché.
- Les dossiers du Calcul à distance échouaient à se créer, encore et encore. Il les crée maintenant dans votre stockage une seule fois, après avoir demandé, sans écriture ratée dans le journal.
Confidentialité, code source, et comment l’obtenir
La posture de confidentialité n’a pas bougé, et la synchronisation est conçue pour la garder. Aucune analytique, aucune télémétrie, aucun service tiers ; vos identifiants restent dans le trousseau macOS, et le trafic va directement à CANFAR et au CADC en HTTPS. Ce que la 1.4.1 synchronise va dans votre propre stockage CANFAR — Verbinal n’a aucun serveur où l’envoyer —, seulement pour les parties que vous activez, et seulement tant que le dossier qui les contient est privé. Vos identifiants, ce que les assistants peuvent faire et les journaux de session ne quittent jamais ce Mac.
Verbinal pour macOS est gratuit, libre et open source sous la Mozilla Public License 2.0, avec le code source complet et le journal des modifications sur github.com/szautkin/canfar-macos. Il fonctionne sous macOS 14 (Sonoma) ou version ultérieure, en anglais et en français, et son manuel, dans les deux langues, est sur docs.verbinal.com. Rechercher et les deux visionneuses fonctionnent sans connexion ; le Portail, le Calcul à distance, le Stockage et la synchronisation demandent un compte CADC gratuit. Il est sur le Mac App Store, et la page de version sur GitHub propose un .dmg et un .zip non signés, construits par l’intégration continue ; vérifiez un téléchargement avec shasum -a 256 -c checksums-sha256.txt.
Procurez-vous Verbinal pour macOS 1.4.1
Gratuit, libre et open source sous MPL-2.0. macOS 14 ou version ultérieure et un compte CANFAR gratuit. Rechercher et les visionneuses fonctionnent sans connexion — et ce que vous synchronisez ne va que dans votre propre stockage.