Si vous plongez avec un Suunto Nautic, vous connaissez sans doute cette limite : l’ordinateur enregistre une quantité remarquable de données — profil de profondeur, températures, pression du bloc via le Tank POD, position GPS — mais pour les exploiter, on dépend entièrement de l’application mobile Suunto. Aucune connexion USB, et le seul export disponible est un fichier JSON interne que la plupart des carnets de plongée ne savent pas lire.

Développeur de métier et plongeur divemaster, j’avais deux besoins récurrents : intégrer ces plongées dans divelogs.de ou Subsurface sans ressaisie manuelle, et pouvoir analyser une remontée sur le terrain, depuis mon téléphone. J’ai donc développé SuuntoSync : une suite d’outils web, gratuite, sans installation, fonctionnant sur ordinateur comme sur mobile, en français, anglais et allemand.

👉 cestpascomplique.com/tools/suunto-sync

1. Importer et exporter ses plongées

Vous déposez un ou plusieurs fichiers JSON exportés depuis l’application Suunto, et l’outil se charge de la conversion :

  • Import direct dans divelogs.de via son API REST : profondeur, durée, profil complet, températures, pressions du bloc et position GPS sont transmis automatiquement.
  • Export au format UDDF, compatible Subsurface, pour ceux qui préfèrent un carnet local.

Un principe structure l’ensemble : enrichir sans jamais écraser. Les informations absentes du JSON (volume du bloc, binôme, site, lestage, météo, visibilité, commentaire) peuvent être ajoutées au moment de l’import, mais elles ne remplacent jamais une valeur mesurée par l’ordinateur.

Vos identifiants divelogs ne sont jamais conservés : ils servent le temps de la requête, puis sont oubliés. La mémorisation reste gérée par votre navigateur, comme sur n’importe quel site.

2. Le visualiseur de profil

C’est l’outil que j’utilise le plus. Il affiche le profil de la plongée sous forme de graphique interactif, à partir de deux sources au choix :

  • un fichier JSON Suunto — analyse complète : vitesse de remontée, pression point par point, GF99, plafond de décompression ;
  • une plongée déjà enregistrée sur divelogs.de — connexion, puis sélection dans la liste. Utile pour rouvrir une plongée ancienne dont le fichier n’existe plus.

L’élément central est la vitesse de remontée, présentée avec le code couleur Suunto : vert sous 8 m/min, jaune entre 8 et 10, rouge au-delà. Les dépassements se repèrent immédiatement ; l’outil calcule d’ailleurs la vitesse maximale et le nombre de dépassements de la plongée. S’y ajoutent la température, la pression, le SAC (consommation), et — lorsque la donnée existe — le GF99, accompagné d’une explication de sa signification.

L’interface est pensée pour le mobile : on touche le graphique pour lire les valeurs, on zoome à deux doigts, et un mode plein écran maximise la courbe pour une lecture confortable sur téléphone, au bord de l’eau.

Un point auquel je tiens : l’honnêteté sur les données. Une plongée chargée depuis divelogs ne contient pas le même niveau de détail qu’un fichier JSON brut — divelogs ne stocke que la profondeur et la température. L’outil l’indique clairement et n’affiche aucune courbe vide.

3. Générer un QR code SSI

Pour ceux qui tiennent également un carnet MySSI : depuis n’importe quelle plongée divelogs, un bouton génère un QR code au format SSI. Scanné avec l’application MySSI (depuis un second appareil), il y importe la plongée.

Le QR est généré entièrement dans le navigateur : le nom et le numéro de membre SSI ne transitent par aucun serveur. L’identité SSI est mémorisée localement, une seule fois.

Sous le capot

Une architecture volontairement sobre : du PHP côté serveur, réduit à un rôle de relais vers les API (aucun mot de passe conservé), Bootstrap et Alpine.js pour l’interface, Chart.js pour les graphiques. Aucun compte à créer, aucune base de données superflue, aucune publicité : chacun ses identifiants, chacun ses plongées.

Le projet est né d’un besoin personnel ; s’il rend service à d’autres plongeurs Suunto, c’est une satisfaction supplémentaire. 🤿


SuuntoSync — getting your Suunto Nautic data into divelogs, Subsurface and SSI

If you dive with a Suunto Nautic, you’re probably familiar with its limitation: the computer records a remarkable amount of data — depth profile, temperatures, tank pressure via the Tank POD, GPS position — but to use it you depend entirely on the Suunto mobile app. No USB connection, and the only available export is an internal JSON file that most dive logs can’t read.

A software developer by trade and a divemaster, I had two recurring needs: getting these dives into divelogs.de or Subsurface without manual re-entry, and being able to review an ascent in the field, from my phone. So I developed SuuntoSync: a free suite of web tools, no installation required, running on desktop and mobile, in French, English and German.

👉 cestpascomplique.com/tools/suunto-sync

1. Import and export your dives

Drop one or more JSON files exported from the Suunto app, and the tool handles the conversion:

  • Direct import into divelogs.de through its REST API: depth, duration, full profile, temperatures, tank pressures and GPS position are sent automatically.
  • Export to UDDF, compatible with Subsurface, for those who prefer a local logbook.

One principle underpins the whole thing: enrich, never overwrite. Information missing from the JSON (tank size, buddy, dive site, weights, weather, visibility, notes) can be added at import time, but it never replaces a value measured by the computer.

Your divelogs credentials are never stored: they’re used only for the request, then discarded. Remembering them stays your browser’s job, as on any other site.

2. The profile viewer

This is the tool I use most. It displays the dive profile as an interactive chart, from two possible sources:

  • a Suunto JSON file — full analysis: ascent rate, point-by-point pressure, GF99, decompression ceiling;
  • a dive already stored on divelogs.de — log in, then pick it from the list. Handy for reopening an older dive whose file no longer exists.

The centrepiece is the ascent rate, shown with the Suunto colour code: green below 8 m/min, yellow between 8 and 10, red above. Overshoots stand out immediately; the tool also computes the dive’s maximum ascent speed and the number of overshoots. It adds temperature, tank pressure, SAC (air consumption) and — when the data exists — GF99, with an explanation of what it means.

The interface is built for mobile: tap the chart to read values, pinch to zoom, and a fullscreen mode maximises the curve for comfortable reading on a phone, at the water’s edge.

One thing I care about: being honest about the data. A dive loaded from divelogs doesn’t hold the same level of detail as a raw JSON file — divelogs only stores depth and temperature. The tool states this clearly and never shows an empty curve.

3. Generate an SSI QR code

For those who also keep a MySSI logbook: from any divelogs dive, a button generates a QR code in the SSI format. Scanned with the MySSI app (from a second device), it imports the dive.

The QR is generated entirely in the browser: your name and SSI member number never travel to any server. Your SSI identity is stored locally, once.

Under the hood

A deliberately lean architecture: PHP on the server, reduced to relaying requests to the APIs (no password ever kept), Bootstrap and Alpine.js for the interface, Chart.js for the graphs. No account to create, no unnecessary database, no ads: everyone uses their own credentials, for their own dives.

The project grew out of a personal need; if it helps other Suunto divers, that’s a welcome bonus. 🤿