Skip to main content

Définition des environnements

Présentation des environnements d'exécution

  • Production : Environnement de production avec toutes les contraintes techniques de sécurisation et de performance. Le code qui s'exécute est celui de la branche 'master'
  • Pré-production/qualification => Environnement de recette, de mise en prépoduction (patching technique ou modifiaiton infra). le code qui s'exécute est celui de la branche 'staging'.
  • Intégration (également mentionné DEV dans les CI) : environnement d'intégration des différents environnements locaux des développeurs. Cet environnement exécute la version EN COURS DE DEVELOPPEMENT. Il est par défaut instable et la base de données est à la merci 🤣 des développeurs. Le code qui s'exécute est celui de la branche 'dev'.
  • Développement/local : environnement de développement local sur l'ordinateur d'un développeur. Branches locales, éventuellement mis en remote le temps de la PR vers dev.

Chaque environnement est composé des composants suivants :

  • Frontend
  • API backend
  • Base de données
  • API Gateway

Accès par environnement et par profil

EnvironnementProfilAccès (site, API)Configuration appsettingsConfiguration CI/CDConfiguration / Accès DODéclenchement CI/CDModification CI/CDAccès KeepassLogs SentryBrancheMailpit
DEV <br> Resp : DevDevOuiOuiNonNonOuiNonDéveloppeurOuidevOui
Ops / Chef de projetOuiOuiOuiOuiOuiOuiDéveloppeur & AdminOuidevOui
ClientNonNonNonNonNonNonNonNondevOui
STAGING <br> Resp : OpsDevNonNonNonNonNonNonNonOuistagingOui
Ops / Chef de projetOuiOuiOuiOuiOuiOuiDéveloppeur & AdminOuistagingOui
ClientOuiNonNonNonNonNonNonNonstagingOui
PRODUCTION <br> Resp : OpsDevNonNonNonNonNonNonNonNonmasterOui
Ops / Chef de projetOuiOuiOuiOuiOuiOuiDéveloppeur & AdminOuimasterOui
ClientOuiNonNonNonNonNonNonNonmasterOui

Container registry (Digital Ocean)

Base de données Postgres

  • Production : Les bases de données de production uniquement.
  • Staging : Les bases de données de l'environnement de staging uniquement. Serveur cam-postgresql-cluster-staging-do-user-21245965-0.g.db.ondigitalocean.com (port 25060)
    • Nom des bases de données : même nom qu'en prod avec _staging à la fin
    • Nom des utilisateurs : même nom qu'en prod avec _staging à la fin
  • Dev : Les bases de données de développement uniquement. Serveur cam-postgresql-cluster-dev-do-user-21245965-0.k.db.ondigitalocean.com (port 25060)
    • Nom des bases de données : même nom qu'en prod avec _dev à la fin
    • Nom des utilisateurs : même nom qu'en prod avec _dev à la fin

API Gateway

Voir la documentation suivante : [API Gateway (Ocelot)](API-Gateway- Ocelot.md))

Serveur de mail Mailpit (DEV et STAGING uniquement)

Voir la documentation suivante : Serveur SMTP Mailpit

Environnement de Développement (DEV)

Localisation : EUROPE (Allemagne)

Informations

  • API (API Gateway) : https://dev.api.societaire.cam.nc/ (Swagger activé)
  • Front : https://dev.societaire.cam.nc/
  • Base de données : a être réintégrée dans celle de STAGING/DEV
    • Hostname : cam-postgresql-cluster-dev-do-user-21245965-0.k.db.ondigitalocean.com
    • Port : 25060
    • DB : cam_portail_dev
    • User : cam_portail_dev
    • Mdp : voir Keepass

Prérequis logiciels pour les postes de développement

⚠️ A mettre à jour

  • Backend :

    • Visual Studio 2022 (version recommandée pour .NET 9)
    • .NET 9 SDK (télécharger)
    • Git (dernière version)
    • Docker (dernière version, nécessaire pour le build et le déploiement des images)
    • ABP CLI (documentation)
  • Frontend :

    • Visual Studio Code (recommandé pour Angular)
    • Node.js v18 ou v20 (télécharger)
    • Yarn 1.22.22 (documentation)
    • npx (inclus avec Node.js)
    • npm (inclus avec Node.js)

Environnement de Recette (STAGING)

Environnement de développement

Localisation : AUSTRALIE (Sydney)

Se connecter aux ressources :