Skip to content

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

Notifications You must be signed in to change notification settings

jdev-org/sync-remocra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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"
        }
    ]
}

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

Watchers

Forks

Packages