opengeo
A CMS for geo-locations
OpenGeo
Faire apparaitre sur une carte géographique des données logistiques sélectionnées. Les croiser et/ou les extraire pour aider à la décision, communiquer des données ou informations fiables et actualisées au plus près de l'événement.
| Informations | | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | Environnement: ACE | | Niveau de sensibilité: Important | | Equipe développeur: @lucile-trp, "@floriaaan" | | Equipe projet: D55540 | | Language, technologies: NodeJS, NextJS, Typescript, MongoDB |
Installation
Prérequis
- NodeJS (v18.12.0 or higher) (dev. avec v18.12.0)
- MongoDB (v4.4.9 or higher) (dev. avec v4.4.9) / ou via Docker
Vous pouvez utiliser ces outils pour installer les prérequis :
- Vous pouvez utiliser nvm pour gérer votre version de NodeJS en utilisant :
nvm use
.
- Vous pouvez utiliser Docker pour lancer votre base de données en utilisant :
docker compose up
1. Cloner le dépôt et installer les dépendances
1.1 Utiliser docker & mongoDB
- Cloner le dépôt
opengeo
sur votre machine locale. - Exécuter
npm install
pour installer les dépendances nécessaires. - Exécuter
docker compose up
pour démarrer la base de données. - Créer un fichier
.env
à la racine du répertoire du projet et ajouter les valeurs des variables d'environnement (voir.env.example
). - Exécuter
npm run build
pour build l'application. - Exécuter
npm run start
pour démarrer l'application.
Vous pouvez maintenant accéder à l'application à l'adresse http://localhost:3000
.
NB: Si vous souhaitez exécuter l'application en mode développement, vous pouvez exécuter npm run dev
Ă la place.
1.2 Utiliser MongoAtlas (Cloud)
Cette possibilité ne necessite pas l'installation globale de Docker et MongoDB.
- Cloner le dépôt
opengeo
sur votre machine locale. - Exécuter
npm install
pour installer les dépendances nécessaires. - Créer un fichier
.env
à la racine du répertoire du projet et ajouter les valeurs des variables d'environnement (voir.env.example
). - Changer la valeur
MONGODB_URI
du fichier.env
par la chaîne de connexion mongoAtlas. - Exécuter
npm run build
pour build l'application. - Exécuter
npm run start
pour démarrer l'application
Configuration des serveurs
VM de base de données
En partant d'une VM vierge, veuillez suivre les indications suivantes :
sudo su -
dnf update & dnf upgrade
dnf install mongodb-org
Par defaut, mongoDB est configuré pour être accessible uniquement sur localhost.
nano /etc/mongod.conf
et changer la ligneBindIp : 127.0.0.0
parBindIp: 0.0.0.0
pour accepter toutes les entrées.systemctl start mongod
systemctl status mongod
VM applicative
En partant d'une VM vierge, veuillez suive les indications suivantes :
RECETTE
sudo su -
dnf update & dnf upgrade
Installer les dépendances générales suivantes :
- Git
- Node.js v18
- pm2
cd /data
- Créer un dossier
www
dans lequel cloner le projet et un dossierssl
pour les clés. - Cloner le dépôt
opengeo
dans le dossier/www
. - Dans le dossier ssl, veuillez créer une clé ainsi que son certificat :
openssl req -x509 -newkey rsa:4096 -keyout dev-opengeo-key.pem -out dev-opengeo-cert.pem -sha256 -days 3650
. - Exécuter
npm install
pour installer les dépendances nécessaires. - Créer un fichier
.env
à la racine du répertoire du projet et ajouter les valeurs des variables d'environnement (voir.env.example
). - Exécuter
npm run build
pour build l'application. - Exécuter
pm2 start server.js --name "opengeo"
pour démarrer l'application.