From 96f71dd74f758a8569bd066bd8a8e3a834856fb4 Mon Sep 17 00:00:00 2001 From: VioMrqs <27735540+VioMrqs@users.noreply.github.com> Date: Thu, 8 Jan 2026 16:11:50 +0100 Subject: [PATCH] remove feature flag page projet --- packages/applications/legacy/.env.template | 2 +- packages/applications/ssr/.env.template | 2 +- .../_helpers/checkFeatureFlag.ts" | 22 ------------------- .../evaluation-carbone/page.tsx" | 10 +-------- .../(d\303\251tails)/imprimer/page.tsx" | 9 +------- .../informations-generales/page.tsx" | 10 +-------- .../(d\303\251tails)/installation/page.tsx" | 12 ++-------- .../(d\303\251tails)/layout.tsx" | 7 ------ .../[identifiant]/(d\303\251tails)/page.tsx" | 9 +------- .../(d\303\251tails)/taches/page.tsx" | 10 +-------- .../utils/feature-flag/FeatureFlagContext.tsx | 2 +- .../applications/subscribers/.env.template | 2 +- 12 files changed, 11 insertions(+), 86 deletions(-) delete mode 100644 "packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/_helpers/checkFeatureFlag.ts" diff --git a/packages/applications/legacy/.env.template b/packages/applications/legacy/.env.template index 9de8b494038..13bdc2d3504 100644 --- a/packages/applications/legacy/.env.template +++ b/packages/applications/legacy/.env.template @@ -75,4 +75,4 @@ PROCONNECT_ACCOUNT=https://identite-sandbox.proconnect.gouv.fr/ ELASTICSEARCH_URL= # FEATURES -FEATURES=page-projet +FEATURES= diff --git a/packages/applications/ssr/.env.template b/packages/applications/ssr/.env.template index e6bd7a23f08..8c25480964d 100644 --- a/packages/applications/ssr/.env.template +++ b/packages/applications/ssr/.env.template @@ -94,7 +94,7 @@ PROCONNECT_ACCOUNT=https://identite-sandbox.proconnect.gouv.fr/ ELASTICSEARCH_URL= # FEATURES -FEATURES=page-projet +FEATURES= # DÉMARCHES SIMPLIFIÉES DS_API_URL=https://demarche.numerique.gouv.fr/api/v2/graphql diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/_helpers/checkFeatureFlag.ts" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/_helpers/checkFeatureFlag.ts" deleted file mode 100644 index 1a6efcc31e9..00000000000 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/_helpers/checkFeatureFlag.ts" +++ /dev/null @@ -1,22 +0,0 @@ -import { redirect } from 'next/navigation'; - -import { getContext } from '@potentiel-applications/request-context'; -import { IdentifiantProjet } from '@potentiel-domain/projet'; - -export const checkFeatureFlag = ( - identifiantProjet: IdentifiantProjet.ValueType, - searchParams?: Record, -) => { - const urlSearchParams = new URLSearchParams(searchParams); - - const { features } = getContext() ?? {}; - - // Redirection vers la page projet legacy - if (!features?.includes('page-projet')) { - const legacyUrl = `/projet/${encodeURIComponent(identifiantProjet.formatter())}/details.html`; - if (urlSearchParams.size === 0) { - redirect(legacyUrl); - } - redirect(`${legacyUrl}?${urlSearchParams.toString()}`); - } -}; diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/evaluation-carbone/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/evaluation-carbone/page.tsx" index 74cbbff5b84..c123865b631 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/evaluation-carbone/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/evaluation-carbone/page.tsx" @@ -4,20 +4,12 @@ import { decodeParameter } from '@/utils/decodeParameter'; import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { PageWithErrorHandling } from '@/utils/PageWithErrorHandling'; -import { checkFeatureFlag } from '../_helpers/checkFeatureFlag'; - import { ÉvaluationCarbonePage } from './ÉvaluationCarbone.page'; -type PageProps = IdentifiantParameter & { - searchParams?: Record; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => { const identifiantProjet = IdentifiantProjet.convertirEnValueType(decodeParameter(identifiant)); - checkFeatureFlag(identifiantProjet, searchParams); - return <ÉvaluationCarbonePage identifiantProjet={identifiantProjet.formatter()} />; }); } diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/imprimer/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/imprimer/page.tsx" index 5c9151552b0..f26016d717c 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/imprimer/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/imprimer/page.tsx" @@ -4,16 +4,11 @@ import { decodeParameter } from '@/utils/decodeParameter'; import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { PageWithErrorHandling } from '@/utils/PageWithErrorHandling'; -import { checkFeatureFlag } from '../_helpers/checkFeatureFlag'; import { getCahierDesCharges } from '../../../../_helpers'; import { ImprimerPage } from './Imprimer.page'; -type PageProps = IdentifiantParameter & { - searchParams?: Record; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => { const identifiantProjet = IdentifiantProjet.convertirEnValueType(decodeParameter(identifiant)); @@ -27,8 +22,6 @@ export default async function Page({ params: { identifiant }, searchParams }: Pa champsSupplémentaires.autorisationDUrbanisme ); - checkFeatureFlag(identifiantProjet, searchParams); - return ( ; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => { const identifiantProjet = IdentifiantProjet.convertirEnValueType(decodeParameter(identifiant)); - checkFeatureFlag(identifiantProjet, searchParams); - return ; }); } diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/installation/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/installation/page.tsx" index fb40bc95b25..4da174e54fa 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/installation/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/installation/page.tsx" @@ -1,23 +1,15 @@ import { IdentifiantProjet } from '@potentiel-domain/projet'; import { decodeParameter } from '@/utils/decodeParameter'; -import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { PageWithErrorHandling } from '@/utils/PageWithErrorHandling'; - -import { checkFeatureFlag } from '../_helpers/checkFeatureFlag'; +import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { InstallationPage } from './Installation.page'; -type PageProps = IdentifiantParameter & { - searchParams?: Record; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => { const identifiantProjet = IdentifiantProjet.convertirEnValueType(decodeParameter(identifiant)); - checkFeatureFlag(identifiantProjet, searchParams); - return ; }); } diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/layout.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/layout.tsx" index 7c0df73de73..44f487904c7 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/layout.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/layout.tsx" @@ -1,4 +1,3 @@ -import { getContext } from '@potentiel-applications/request-context'; import { IdentifiantProjet } from '@potentiel-domain/projet'; import { decodeParameter } from '@/utils/decodeParameter'; @@ -18,12 +17,6 @@ export default async function LauréatDétailsLayout({ children, params }: Layou decodeParameter(params.identifiant), ); - const { features } = getContext() ?? {}; - - if (!features?.includes('page-projet')) { - return children; - } - const items = await getLauréatMenuItems({ identifiantProjet, utilisateur }); return ( diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/page.tsx" index 1196107a312..81c0ce9643c 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/page.tsx" @@ -5,18 +5,11 @@ import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { PageWithErrorHandling } from '@/utils/PageWithErrorHandling'; import { TableauDeBordPage } from './TableauDeBord.page'; -import { checkFeatureFlag } from './_helpers/checkFeatureFlag'; -type PageProps = IdentifiantParameter & { - searchParams?: Record; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => { const identifiantProjet = IdentifiantProjet.convertirEnValueType(decodeParameter(identifiant)); - checkFeatureFlag(identifiantProjet, searchParams); - return ; }); } diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/taches/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/taches/page.tsx" index f17263dee2e..c446b7fd0f8 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/taches/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/taches/page.tsx" @@ -6,24 +6,16 @@ import { IdentifiantParameter } from '@/utils/identifiantParameter'; import { PageWithErrorHandling } from '@/utils/PageWithErrorHandling'; import { withUtilisateur } from '@/utils/withUtilisateur'; -import { checkFeatureFlag } from '../_helpers/checkFeatureFlag'; - import { getTâches } from './_helpers/getTâches'; import { TâchesPage } from './Tâches.page'; -type PageProps = IdentifiantParameter & { - searchParams?: Record; -}; - -export default async function Page({ params: { identifiant }, searchParams }: PageProps) { +export default async function Page({ params: { identifiant } }: IdentifiantParameter) { return PageWithErrorHandling(async () => withUtilisateur(async (utilisateur) => { const identifiantProjet = IdentifiantProjet.convertirEnValueType( decodeParameter(identifiant), ); - checkFeatureFlag(identifiantProjet, searchParams); - const tâches = await getTâches( identifiantProjet.formatter(), utilisateur.identifiantUtilisateur.email, diff --git a/packages/applications/ssr/src/utils/feature-flag/FeatureFlagContext.tsx b/packages/applications/ssr/src/utils/feature-flag/FeatureFlagContext.tsx index 815845b5088..0960f5f65ec 100644 --- a/packages/applications/ssr/src/utils/feature-flag/FeatureFlagContext.tsx +++ b/packages/applications/ssr/src/utils/feature-flag/FeatureFlagContext.tsx @@ -1,4 +1,4 @@ -'user client'; +'use client'; import { createContext, useContext } from 'react'; diff --git a/packages/applications/subscribers/.env.template b/packages/applications/subscribers/.env.template index 57860fb567c..51645cc7d17 100644 --- a/packages/applications/subscribers/.env.template +++ b/packages/applications/subscribers/.env.template @@ -48,4 +48,4 @@ ORE_ENDPOINT=https://opendata.agenceore.fr ELASTICSEARCH_URL= # FEATURES -FEATURES=page-projet +FEATURES=