Présentation de l’application Placemark
- Placemark est une application web permettant d’importer, créer, exporter, visualiser et publier des données géospatiales.
- Elle prend en charge divers formats de données géospatiales, des opérations d’édition fondées sur des algorithmes (par exemple le buffering) ainsi que des opérations basées sur le dessin.
- De nombreuses vidéos YouTube montrent cet outil en usage, et le site web archivé contient les anciens supports marketing.
Remarques sur la première publication open source
- Il s’agit de la première publication open source de cette base de code ; une aide pour la configuration est possible, mais aucun support d’intégration de bout en bout ne peut être fourni.
- C’est une application web complexe, qui fonctionne dans l’environnement où elle a été développée, mais pas forcément dans tous les environnements (par exemple, elle ne fonctionnera presque certainement pas sous Windows).
- Les PR visant à faciliter la configuration dans d’autres environnements, à rendre certaines fonctionnalités optionnelles, ou à apporter d’autres améliorations ou corrections sont les bienvenues.
Stack technique
- Des notes sur la stack technique de l’application sont disponibles dans
docs/architecture.md.
Exécution avec Docker
- Un exemple de fichier Docker est fourni, et les détails sont disponibles dans
docs/docker.
Exécution sur Render
- La configuration est assurée par le fichier
render.yaml, et l’hébergement sur Render peut être la manière la plus rapide de lancer l’application.
- Cela peut aussi fonctionner avec des configurations d’hébergement similaires comme Railway, Heroku ou Flightcontrol.
Installation
- Le projet a été construit avec yarn, et la dernière version de yarn testée est
1.22.19.
- Une installation avec npm ou un autre gestionnaire de paquets peut entraîner des dépendances différentes.
Variables d’environnement
- En développement, le fichier
.env est lu, et en production, des variables d’environnement sont nécessaires.
- Les variables d’environnement sont vérifiées au démarrage ; s’il en manque, l’application peut planter.
- La liste des variables d’environnement requises est disponible dans
app/lib/env_server.ts et app/lib/env_client.ts.
Variables d’environnement requises et optionnelles
- Requises : GitHub, Replicache
- Optionnelles : Posthog, Cloudflare, Postmark, WorkOS, Stripe, CampaignMonitor, Logtail
- Dans une installation auto-hébergée, certains services comme Stripe peuvent ne pas être nécessaires, et il est possible de les rendre optionnels.
Infrastructure
- Placemark dépend de deux serveurs : l’application (ce dépôt) et une base de données Postgres 14 (ou supérieure).
Domaine
- Sur le web, Placemark est servi sous trois domaines :
app.placemark.io, api.placemark.io, API
- L’API est servie par le même serveur web que l’application, et un Cloudflare Worker est utilisé pour proxifier les requêtes de
api.placemark.io vers app.placemark.io.
Test SSL en local
- C’est nécessaire si vous devez tester des fonctionnalités qui ne fonctionnent que sous SSL (par exemple les tests de géolocalisation sur iPhone).
- Utilisez
tailscale cert, déplacez le certificat dans ce répertoire, puis exécutez caddy start.
Utilisation de Stripe
- Stripe devient une dépendance optionnelle de ce projet.
- Le proxy de webhooks se trouve dans
./_scripts/webhook-proxy.js et peut être exécuté de manière optionnelle.
Avis de GN⁺
- Placemark est une application web puissante qui fournit diverses fonctionnalités nécessaires au traitement des données géospatiales, utile pour les spécialistes SIG comme pour les développeurs.
- Proposé en open source, il peut recevoir des contributions de la communauté et être amélioré pour un usage dans des environnements variés.
- Il peut être facilement déployé et exécuté avec des outils de conteneurisation comme Docker, et présente l’avantage d’un déploiement rapide via des services d’hébergement cloud.
1 commentaires
Commentaires sur Hacker News