Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1044 commits
Select commit Hold shift + click to select a range
e9b39ca
feat: activites api
hugues-m Dec 10, 2024
8a851b2
qa: lint fix
hugues-m Dec 10, 2024
202ba63
fix: api client authentication logic
hugues-m Dec 10, 2024
c401618
chore: update integration test
hugues-m Dec 10, 2024
e9cfc92
qa: lint and health route fix
hugues-m Dec 10, 2024
3274e14
qa: lint fix
hugues-m Dec 10, 2024
eb821f2
qa: fix apiadresse test
hugues-m Dec 10, 2024
187b3e8
feat: components api doc
hugues-m Dec 13, 2024
6f0e034
update: update wording sur les parcours pix
Clrk Dec 16, 2024
24a896d
update: update wording sur la thématique "Créer avec le numérique"
Clrk Dec 16, 2024
bf70cc9
fix: o(n*m) query on update or delete cra beneficiaires anonymes
hugues-m Dec 16, 2024
050bbe7
feat: api client security and administration
hugues-m Dec 16, 2024
1536540
feat: add invite mediateur form
marc-gavanier Dec 6, 2024
4d2b953
feat: add team invitation mails
marc-gavanier Dec 11, 2024
b13ecfd
feat: add invite user form action
marc-gavanier Dec 11, 2024
2d76543
feat: api security and cursor validation
hugues-m Dec 17, 2024
a3c8f24
update: fix wording on stat export
Clrk Dec 17, 2024
fdc4d2c
Merge pull request #99 from inclusion-numerique/feat/api-client
hugues-m Dec 17, 2024
989526f
chore: update prisma
hugues-m Dec 17, 2024
61a3428
feat: add backend for accept and decline invitation
marc-gavanier Dec 16, 2024
ff2a9ea
chore: add HMAC key to env
hugues-m Dec 18, 2024
6096bad
fix: dsfr regression
hugues-m Dec 18, 2024
94017d4
feat: api admin UI
hugues-m Dec 18, 2024
e91f956
qa: api archives v1 documentation
hugues-m Dec 18, 2024
b7cb2c5
qa: lint fix
hugues-m Dec 18, 2024
401a740
feat: add e2e test for mediateur invitation
marc-gavanier Dec 17, 2024
815a822
Merge pull request #111 from inclusion-numerique/feat/invitation-medi…
Clrk Dec 18, 2024
2664bd9
feat: remove conum from team
marc-gavanier Dec 18, 2024
1d74985
Merge pull request #113 from inclusion-numerique/feat/remove-conum-fr…
Clrk Dec 18, 2024
9dc58d8
feat: leave team
marc-gavanier Dec 18, 2024
e3995e8
feat: beneficiaire import timestamp
hugues-m Dec 20, 2024
ca0ec7a
Merge pull request #114 from inclusion-numerique/feat/leave-team
Clrk Dec 20, 2024
f58548a
chore: lower sentry traces sample rate
hugues-m Dec 23, 2024
a5a7882
feat: add mutation logs for router mutations
hugues-m Dec 24, 2024
7bfd530
feat: mutation timestamp index
hugues-m Dec 24, 2024
8c7b3fc
feat: update structure employeuse for admins
hugues-m Jan 6, 2025
53c0696
chore: ci cache bust
hugues-m Jan 6, 2025
df3575c
qa: lint fix
hugues-m Jan 7, 2025
d0bf2bd
feat: missing typologies
marc-gavanier Jan 9, 2025
08a3c75
Merge pull request #119 from inclusion-numerique/feat/missing-typologies
Clrk Jan 9, 2025
81bcd67
feat: debounced recherche entreprise to avoid 429 api response from a…
hugues-m Jan 9, 2025
a75fb48
chore: update cypress
hugues-m Jan 9, 2025
ba840a1
chore: regenerate lock file
hugues-m Jan 9, 2025
49f6f16
fix: link between users and v1 mongo when email has changed in admini…
hugues-m Jan 9, 2025
6dc7c2d
fix: statistiques sur équipe mediateurs: ui et chargement de la liste…
hugues-m Jan 10, 2025
5160010
feat: structures endpoint
hugues-m Jan 9, 2025
c4ca30e
feat: api structures
hugues-m Jan 10, 2025
4a0aa25
feat: api utilisateurs
hugues-m Jan 10, 2025
e02ab53
Merge pull request #122 from inclusion-numerique/feat/api-endpoints
hugues-m Jan 10, 2025
5d9258d
fix: 500 pour structures conseiller numerique non conventionnées
hugues-m Jan 13, 2025
105779b
feat: add new beneficiaires count in stats
marc-gavanier Jan 13, 2025
a2f599b
fix: case insensitive sorting for mediateur filter on statistics page
Clrk Jan 14, 2025
ff0da15
fix: alphabetic sorting for mediateur on Mon Equipe page
Clrk Jan 14, 2025
5bdccd4
fix: e2e for sorting
Clrk Jan 14, 2025
82bb525
fix: sPluriel on StatistiquesGenerales.tsx and StatistiquesGeneralesP…
Clrk Jan 14, 2025
a27c9c0
fix: lint
Clrk Jan 15, 2025
3f37215
Merge remote-tracking branch 'origin/feat/already-assisted' into dev
hugues-m Jan 15, 2025
fd02668
fix: lieu acrivite link
marc-gavanier Jan 15, 2025
4564072
Merge pull request #128 from inclusion-numerique/fix/lieu-activite-ca…
Clrk Jan 15, 2025
7fd0d4d
ui: font weight on username for the header
Clrk Jan 15, 2025
55b1a23
feat: retry with backoff on api entreprise
hugues-m Jan 15, 2025
a61f530
chore: install p-retry
hugues-m Jan 15, 2025
c01b436
feat: rdv api and oauth clients structuration
hugues-m Jan 17, 2025
cc7582c
feat: remove notes from activites endpoint
hugues-m Jan 20, 2025
81c0091
feat: rdv user profile flow
hugues-m Jan 20, 2025
0aa5529
feat: rdv api oauth call check
hugues-m Jan 21, 2025
31975b9
feat: rdv card on mes-outils
hugues-m Jan 22, 2025
874b712
feat: remove rdv unused button
hugues-m Jan 22, 2025
c5cabde
refactor: already assisted
marc-gavanier Jan 21, 2025
501f05e
chore: fix rdv env vars setup
hugues-m Jan 22, 2025
4d87794
chore: fix .env var expensions not working on ci environments
hugues-m Jan 22, 2025
c2fae18
Merge pull request #131 from inclusion-numerique/feat/rdv
hugues-m Jan 22, 2025
f593369
feat: add equipes and manual override for conseillers v1 coordinateur…
hugues-m Jan 22, 2025
7e79472
feat: display accompagnements in activities list
marc-gavanier Jan 22, 2025
ba9e2b2
Merge pull request #133 from inclusion-numerique/refactor/already-ass…
Clrk Jan 23, 2025
2649bb1
fix: count of mediateurs including duplications
marc-gavanier Jan 17, 2025
508fc45
feat: cannot send mail invitation to mediateur in team
marc-gavanier Jan 22, 2025
84f71ed
feat: coordinateur hors dispositif
marc-gavanier Jan 14, 2025
d612876
update: url webinaire tally
Clrk Jan 27, 2025
0acef3e
Merge pull request #132 from inclusion-numerique/fix/dupli-mediat-count
Clrk Jan 27, 2025
e25ba68
fix: edit atelier collectif
marc-gavanier Jan 27, 2025
4e99214
Merge pull request #129 from inclusion-numerique/feat/coordo-hors-dis…
Clrk Jan 27, 2025
a378f0c
feat: thématique intelligence artificielle
hugues-m Jan 27, 2025
aa27c3b
feat: empty team
marc-gavanier Jan 17, 2025
da5aff2
Merge pull request #130 from inclusion-numerique/feat/empty-team
Clrk Jan 27, 2025
5d4f65e
Merge pull request #137 from inclusion-numerique/fix/edit-atelier-col…
Clrk Jan 27, 2025
fb4ccfd
fix: statistics communes and structures ordering
hugues-m Jan 27, 2025
623a854
fix: v1 exports - too many security restrictions in edge cases
hugues-m Jan 27, 2025
c026881
fix: communes beneficiaires manquantes dans les stats
hugues-m Jan 27, 2025
6be7790
chore: fix fixture ids blocking deploy
hugues-m Jan 27, 2025
f78a746
fix: cra clear address
marc-gavanier Jan 27, 2025
71fb859
chore: add mednum fixture account
Clrk Jan 27, 2025
5ff7f7e
chore: infra for "sante" deployment
hugues-m Jan 28, 2025
c781e18
feat: env information only on preview branches
hugues-m Jan 28, 2025
d4df255
fix: fixture reset should also reset invitations équipes
hugues-m Jan 28, 2025
029dde3
fix: mednum fixture id failing deploys
hugues-m Jan 28, 2025
0a46360
chore: remove mednum fixture
hugues-m Jan 28, 2025
c97cddf
feat: e2e helper for structure employeuse search
hugues-m Jan 28, 2025
a8a1f57
fix: env information on dev deployment
hugues-m Jan 28, 2025
8d2e358
feat: sante deployment signin provider
hugues-m Jan 28, 2025
1550d94
chore: sante e2e signin
hugues-m Jan 28, 2025
0195315
chore: easier retry on api entreprise
hugues-m Jan 28, 2025
6f40d5f
Merge pull request #138 from inclusion-numerique/fix/cra-clear-address
Clrk Jan 28, 2025
88c9956
feat: quanditied share list are truncated by default when limit is de…
hugues-m Jan 29, 2025
1976597
fix: fixing beneficiaire suivi sur l'admin
Clrk Jan 29, 2025
912fd51
feat: rename user api en_activite data
hugues-m Jan 23, 2025
3df6f01
feat: add structures infos on emplois and mediateurs_en_activite counts
hugues-m Jan 23, 2025
f0fa605
feat: statistiques api query filters
hugues-m Jan 23, 2025
8900513
feat: statistiques api data mapping and components variants
hugues-m Jan 24, 2025
4f9f4ca
fix: coordos seeing 2 times "Mon équipe" title on accueil
hugues-m Jan 29, 2025
25c9524
feat: api statistiques doc and params
hugues-m Jan 29, 2025
ee2a255
fix: sante instance auth provider
hugues-m Jan 29, 2025
a765d5b
fix: sante signin ui
hugues-m Jan 29, 2025
c2e2dd9
Merge pull request #136 from inclusion-numerique/feat/stats-api
hugues-m Jan 29, 2025
d5419cb
feat: conseiller_numerique stats filter
hugues-m Jan 30, 2025
4c68315
feat: add matching label when conseiller numeriques works in the stru…
marc-gavanier Jan 30, 2025
c7ea681
feat: rdv oauth plan
hugues-m Jan 30, 2025
568b77a
Merge pull request #144 from inclusion-numerique/feat/rdv
hugues-m Jan 31, 2025
1fd3f77
fix: invitation fallback on user display name
hugues-m Jan 31, 2025
700b371
chore: ci cache bust - regenerate pnpm lock
hugues-m Jan 31, 2025
cbac080
fix: fixing mediateur link on admin coordination section
Clrk Jan 31, 2025
09a3292
qa: lint fixes
hugues-m Jan 31, 2025
5952098
chore: update api docs
hugues-m Feb 3, 2025
375d867
fix: beneficiaire email suppression in beneficiaire update form
hugues-m Feb 3, 2025
7e9929e
fix: beneficiaire form update when clearing fields
hugues-m Feb 3, 2025
16c017f
feat: remove undefined values helper function !stack
hugues-m Feb 4, 2025
cad3555
chore: rdv service public router boilerplate and doc
hugues-m Feb 4, 2025
f1030e3
feat: rdv api get user method
hugues-m Feb 4, 2025
85c904d
feat: users api soft delete filter and conseiller_numerique normaliza…
hugues-m Feb 4, 2025
e4537d4
feat: cli command to fetch stats for conum
Clrk Feb 4, 2025
f2bf690
chore: update scaleway cdk constructs
hugues-m Feb 4, 2025
c867087
chore: update lock
hugues-m Feb 4, 2025
5e36090
qa: lint fixes
hugues-m Feb 4, 2025
f4e9715
chore: ci cache bust
hugues-m Feb 4, 2025
bcd826d
fix: retry with backoff for secret manager http client
hugues-m Feb 5, 2025
60f6186
qa: update proconnect logout e2e
hugues-m Feb 10, 2025
1676607
feat: use mediateur coordonnes suppression column for soft delete
marc-gavanier Jan 29, 2025
1c59e06
feat: get activites for mediateurs coordonnes before removal from team
marc-gavanier Jan 29, 2025
6a2b526
feat: add anciens membres
marc-gavanier Jan 30, 2025
a26b1b0
feat: mark old members in stats filter
marc-gavanier Feb 7, 2025
43e38f5
qa: only use dumb components in storybook stories
hugues-m Feb 10, 2025
7b45211
Merge pull request #143 from inclusion-numerique/feat/api-mednum
Clrk Feb 10, 2025
fa376ae
qa: only use dumb components in storybook stories
marc-gavanier Feb 10, 2025
df047ad
Merge pull request #146 from inclusion-numerique/feat/remove-mediateur
Clrk Feb 10, 2025
d4f6c06
feat: update structure employeuse with referent
marc-gavanier Feb 5, 2025
0aaa35c
ui: fix referent de structure typo
Clrk Feb 10, 2025
7ee77b1
feat: empty state when no lieu activite and fix missing entry in app …
marc-gavanier Feb 10, 2025
f2344da
Merge pull request #150 from inclusion-numerique/feat/structure-emplo…
Clrk Feb 11, 2025
2de5a37
Merge pull request #152 from inclusion-numerique/feat/lieu-acivite-empty
Clrk Feb 11, 2025
38ba863
chore: update doc for ProConnect
hugues-m Feb 10, 2025
ae8c022
fix: exports v1 pour ids manuels coordos
hugues-m Feb 11, 2025
f1ac7f1
feat: add links to team members details for mediateurs
marc-gavanier Feb 7, 2025
bccd034
Merge pull request #151 from inclusion-numerique/feat/mediateur-team-…
hugues-m Feb 11, 2025
d399d12
update: politique de confidentialité
Clrk Feb 11, 2025
2cf9afd
fix: lint
Clrk Feb 11, 2025
26fbaa5
feat: add restponsable structure for coordinateur
marc-gavanier Feb 11, 2025
8c2ee70
fix: fix invalid structure employeuse during inscription
Clrk Feb 12, 2025
7a640ba
feat: adding contract info with IdPG on profile page ande MediateurDe…
Clrk Feb 14, 2025
89f5108
feat: adding badge Contrat terminé to Contract.tsx
Clrk Feb 14, 2025
36fe7e4
fix: lint
Clrk Feb 14, 2025
9dd1d97
feat: filtre conseillers numeriques pour API utilisateurs
hugues-m Feb 18, 2025
088429d
feat: ajout bouton de support pour reset l'inscription user
Clrk Feb 18, 2025
4928f70
fix: fix invalid structure employeuse during inscription
Clrk Feb 12, 2025
3868af3
feat: update conum structure referent script
marc-gavanier Feb 18, 2025
07699e0
fix migration
Clrk Feb 19, 2025
7da345a
Merge pull request #155 from inclusion-numerique/feat/coord-resp-struct
Clrk Feb 19, 2025
9726a9e
feat: sync users with brevo contacts
marc-gavanier Feb 11, 2025
aad679a
Merge pull request #154 from inclusion-numerique/feat/brevo-contacts
Clrk Feb 20, 2025
9d65263
Merge pull request #158 from inclusion-numerique/feat/support-reset-i…
Clrk Feb 20, 2025
8e84276
feat: statistiques profil filter
marc-gavanier Feb 21, 2025
e3c8fdc
feat: ancien membres details page
marc-gavanier Feb 19, 2025
7e2dd79
Merge pull request #161 from inclusion-numerique/feat/profil-filter
Clrk Feb 24, 2025
4793c6b
Merge pull request #159 from inclusion-numerique/feat/anciens-membres…
Clrk Feb 24, 2025
a0e0dc5
chore: invalidate ci cache
Clrk Feb 24, 2025
966354b
chore: add circle config to skip check !stack
Clrk Feb 24, 2025
3c5eae6
Revert "chore: add circle config to skip check !stack"
Clrk Feb 24, 2025
a86828c
chore: add circle config to skip check !stack
hugues-m Feb 24, 2025
f3fb4c4
chore: use biome for linting
hugues-m Feb 21, 2025
73429e7
chore: apply biome lint to cli package
hugues-m Feb 21, 2025
1fca20a
chore: apply biome safe lints to web package
hugues-m Feb 21, 2025
6aa8e47
feat: noop utility function !stack
hugues-m Feb 21, 2025
b6d0f9f
chore: enable css module for biome
hugues-m Feb 21, 2025
4ec43fd
qa: wip web lints
hugues-m Feb 21, 2025
1b5eba8
qa: wip packages lints
hugues-m Feb 21, 2025
d4afb9c
chore: fix workspace package.json
hugues-m Feb 21, 2025
5f3003d
chore: update lint ci jobs
hugues-m Feb 21, 2025
2e2d324
chore: re-add .prettierrc for easier intelliJ integration with biome …
hugues-m Feb 24, 2025
dd2cfdb
chore: execute all lints in one ci job !stack
hugues-m Feb 24, 2025
ddfc5e6
qa: biome lint fixes
hugues-m Feb 24, 2025
1f72f5a
chore: remove eslint comments
hugues-m Feb 24, 2025
f24f5e9
chore: remove stylelint
hugues-m Feb 24, 2025
ca659c1
qa: fixes after dev rebase
hugues-m Feb 24, 2025
e01c27a
qa: fix worksheet jest test
hugues-m Feb 24, 2025
a797fc0
chore: fix jest sentry mock config
hugues-m Feb 24, 2025
15f47b3
Merge pull request #162 from inclusion-numerique/chore/biome
hugues-m Feb 24, 2025
3e79a7b
working with unicorn only
KGALLET Feb 20, 2025
b17e15f
working with all the plugins
KGALLET Feb 20, 2025
87cd0e3
update: update wording sur la thématique "Créer avec le numérique"
Clrk Dec 16, 2024
1250060
feat: chat assistant structure, configuration and openai SDK integration
hugues-m Dec 17, 2024
565c4fd
feat: llm provider configuration and integration test
hugues-m Dec 18, 2024
c63e999
feat: chat poc with scaleway llama
hugues-m Dec 18, 2024
4e8d40a
qa: ui fix
hugues-m Dec 18, 2024
0bc040c
feat: assistant chat ui
hugues-m Dec 19, 2024
c1f029d
feat: chat session soft deletion
hugues-m Dec 20, 2024
5af04e0
feat: tools calls setup poc
hugues-m Dec 20, 2024
8c19b77
feat: use open ai sdk for tools configuration
hugues-m Dec 23, 2024
33197a8
feat: web search tool poc
hugues-m Dec 23, 2024
0df3c4b
ui: fixes
hugues-m Dec 24, 2024
e83837c
feat: pgvector extension migration
hugues-m Dec 24, 2024
1ae3cf6
feat: chat session frontend state management and components
hugues-m Dec 26, 2024
0c33061
qa: lint fix
hugues-m Dec 26, 2024
7637b3c
chore: vector postgress circle ci container
hugues-m Dec 26, 2024
16a418f
chore: pg vector ci image
hugues-m Dec 27, 2024
6e65cf9
qa: integration tests update
hugues-m Dec 27, 2024
5dc21c9
chore: reserved scw env var for deployment
hugues-m Dec 27, 2024
6c4f38f
update: fix goggle url
Clrk Jan 3, 2025
4c302e7
update: fix brave api params
Clrk Jan 3, 2025
1b40c74
update: web_search tool description
Clrk Jan 3, 2025
836cc14
qa: update assistant integration tests
hugues-m Jan 6, 2025
e608123
feat: notion embedings rag poc
hugues-m Jan 6, 2025
89ae083
feat: embedding sql param serialization
hugues-m Jan 6, 2025
2484092
feat: embeddings integration tests
hugues-m Jan 9, 2025
b3b6af3
feat: rag and search tools structure and helper functions
hugues-m Jan 14, 2025
6c47b91
feat: web search and administration tools. Notion rag search tool poc
hugues-m Jan 14, 2025
2c3e201
feat: notion centre aide rag poc
hugues-m Jan 14, 2025
947549a
qa: fix ci openai test
hugues-m Jan 14, 2025
b46c1fb
feat: bases markdown ingestion command structure
hugues-m Jan 15, 2025
0f57d03
feat: les bases rag job
hugues-m Jan 15, 2025
6baafdf
feat: assistant fixes and tasks examples
hugues-m Jan 16, 2025
0d0105b
chore: updated prisma
hugues-m Feb 6, 2025
07dad59
feat: new scaleway models
hugues-m Feb 7, 2025
cddeacc
feat: agentic tool poc
hugues-m Feb 7, 2025
969aecf
qa: update openai integration test
hugues-m Feb 7, 2025
03656c1
feat: chat session state management and tool result ui
hugues-m Feb 14, 2025
a616870
feat: chat session state management and tool result ui
hugues-m Feb 14, 2025
3d5d7e5
feat: user ui parsed markdown chunks
hugues-m Feb 14, 2025
948633a
feat: assistant config data model
hugues-m Feb 17, 2025
273b16e
qa: lint fix
hugues-m Feb 17, 2025
0ae9052
feat: assistant agentic search and custom params
hugues-m Feb 18, 2025
2a77d81
feat: system message tuning
hugues-m Feb 18, 2025
30d717b
chore: update pnpm lock
hugues-m Feb 24, 2025
e0e2b1a
qa: apply biome lint to assistant features
hugues-m Feb 24, 2025
1a10d10
qa: integration assistant timeouts
hugues-m Feb 24, 2025
10e4649
qa: smaller summary assistant integration test file
hugues-m Feb 24, 2025
ff96343
chore: test file formating
hugues-m Feb 24, 2025
7d7fac3
Merge pull request #110 from inclusion-numerique/feat/assistant
hugues-m Feb 24, 2025
2e1231d
qa: remove excessive output during structures job
hugues-m Feb 25, 2025
74ea8d5
feat: system message minor change
hugues-m Feb 25, 2025
69adb30
dev feat budget page
manonGalle Jan 2, 2025
2cc1d76
qa: qa fixes page budget
hugues-m Feb 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
94 changes: 51 additions & 43 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,43 +6,43 @@ orbs:
executors:
node:
docker:
- image: cimg/node:22.9.0
- image: cimg/node:22.10.0
environment:
TZ: 'UTC'

node-postgres:
docker:
- image: cimg/node:22.9.0
- image: cimg/node:22.10.0
environment:
TZ: 'UTC'
CI_PG_ADMIN_URL: postgresql://postgres@localhost
CI_DATABASE_URL: postgresql://postgres@localhost/test
- image: cimg/postgres:14.0
- image: huguesm/circleci-postgres:14.13-vector
environment:
POSTGRES_USER: postgres
node-browsers:
docker:
- image: cimg/node:22.9.0-browsers
- image: cimg/node:22.10.0-browsers
environment:
TZ: 'UTC'
node-e2e:
docker:
- image: cimg/node:22.9.0-browsers
- image: cimg/node:22.10.0-browsers
environment:
TZ: 'UTC'
CI_DATABASE_URL: postgresql://postgres@localhost/test
- image: maildev/maildev:latest
environment:
MAILDEV_INCOMING_USER: mailuser
MAILDEV_INCOMING_PASS: mailpassword
- image: cimg/postgres:14.0
- image: huguesm/circleci-postgres:14.13-vector
environment:
POSTGRES_USER: postgres

parameters:
cache_version:
type: string
default: '2024-10-03-01'
default: '2025-02-24-01'
virtual_store_dir:
type: string
default: './.pnpm'
Expand All @@ -51,7 +51,7 @@ parameters:
default: './pnpm-lock.yaml'
image:
type: string
default: stack-web-<< pipeline.git.branch >> | sed -e 's/\//-/g'
default: coop-mediation-numerique-web-<< pipeline.git.branch >> | sed -e 's/\//-/g'
deploy_version:
type: string
default: latest
Expand All @@ -69,7 +69,7 @@ parameters:
web_app_docker_registry:
# This is redundant with .env.dist but needed as jobs are way simpler to configure with this parameter
type: string
default: 'rg.fr-par.scw.cloud/stack-web-app'
default: 'rg.fr-par.scw.cloud/coop-mediation-numerique-web-app'
preview_deletion_branch:
type: string
default: ""
Expand All @@ -81,10 +81,7 @@ workflows:
equal: [ web_app_deployment, << pipeline.parameters.trigger_workflow >> ]
jobs:
- prepare_workspace_dependencies
- lint_web:
requires:
- prepare_workspace_dependencies
- lint_packages:
- lint:
requires:
- prepare_workspace_dependencies
- test_packages:
Expand All @@ -110,8 +107,7 @@ workflows:

- deploy_web:
requires:
- lint_web
- lint_packages
- lint
- build_web
- test_packages
- test_web
Expand All @@ -124,17 +120,13 @@ workflows:
equal: [ chromatic_deployment, << pipeline.parameters.trigger_workflow >> ]
jobs:
- prepare_workspace_dependencies
- lint_web:
requires:
- prepare_workspace_dependencies
- lint_packages:
- lint:
requires:
- prepare_workspace_dependencies
- chromatic:
requires:
- prepare_workspace_dependencies
- lint_web
- lint_packages
- lint

project_infrastructure_deployment:
when:
Expand Down Expand Up @@ -180,7 +172,7 @@ jobs:
steps:
- checkout
- skip/skip_unchanged:
paths: pnpm-lock.yaml
paths: pnpm-lock.yaml .circleci/config.yml
- install_dependencies
- run:
name: 'Fetch dependencies'
Expand All @@ -200,7 +192,6 @@ jobs:
- ./packages/config/node_modules
- ./packages/e2e/node_modules
- ./packages/emails/node_modules
- ./packages/lint/node_modules
- ./packages/storybook/node_modules
- ./packages/test/node_modules
- ./packages/ui/node_modules
Expand All @@ -211,7 +202,7 @@ jobs:
paths:
- /home/circleci/.cache/Cypress

lint_web:
lint:
executor: node
resource_class: large
steps:
Expand All @@ -224,26 +215,33 @@ jobs:
name: 'Tsc'
command: pnpm tsc
- run:
name: 'Lint @app/web'
command: pnpm -F '@app/web' lint
no_output_timeout: 30m

lint_packages:
executor: node
resource_class: large
steps:
- checkout
- install_dependencies
name: 'Lint all packages except @app/web'
command: pnpm -F '!@app/web' lint
- run:
name: 'Prisma generate'
command: pnpm --silent -F @app/web prisma generate
name: 'Lint @app/web - biome'
command: pnpm -F '@app/web' lint:biome
# check that the openapi file is the same before and after generating (developers should have generated it)
- run:
name: 'Tsc'
command: pnpm tsc
name: 'Get openapi spec file hash before generating'
command: |
echo "OPENAPI_SPEC_FILE_HASH_BEFORE_GENERATING=$(cat apps/web/src/app/api/v1/documentation/v1.openapi.json | shasum -a 256)" >> $BASH_ENV
- run:
name: 'Lint all packages except @app/web'
command: pnpm -F '!@app/web' lint
no_output_timeout: 30m
name: 'Generate openapi docs for api v1'
command: pnpm --silent -F @app/web api-v1-doc:generate
- run:
name: 'Get openapi spec file hash after generating'
command: |
echo "OPENAPI_SPEC_FILE_HASH_AFTER_GENERATING=$(cat apps/web/src/app/api/v1/documentation/v1.openapi.json | shasum -a 256)" >> $BASH_ENV
- run:
name: 'Check that versioning of openapi spec file has not changed'
command: |
if [[ "$OPENAPI_SPEC_FILE_HASH_BEFORE_GENERATING" != "$OPENAPI_SPEC_FILE_HASH_AFTER_GENERATING" ]]; then
echo "Openapi spec file has changed, please run 'pnpm --silent -F @app/web api-v1-doc:generate' to update the openapi spec file and commit the changes"
exit 1
fi
- run:
name: 'Lint @app/web - api'
command: pnpm -F '@app/web' lint:api

lint_and_test_cdk_package:
executor: node
Expand Down Expand Up @@ -312,7 +310,7 @@ jobs:
- << pipeline.parameters.cache_version >>-next-prod-{{ checksum "<< pipeline.parameters.lockfile >>" }}-{{ checksum "./.env" }}
- run:
name: 'Build next app'
command: pnpm --silent -F @app/web build
command: SENTRY_RELEASE=true pnpm --silent -F @app/web build
- save_cache:
key: << pipeline.parameters.cache_version >>-next-prod-{{ checksum "<< pipeline.parameters.lockfile >>" }}-{{ checksum "./.env" }}
paths:
Expand All @@ -331,6 +329,7 @@ jobs:
- ./apps/web/.next/standalone
- ./apps/web/.next/static
- ./apps/web/public
- ./apps/web/private-static

chromatic:
executor: node
Expand Down Expand Up @@ -396,6 +395,10 @@ jobs:
echo "SMTP_PASSWORD=mailpassword" >> .env
echo "IS_E2E=true" >> .env
echo 'PROCONNECT_CLIENT_SECRET=$PROCONNECT_LOCAL_CLIENT_SECRET' >> .env
echo 'NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_HOSTNAME="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_HOSTNAME"' >> .env
echo 'NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_CLIENT_ID="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_ID"' >> .env
echo 'RDV_SERVICE_PUBLIC_OAUTH_CLIENT_SECRET="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_SECRET"' >> .env
echo 'RDV_SERVICE_PUBLIC_API_KEY="$RDV_SERVICE_PUBLIC_LOCAL_API_KEY"' >> .env
echo 'CYPRESS_PROCONNECT_TEST_USER_EMAIL=$PROCONNECT_TEST_USER_EMAIL' >> .env
echo 'CYPRESS_PROCONNECT_TEST_USER_PASSWORD=$PROCONNECT_TEST_USER_PASSWORD' >> .env
- add_dotenv_vars_to_bash_env
Expand All @@ -421,6 +424,7 @@ jobs:
command: |
mv apps/web/.next/standalone ~/dist
mv apps/web/public ~/dist/apps/web/public
mv apps/web/private-static ~/dist/apps/web/private-static
mv apps/web/.next/static ~/dist/apps/web/.next/static
cd ~/dist
NODE_TLS_REJECT_UNAUTHORIZED="0" HOSTNAME=localhost node apps/web/server.js
Expand Down Expand Up @@ -449,6 +453,10 @@ jobs:
echo "SMTP_PORT=1025" >> .env
echo "SMTP_USERNAME=mailuser" >> .env
echo "SMTP_PASSWORD=mailpassword" >> .env
echo 'NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_HOSTNAME="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_HOSTNAME"' >> .env
echo 'NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_CLIENT_ID="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_ID"' >> .env
echo 'RDV_SERVICE_PUBLIC_OAUTH_CLIENT_SECRET="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_SECRET"' >> .env
echo 'RDV_SERVICE_PUBLIC_API_KEY="$RDV_SERVICE_PUBLIC_LOCAL_API_KEY"' >> .env
- run:
name: 'Prisma generate'
command: pnpm --silent -F @app/web prisma generate
Expand Down Expand Up @@ -676,7 +684,7 @@ commands:
echo "export WEB_APP_DOCKER_REGISTRY='<< pipeline.parameters.web_app_docker_registry >>'" >> ${BASH_ENV}
echo "export BRANCH='<< pipeline.git.branch >>'" >> ${BASH_ENV}
echo "export NAMESPACE=$(echo '<< pipeline.git.branch >>' | sed -e 's/\//-/g')" >> ${BASH_ENV}
echo "export IMAGE_NAME=$(echo 'stack-web-<< pipeline.git.branch >>' | sed -e 's/\//-/g')" >> ${BASH_ENV}
echo "export IMAGE_NAME=$(echo 'coop-mediation-numerique-web-<< pipeline.git.branch >>' | sed -e 's/\//-/g')" >> ${BASH_ENV}
echo "export IMAGE_BUILD_TAG=$(echo '$WEB_APP_DOCKER_REGISTRY/$IMAGE_NAME:<< pipeline.number >>')" >> ${BASH_ENV}
echo "export IMAGE_DEPLOY_TAG=$(echo '$WEB_APP_DOCKER_REGISTRY/$IMAGE_NAME:<< pipeline.parameters.deploy_version >>')" >> ${BASH_ENV}
echo "export IMAGE_E2E_TAG=$(echo '$WEB_APP_DOCKER_REGISTRY/$IMAGE_NAME:<< pipeline.parameters.e2e_version >>')" >> ${BASH_ENV}
Expand Down
72 changes: 58 additions & 14 deletions .env.dist
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
TZ=UTC
SCW_DEFAULT_REGION=fr-par
SCW_DEFAULT_ORGANIZATION_ID=0e5249bc-c22c-42a9-b30d-6105fc814d75
SCW_PROJECT_ID=6f7de13a-078a-4cc1-bcd1-813e80f40292
SCW_PROJECT_ID=61bfe597-bcc4-4f8b-8e2b-ff93ba2a2439
DO_NOT_TRACK=1
TURBO_TELEMETRY_DISABLED=1

# Activate node packages debug
#DEBUG="prisma:client"
PRISMA_ENABLE_LOGGING=0

# Scaleway authentication
# This is your personal credential, ask a team member for how to generate it
Expand All @@ -38,13 +38,16 @@ SCW_SECRET_KEY="<secret>"
# Web app variables (apps/web)
##############################

NEXT_PUBLIC_APP_NAME="Stack"
NEXT_PUBLIC_APP_SLUG="stack"
NEXT_PUBLIC_APP_NAME="La coop de la médiation numérique"
NEXT_PUBLIC_APP_SLUG="coop-mediation-numerique"

# Database connection string
DATABASE_URL="postgresql://${NEXT_PUBLIC_APP_SLUG}:password@localhost:5433/${NEXT_PUBLIC_APP_SLUG}?schema=public"

NEXT_PUBLIC_CONTACT_EMAIL=hugues.maignol@beta.gouv.fr
# Accès à la base de données MongoDB de conseiller-numerique.beta.gouv.fr
CONSEILLER_NUMERIQUE_MONGODB_URL="<secret>"

NEXT_PUBLIC_CONTACT_EMAIL=coop-numerique@anct.gouv.fr

# Next auth secret must be unique to your environment
NEXTAUTH_SECRET="<change-me>"
Expand All @@ -53,7 +56,7 @@ NEXTAUTH_SECRET="<change-me>"
NEXT_TELEMETRY_DISABLED=1

# Mail sending
EMAIL_FROM_DOMAIN=$NEXT_PUBLIC_APP_SLUG.incubateur.anct.gouv.fr
EMAIL_FROM_DOMAIN=coop-numerique.anct.gouv.fr
EMAIL_FROM_ADDRESS=contact@$EMAIL_FROM_DOMAIN
EMAIL_FROM_NAME="[Dev] $NEXT_PUBLIC_APP_NAME"
# Change the SMTP server to a mailcatcher if you want
Expand All @@ -65,14 +68,16 @@ SMTP_PASSWORD="<change-me>"

# Sentry auth token only needed to interact with Sentry API (e.g. publishing releases,...)
SENTRY_AUTH_TOKEN="<secret>"
NEXT_PUBLIC_SENTRY_DSN=https://22968dca8fe84972bf74932d68dae55e@sentry.incubateur.net/92
NEXT_PUBLIC_SENTRY_DSN=https://5a7a0ba0a9784132b31fe226c1344655@sentry.incubateur.net/150
SENTRY_URL=https://sentry.incubateur.net
SENTRY_ORG=betagouv
SENTRY_PROJECT=$NEXT_PUBLIC_APP_SLUG
## Create sourcemaps and release on sentry
SENTRY_ENABLE_RELEASE=false

# Matomo
NEXT_PUBLIC_MATOMO_HOST=matomo.incubateur.anct.gouv.fr
NEXT_PUBLIC_MATOMO_SITE_ID='8'
NEXT_PUBLIC_MATOMO_SITE_ID='21'

# Object storage credentials
S3_HOST=s3.fr-par.scw.cloud
Expand All @@ -85,11 +90,11 @@ AWS_ENDPOINT_URL_S3=https://$S3_HOST

# ProConnect authentication variables
PROCONNECT_LOCAL_HOSTNAME="fca.integ01.dev-agentconnect.fr"
PROCONNECT_LOCAL_CLIENT_ID="<to-be-defined>"
PROCONNECT_LOCAL_CLIENT_ID="623c51c1-fb06-427d-917a-7408f5e50ca7"
PROCONNECT_LOCAL_CLIENT_SECRET="<secret>"

PROCONNECT_PREVIEW_HOSTNAME="fca.integ01.dev-agentconnect.fr"
PROCONNECT_PREVIEW_CLIENT_ID="<to-be-defined>"
PROCONNECT_PREVIEW_CLIENT_ID="623c51c1-fb06-427d-917a-7408f5e50ca7"
PROCONNECT_PREVIEW_CLIENT_SECRET="<secret>"

PROCONNECT_MAIN_HOSTNAME="auth.agentconnect.gouv.fr"
Expand All @@ -110,12 +115,50 @@ CYPRESS_PROCONNECT_TEST_USER_PASSWORD=$PROCONNECT_TEST_USER_PASSWORD
# Internal private key for private API calls
INTERNAL_API_PRIVATE_KEY="<secret>"

# Api entreprise
API_ENTREPRISE_TOKEN="<secret>"

# Security
HMAC_SECRET_KEY="<change-for-a-secure-and-random-key>"

# Assistant credentials
MISTRAL_API_KEY="<secret>"
SCALEWAY_GENERATIVE_API_SERVICE_URL="<secret>"
ALBERT_SERVICE_URL="https://albert.api.etalab.gouv.fr/v1/"
ALBERT_API_KEY="<secret>"
BRAVE_API_KEY="<secret>"

# RDV Service public api and OAuth credentials
RDV_SERVICE_PUBLIC_LOCAL_API_KEY="<secret>"
RDV_SERVICE_PUBLIC_LOCAL_OAUTH_HOSTNAME="demo.rdv-aide-numerique.fr"
RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_ID="<secret>"
RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_SECRET="<secret>"

RDV_SERVICE_PUBLIC_PREVIEW_API_KEY="<secret>"
RDV_SERVICE_PUBLIC_PREVIEW_OAUTH_HOSTNAME="demo.rdv-aide-numerique.fr"
RDV_SERVICE_PUBLIC_PREVIEW_OAUTH_CLIENT_ID="<secret>"
RDV_SERVICE_PUBLIC_PREVIEW_OAUTH_CLIENT_SECRET="<secret>"

RDV_SERVICE_PUBLIC_MAIN_API_KEY="<secret>"
RDV_SERVICE_PUBLIC_MAIN_OAUTH_HOSTNAME="www.rdv-aide-numerique.fr"
RDV_SERVICE_PUBLIC_MAIN_OAUTH_CLIENT_ID="<secret>"
RDV_SERVICE_PUBLIC_MAIN_OAUTH_CLIENT_SECRET="<secret>"

NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_HOSTNAME="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_HOSTNAME"
NEXT_PUBLIC_RDV_SERVICE_PUBLIC_OAUTH_CLIENT_ID="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_ID"
RDV_SERVICE_PUBLIC_OAUTH_CLIENT_SECRET="$RDV_SERVICE_PUBLIC_LOCAL_OAUTH_CLIENT_SECRET"
RDV_SERVICE_PUBLIC_API_KEY="$RDV_SERVICE_PUBLIC_LOCAL_API_KEY"

# Brevo
BREVO_API_KEY="<secret>"
BREVO_USERS_LIST_ID="34"

##############################
# Storybook Variables (packages/storybook)
##############################

CHROMATIC_PROJECT_TOKEN="<secret>"
CHROMATIC_APP_ID=6437b8e47c46a95e460061e0
CHROMATIC_APP_ID=661549fb7cb5474a3bf7d8d7

##############################
# CLI Variables
Expand Down Expand Up @@ -145,10 +188,10 @@ CIRCLE_CI_TOKEN="<secret>"
# Used for cdk development tests only
#CDK_FORCE_BRANCH="ops/new-domain"

MAIN_ROOT_DOMAIN=incubateur.anct.gouv.fr
MAIN_ROOT_DOMAIN=anct.gouv.fr
PREVIEW_ROOT_DOMAIN=incubateur.anct.gouv.fr
MAIN_SUBDOMAIN=$NEXT_PUBLIC_APP_SLUG
PREVIEW_SUBDOMAIN=$NEXT_PUBLIC_APP_SLUG
MAIN_SUBDOMAIN="coop-numerique"
PREVIEW_SUBDOMAIN="coop-mediation-numerique"
DATABASE_INSTANCE_NAME=$NEXT_PUBLIC_APP_SLUG-production
CONTAINER_NAMESPACE_NAME=$NEXT_PUBLIC_APP_SLUG-web
WEB_APP_DOCKER_REGISTRY_NAME=$NEXT_PUBLIC_APP_SLUG-web-app
Expand All @@ -158,3 +201,4 @@ COCKPIT_GRAPHANA_EDITORS=hugues,thibault,marc
COCKPIT_GRAPHANA_VIEWERS=""

CYPRESS_RECORD_KEY="<secret>"

Loading
Loading