Skip to content

About

Synchronisation des caractéristiques techniques et des disponibilités avec Remocra et suivi de la synchronisation depuis des données d'une autre base de données

Resources

Stars

0 stars

Watchers

2 watching

Forks

Latest commit

 

History

66 Commits

Folders and files

Repository files navigation

Projet Opensource - Synchronisation de données avec l'API Remocra

  • Financeur : Eau de Paris
  • Objet : SIG Open Source - Echanges REMOCRA / WatGIS -Interface REMOCRA - Synchronisation des caractéristiques techniques et des disponibilités avec Remocra et suivi de la synchronisation

Démarrage rapide

Les commandes sont exécutées dans le répertoire racine du projet.

Les dépendances

Elles sont démarrées via des conteneurs :

# Démarrage d'une instance Remocra
# TODO cf. projet atolcd/sdis-remocra

# Démarrage de dépendances directes
(cd docker && docker-compose up)

Voir le fichier docker/README.md pour plus de détails.

Exécution de l'application

Maven :

mvn clean compile exec:java \
  -Dedp.database.serverName=localhost \
  -Dexec.args="help"

Docker :

docker run --network="host" --rm \
  --name edp-dev \
  -u $(id -u):$(id -g) \
  -v "$(pwd)":/app -w /app \
  -v ~/.m2:/var/maven/.m2 -v "${HOME}":/var/maven \
  -e HOME=/var/maven -e MAVEN_CONFIG=/var/maven/.m2 -e MAVEN_OPTS="-Duser.home=/var/maven" \
  \
  maven:3-jdk-11 \
  \
  mvn clean compile exec:java

IDE :

Classe principale : fr.eaudeparis.syncremocra.App

Exemple d'arguments :

  -Dedp.database.serverName=localhost

Exemple pour Visual Studio Code .vscode/launch.json :

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Job tests",
            "request": "launch",
            "mainClass": "fr.eaudeparis.syncremocra.App",
            "projectName": "syncremocra-app",
            "vmArgs": "-Dedp.database.serverName=localhost"
            "args": "-c=path/to/dev.conf -l=path/to/log4j2-dev.conf job-test-all"
        }
    ]
}

Configuration de l'API REMOcRA

Le client REMOcRA est configuré en v3 only avec authentification Keycloak / OIDC.

Variables d'environnement disponibles :

API_HOST=http://localhost:8881
API_BASE_PATH=/api
API_AUTH_TYPE=keycloak
API_KEYCLOAK_URL=https://keycloak.example
API_KEYCLOAK_REALM=remocra
API_KEYCLOAK_CLIENT_ID=sync-remocra
API_KEYCLOAK_CLIENT_SECRET=change-me

Formatage de code (API)

Le code java de ce projet se conforme au Google's code styleguide.

Le plugin maven spotless traite cet aspect :

# Vérification du formatage
mvn spotless:check

# Application du formatage (à faire avant tout commit)
mvn spotless:apply

Editeurs pris en charge

Des formateurs spécifiques existent pour Eclipse et IntelliJ.

Visual Studio

On automatise l'utilisation de google-java-format à la sauvegarde des fichiers.

Installation du plugin emeraldwalk/vscode-runonsave :

code --install-extension emeraldwalk.RunOnSave

Puis on configure la commande dans le fichier .vscode/settings.json :

{
    "java.configuration.updateBuildConfiguration": "automatic",
    "emeraldwalk.runonsave": {
    "commands": [
      {
        "match": "\\.java$",
        "cmd": "app/java-format.sh ${file}"
      },
    ],
  }
}

Opérations sur la base de données

La génération du modèle Jooq et l'application des migrations sont expliquées dans le fichier db/README.md.

Documentation d'exploitation

Les manuels d'installation, de mise à jour et d'exploitation sont maintenus avec le code source dans le projet doc.

Pentaho Data Integration

Cf. pdi/README.md.

Intégration continue

Les pipelines sont décrits dans le fichier jenkins/README.md.

Validation dans une box Vagrant

Pour tester l'application dans une box Vagrant, se référer au fichier vagrant/README.md.

Distribution

La distribution est expliquée dans le fichier dist/README.md. En particulier, cette documentation décrit le process de mise à jour d'un serveur.

About

Synchronisation des caractéristiques techniques et des disponibilités avec Remocra et suivi de la synchronisation depuis des données d'une autre base de données

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages