recette2
cherif 2025-01-06 22:13:18 +01:00
parent e54778bc3e
commit 7a1bee91ff
4 changed files with 225 additions and 170 deletions

View File

@ -2,6 +2,12 @@ module.exports = {
webpack: function (config) {
return {
...config,
optimization: {
splitChunks: {
maxSize: 5000000, // 5MB in static size, before compression
},
},
resolve: {
...config.resolve,
alias: {

78
package-lock.json generated
View File

@ -126,6 +126,7 @@
"react-icons": "^4.10.1",
"react-input-range": "^1.3.0",
"react-intl": "^5.24.7",
"react-lazy": "^1.1.0",
"react-loading-dot": "^1.0.6",
"react-md-spinner": "^1.0.0",
"react-meta-tags": "^1.0.1",
@ -173,6 +174,7 @@
"semantic-ui-react": "^2.1.2",
"state-pool": "^0.6.0",
"styled-components": "^5.3.5",
"suspend-react": "^0.1.3",
"swr": "^1.2.1",
"tinymce": "^7.1.2",
"use-global-state": "^0.1.2",
@ -6659,6 +6661,28 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/@researchgate/react-intersection-observer": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@researchgate/react-intersection-observer/-/react-intersection-observer-0.7.4.tgz",
"integrity": "sha512-4F291saKAP9I25Qe1ePflvm1DLLA43GlBIZfpMFYWofph7CAm+19nT8xwkQqSszg4PwZa5BpkaI4tAEJHtlj3w==",
"dependencies": {
"invariant": "^2.2.2",
"prop-types": "^15.6.0",
"warning": "^3.0.0"
},
"peerDependencies": {
"react": ">=15",
"react-dom": ">=15"
}
},
"node_modules/@researchgate/react-intersection-observer/node_modules/warning": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
"integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==",
"dependencies": {
"loose-envify": "^1.0.0"
}
},
"node_modules/@restart/context": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
@ -27129,6 +27153,19 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-lazy": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/react-lazy/-/react-lazy-1.1.0.tgz",
"integrity": "sha512-p0eyneNFYnmAJsJnnYJJ/T+FJ54+7avHSs43Q2OZNHaLuNQVr1D4QQxoStC8rc4mzWzTyU/cS6kjAHn6+Rhbyw==",
"dependencies": {
"@researchgate/react-intersection-observer": "^0.7.3"
},
"peerDependencies": {
"prop-types": "^15.6.0",
"react": ">=16.4",
"react-dom": ">=16.4"
}
},
"node_modules/react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@ -31704,6 +31741,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/suspend-react": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
"integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
"peerDependencies": {
"react": ">=17.0"
}
},
"node_modules/svg-parser": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
@ -39738,6 +39783,26 @@
"@react-spring/types": "~9.7.3"
}
},
"@researchgate/react-intersection-observer": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@researchgate/react-intersection-observer/-/react-intersection-observer-0.7.4.tgz",
"integrity": "sha512-4F291saKAP9I25Qe1ePflvm1DLLA43GlBIZfpMFYWofph7CAm+19nT8xwkQqSszg4PwZa5BpkaI4tAEJHtlj3w==",
"requires": {
"invariant": "^2.2.2",
"prop-types": "^15.6.0",
"warning": "^3.0.0"
},
"dependencies": {
"warning": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
"integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==",
"requires": {
"loose-envify": "^1.0.0"
}
}
}
},
"@restart/context": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
@ -55305,6 +55370,14 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"react-lazy": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/react-lazy/-/react-lazy-1.1.0.tgz",
"integrity": "sha512-p0eyneNFYnmAJsJnnYJJ/T+FJ54+7avHSs43Q2OZNHaLuNQVr1D4QQxoStC8rc4mzWzTyU/cS6kjAHn6+Rhbyw==",
"requires": {
"@researchgate/react-intersection-observer": "^0.7.3"
}
},
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@ -58858,6 +58931,11 @@
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
},
"suspend-react": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
"integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ=="
},
"svg-parser": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",

View File

@ -121,6 +121,7 @@
"react-icons": "^4.10.1",
"react-input-range": "^1.3.0",
"react-intl": "^5.24.7",
"react-lazy": "^1.1.0",
"react-loading-dot": "^1.0.6",
"react-md-spinner": "^1.0.0",
"react-meta-tags": "^1.0.1",
@ -168,6 +169,7 @@
"semantic-ui-react": "^2.1.2",
"state-pool": "^0.6.0",
"styled-components": "^5.3.5",
"suspend-react": "^0.1.3",
"swr": "^1.2.1",
"tinymce": "^7.1.2",
"use-global-state": "^0.1.2",

View File

@ -1,76 +1,63 @@
import React, { useState, useEffect } from "react";
import React, { useState, useEffect, Suspense } from "react";
import { BrowserRouter, Switch, Route } from "react-router-dom"
import './App.css';
import NotFound from './pages/NotFound'
import Contact from './pages/Contact'
import Connexion from './pages/Connexion'
import Login from './pages/Login';
import Recherche_new_v2 from "./pages/recherche_new_v2";
import Recherche_new_v3 from "./pages/recherche_new_v3";
import Recherche_new_v4 from "./pages/recherche_new_v4";
import Mon_Catalogue_Public from "./pages/mon_catalogue_public";
import TestUrl from "./pages/testurl";
import Account from "./pages/account";
import DisplayDetailClass_new_v2 from "./pages/displaydetailclass_new_v2";
import DisplayDetailClass_new_v3 from "./pages/displaydetailclass_new_v3";
import Display_Partner_Catalog_DetailClass_new_v2 from "./pages/display_partner_catalog_detailclass_new_v2"
import DisplayDetailArticle from "./pages/displaydetailarticle";
import AddArticleAvis from "./pages/addarticleavis";
import Acceuil from "./pages/acceuil";
import Partner from "./pages/partner";
import CreateAccount from "./pages/createaccount";
import PartnerLogin from "./pages/partnerlogin";
import PartnerLogin0 from "./pages/partnerlogin0";
import PartnerLogin1 from "./pages/partnerlogin1";
import RechecheArticles from "./pages/recherchearticles";
import AddArticle from "./pages/addarticle";
import ResetUserPwd from "./pages/resetuserpwd";
import DeleteUserAccount from "./pages/deleteuseraccount";
import ContactezNous from "./pages/contactez_nous";
import CoupDeCoeur from "./pages/coupdecoeur";
import AccountUserActivated from "./pages/accountuseractivated";
import ProduitsService from "./pages/produitservice";
import Recherche_new from "./pages/recherche_new";
import Recherche_old from "./pages/recherche";
import UserSignFirst from "./pages/usersigninfirst";
import GestionAdministrative from "./components/GestionAdministrative";
import Emargement from "./pages/emargementOk";
import Formation_Cartouche_Com from "./pages/recherche_cartouche_com";
import SeDesabonner from './pages/sedesabonner';
import OrderConfirmation_3DS from "./pages/orderconfirmation_3DS";
import Training_Inactive_Or_Not_Found from "./pages/Traning_Inactif_Or_Not_Exist";
import TestUrl_New from "./pages/testurl_new";
import QuiSommesNous_v3 from "./pages/quisommesnous_v3";
import Fonctionnalites from "./pages/fonctionnalite";
import Test_Drag_Drop from "./pages/test_drag_drop";
import Test_Drag_Drop2 from "./pages/test_dnd";
import ESign from "./pages/eSigne";
import ESignDiplayDignedDocument from "./pages/edigndiplaydigneddocument";
import SurveyDocument from "./pages/surveydocument";
import UpdateAttendeeList from "./pages/updateattendeelist";
import Emarge_QR_Code from "./pages/emarge_qr_code";
import AutomaticQuotation from "./pages/automaticquotation";
import MySyIA from "./pages/iamysy";
import Maintenance from "./pages/maintenance_page";
import Subdomain_Recherche_new_v2 from "./pages/subdomain_recherche_new_v2";
function App() {
const NotFound = React.lazy(() => import('./pages/NotFound'));
const Contact = React.lazy(() => import('./pages/Contact'));
const Connexion = React.lazy(() => import('./pages/Connexion'));
const Login = React.lazy(() => import('./pages/Login'));
const Recherche_new_v2 = React.lazy(() => import('./pages/recherche_new_v2'));
const Recherche_new_v3 = React.lazy(() => import('./pages/recherche_new_v3'));
const Recherche_new_v4 = React.lazy(() => import('./pages/recherche_new_v4'));
const Mon_Catalogue_Public = React.lazy(() => import('./pages/mon_catalogue_public'));
const TestUrl = React.lazy(() => import('./pages/testurl'));
const Account = React.lazy(() => import('./pages/account'));
const DisplayDetailClass_new_v2 = React.lazy(() => import('./pages/displaydetailclass_new_v2'));
const DisplayDetailClass_new_v3 = React.lazy(() => import('./pages/displaydetailclass_new_v3'));
const Display_Partner_Catalog_DetailClass_new_v2 = React.lazy(() => import('./pages/display_partner_catalog_detailclass_new_v2'));
const DisplayDetailArticle = React.lazy(() => import('./pages/displaydetailarticle'));
const AddArticleAvis = React.lazy(() => import('./pages/addarticleavis'));
const Acceuil = React.lazy(() => import('./pages/acceuil'));
const Partner = React.lazy(() => import('./pages/partner'));
const CreateAccount = React.lazy(() => import('./pages/createaccount'));
const PartnerLogin = React.lazy(() => import('./pages/partnerlogin'));
const PartnerLogin0 = React.lazy(() => import('./pages/partnerlogin0'));
const PartnerLogin1 = React.lazy(() => import('./pages/partnerlogin1'));
const RechecheArticles = React.lazy(() => import('./pages/recherchearticles'));
const AddArticle = React.lazy(() => import('./pages/addarticle'));
const ResetUserPwd = React.lazy(() => import('./pages/resetuserpwd'));
const DeleteUserAccount = React.lazy(() => import('./pages/deleteuseraccount'));
const ContactezNous = React.lazy(() => import('./pages/contactez_nous'));
const CoupDeCoeur = React.lazy(() => import('./pages/coupdecoeur'));
const AccountUserActivated = React.lazy(() => import('./pages/accountuseractivated'));
const ProduitsService = React.lazy(() => import('./pages/produitservice'));
const Recherche_new = React.lazy(() => import('./pages/recherche_new'));
const Recherche_old = React.lazy(() => import('./pages/recherche'));
const UserSignFirst = React.lazy(() => import('./pages/usersigninfirst'));
const GestionAdministrative = React.lazy(() => import('./components/GestionAdministrative'));
const Emargement = React.lazy(() => import('./pages/emargementOk'));
const Formation_Cartouche_Com = React.lazy(() => import('./pages/recherche_cartouche_com'));
const SeDesabonner = React.lazy(() => import('./pages/sedesabonner'));
const OrderConfirmation_3DS = React.lazy(() => import('./pages/orderconfirmation_3DS'));
const Training_Inactive_Or_Not_Found = React.lazy(() => import('./pages/Traning_Inactif_Or_Not_Exist'));
const Test_Drag_Drop = React.lazy(() => import('./pages/test_drag_drop'));
const Test_Drag_Drop2 = React.lazy(() => import('./pages/test_dnd'));
const TestUrl_New = React.lazy(() => import('./pages/testurl_new'));
const QuiSommesNous_v3 = React.lazy(() => import('./pages/quisommesnous_v3'));
const Fonctionnalites = React.lazy(() => import('./pages/fonctionnalite'));
const ESign = React.lazy(() => import('./pages/eSigne'));
const ESignDiplayDignedDocument = React.lazy(() => import('./pages/edigndiplaydigneddocument'));
const SurveyDocument = React.lazy(() => import('./pages/surveydocument'));
const UpdateAttendeeList = React.lazy(() => import('./pages/updateattendeelist'));
const Emarge_QR_Code = React.lazy(() => import('./pages/emarge_qr_code'));
const AutomaticQuotation = React.lazy(() => import('./pages/automaticquotation'));
const MySyIA = React.lazy(() => import('./pages/iamysy'));
const Maintenance = React.lazy(() => import('./pages/maintenance_page'));
const Subdomain_Recherche_new_v2 = React.lazy(() => import('./pages/subdomain_recherche_new_v2'));
const [screenSizeh, getDimension] = useState({
dynamicWidth: window.innerHeight
});
@ -115,9 +102,9 @@ function App() {
if (tab_myurl_pathname.length > 0 && !tab_action.includes(tab_myurl_pathname[1]) && !tab_reserved_subdomain.includes(subdomain)) {
var new_url = window.location.protocol + "//" + domain.split('.')[0] + "." + domain.split('.')[1] + "/moncatalog";
/*
window.open(
@ -129,7 +116,7 @@ function App() {
}
}
}
}, []);
@ -145,109 +132,91 @@ function App() {
<div className="main_haut">
<BrowserRouter>
<scrollToTop />
<Switch>
<React.Suspense fallback={<p>Loading...</p>}>
<BrowserRouter>
<scrollToTop />
<Switch>
<Route path="/v3" render={() => <Recherche_new_v3 />} />
<Route path="/v4" render={() => <Recherche_new_v4 />} />
<Route path="/subdomain" render={() => <Subdomain_Recherche_new_v2 />} />
<Route path="/moncatalog" render={() => <Mon_Catalogue_Public />} />
<Route path="/acceuil" render={() => <Acceuil />} />
<Route path="/maintenance" render={() => <Maintenance />} />
<Route path="/markeplace" render={() => <Contact />} />
<Route path="/contact" render={() => <Contact />} />
<Route path="/mysy-user-account" render={() => <Account />} />
<Route path="/create_account" render={() => <CreateAccount />} />
<Route path="/user-connexion" render={() => <Connexion />} />
<Route path="/Connexion" render={() => <Login />} />
<Route path="/recherche-formation" render={() => <Recherche_new_v2 />} />
<Route path="/recherche-formation/ref/:NewSearchText" render={() => <Recherche_new_v2 />} />
<Route path="/testurl/:course/:tab" render={() => <TestUrl />} />
<Route path="/" exact component={QuiSommesNous_v3} />
<Route path="/testurl_new/:courseid/:tabid" render={() => <TestUrl_New />} />
<Route path="/fonctionnalites" render={() => <Fonctionnalites />} />
<Route path="/QuiSommesNous" render={() => <QuiSommesNous_v3 />} />
<Route path="/qui-sommes-nous" render={() => <QuiSommesNous_v3 />} />
<Route path="/QuiSommesNous_v3" render={() => <QuiSommesNous_v3 />} />
<Route path="/" render={() => <QuiSommesNous_v3 />} />
<Route path="/ajout-article" render={() => <AddArticleAvis />} />
<Route path="/Display-Detail-formation_v3/:classId" render={() => <DisplayDetailClass_new_v3 />} />
<Route path="/Display-Detail-formation/:classId" render={() => <DisplayDetailClass_new_v3 />} />
<Route path="/Display-Detail-formation/:classId/:action" render={() => <DisplayDetailClass_new_v3 />} />
<Route path="/Display-Detail-formation_old/:classId/:action" render={() => <DisplayDetailClass_new_v3 />} />
<Route path="/Display-Detail-Article/:articleId" render={() => <DisplayDetailArticle />} />
<Route path="/Display-Detail-formation-Coeur/:classId" render={() => <CoupDeCoeur />} />
<Route path="/Partner/:action/:orderid/:packs" render={() => <Partner />} />
<Route path="/Display-Partner-Catalog-Detail-formation/:classId" render={() => <Display_Partner_Catalog_DetailClass_new_v2 />} />
<Route path="/Display-Partner-Catalog-Detail-formation/:classId/:action" render={() => <Display_Partner_Catalog_DetailClass_new_v2 />} />
<Route path="/Partner/:action/:orderid" render={() => <Partner />} />
<Route path="/Partner/:action" render={() => <Partner />} />
<Route path="/Partner" render={() => <Partner />} />
<Route path="/PartnerLogin" render={() => <PartnerLogin />} />
<Route path="/PartnerLogin0" render={() => <PartnerLogin0 />} />
<Route path="/PartnerLogin1" render={() => <PartnerLogin1 />} />
<Route path="/Recherche-Article-formation" render={() => <RechecheArticles />} />
<Route path="/Ajout-Article-formation" render={() => <AddArticle />} />
<Route path="/ResetUserPwd/:token/:accounttype" render={() => <ResetUserPwd />} />
<Route path="/DeleteUserAccount/:token" render={() => <DeleteUserAccount />} />
<Route path="/v3" exact component={Recherche_new_v3} />
<Route path="/v4" exact component={Recherche_new_v4} />
<Route path="/ContactezNous" render={() => <ContactezNous />} />
<Route path="/mysy-training-login/:obj/:objid" render={() => <Login />} />
<Route path="/mysy-account-activated/" render={() => <AccountUserActivated />} />
{/* <Route path="/Produits-Services/" exact component={ProduitsService} />*/}
<Route path="/tarifs_produits_services/" exact component={ProduitsService} />
<Route path="/Recherche_new/" exact component={Recherche_new} />
<Route path="/GestionAdministrative/:internal_url" exact component={GestionAdministrative} />
<Route path="/Recherche_new/:type/:categorie" exact component={Recherche_new} />
<Route path="/Recherche_old/" exact component={Recherche_old} />
<Route path="/Connexion-utilisateur-0/" exact component={UserSignFirst} />
<Route path="/Emargement/" exact component={Emargement} />
<Route path="/CartoucheComMySy/" exact component={Formation_Cartouche_Com} />
<Route path="/Test_DragDrop/" exact component={Test_Drag_Drop} />
<Route path="/Test_DragDrop2/" exact component={Test_Drag_Drop2} />
<Route path="/Recherche_new_v2/" exact component={Recherche_new_v2} />
<Route path="/Recherche_new_v2/:type/:categorie" exact component={Recherche_new_v2} />
<Route path="/unsubscribe/" exact component={SeDesabonner} />
<Route path="/OrderConfirmation_3DS/:orderid/:packs" exact component={OrderConfirmation_3DS} />
<Route path="/page-inconnue/" exact component={NotFound} />
<Route path="/formation-inconnue/" exact component={Training_Inactive_Or_Not_Found} />
<Route path="/qr_emargement/:session_id/:partner_owner_recid/:my_safe_token" exact component={Emarge_QR_Code} />
<Route path="/E_Signature/:document_id" exact component={ESign} />
<Route path="/E_Document/:document_id/:partner_owner_recid/:secret_key_signature" exact component={ESignDiplayDignedDocument} />
<Route path="/Survey/:survey_id/" exact component={SurveyDocument} />
<Route path="/UpadateAttendeeList/:client_id/:session_id/:partner_owner_recid/" exact component={UpdateAttendeeList} />
<Route path="/automatic-quotation/:partner_owner_recid/:objid/" exact component={AutomaticQuotation} />
<Route path="/intelligence-artificielle-mysy-training/" exact component={MySyIA} />
<Route path="/subdomain" exact component={Subdomain_Recherche_new_v2} />
<Route path="/moncatalog" exact component={Mon_Catalogue_Public} />
<Route path="/acceuil" exact component={Acceuil} />
<Route path="/maintenance" exact component={Maintenance} />
<Route path="/fonctionnalites" exact component={Fonctionnalites} />
<Route path="/markeplace" exact component={Contact} />
<Route path="/contact" exact component={Contact} />
<Route path="/mysy-user-account" exact component={Account} />
<Route path="/create_account" exact component={CreateAccount} />
<Route path="/user-connexion" exact component={Connexion} />
<Route path="/Connexion" exact component={Login} />
<Route path="/recherche-formation" exact component={Recherche_new_v2} />
<Route path="/recherche-formation/ref/:NewSearchText" exact component={Recherche_new_v2} />
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
<Route path="/testurl_new/:courseid/:tabid" exact component={TestUrl_New} />
<Route path="/ajout-article" exact component={AddArticleAvis} />
<Route path="/Display-Detail-formation_v3/:classId" exact component={DisplayDetailClass_new_v3} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v3} />
<Route path="/Display-Detail-formation/:classId/:action" exact component={DisplayDetailClass_new_v3} />
<Route path="/Display-Detail-formation_old/:classId/:action" exact component={DisplayDetailClass_new_v3} />
<Route path="/Display-Detail-Article/:articleId" exact component={DisplayDetailArticle} />
<Route path="/Display-Detail-formation-Coeur/:classId" exact component={CoupDeCoeur} />
<Route path="/Partner/:action/:orderid/:packs" exact component={Partner} />
<Route path="/Display-Partner-Catalog-Detail-formation/:classId" exact component={Display_Partner_Catalog_DetailClass_new_v2} />
<Route path="/Display-Partner-Catalog-Detail-formation/:classId/:action" exact component={Display_Partner_Catalog_DetailClass_new_v2} />
<Route path="/Partner/:action/:orderid" exact component={Partner} />
<Route path="/Partner/:action" exact component={Partner} />
<Route path="/Partner" exact component={Partner} />
<Route path="/PartnerLogin" exact component={PartnerLogin} />
<Route path="/PartnerLogin0" exact component={PartnerLogin0} />
<Route path="/PartnerLogin1" exact component={PartnerLogin1} />
<Route path="/Recherche-Article-formation" exact component={RechecheArticles} />
<Route path="/Ajout-Article-formation" exact component={AddArticle} />
<Route path="/ResetUserPwd/:token/:accounttype" exact component={ResetUserPwd} />
<Route path="/DeleteUserAccount/:token" exact component={DeleteUserAccount} />
<Route path="/QuiSommesNous" exact component={QuiSommesNous_v3} />
<Route path="/qui-sommes-nous" exact component={QuiSommesNous_v3} />
<Route path="/QuiSommesNous_v3" exact component={QuiSommesNous_v3} />
<Route path="/ContactezNous" exact component={ContactezNous} />
<Route path="/mysy-training-login/:obj/:objid" exact component={Login} />
<Route path="/mysy-account-activated/" exact component={AccountUserActivated} />
{/* <Route path="/Produits-Services/" exact component={ProduitsService} />*/}
<Route path="/tarifs_produits_services/" exact component={ProduitsService} />
<Route path="/Recherche_new/" exact component={Recherche_new} />
<Route path="/GestionAdministrative/:internal_url" exact component={GestionAdministrative} />
<Route path="/Recherche_new/:type/:categorie" exact component={Recherche_new} />
<Route path="/Recherche_old/" exact component={Recherche_old} />
<Route path="/Connexion-utilisateur-0/" exact component={UserSignFirst} />
<Route path="/Emargement/" exact component={Emargement} />
<Route path="/CartoucheComMySy/" exact component={Formation_Cartouche_Com} />
<Route path="/Test_DragDrop/" exact component={Test_Drag_Drop} />
<Route path="/Test_DragDrop2/" exact component={Test_Drag_Drop2} />
<Route path="/Recherche_new_v2/" exact component={Recherche_new_v2} />
<Route path="/Recherche_new_v2/:type/:categorie" exact component={Recherche_new_v2} />
<Route path="/unsubscribe/" exact component={SeDesabonner} />
<Route path="/OrderConfirmation_3DS/:orderid/:packs" exact component={OrderConfirmation_3DS} />
<Route path="/page-inconnue/" exact component={NotFound} />
<Route path="/formation-inconnue/" exact component={Training_Inactive_Or_Not_Found} />
<Route path="/qr_emargement/:session_id/:partner_owner_recid/:my_safe_token" exact component={Emarge_QR_Code} />
<Route path="/E_Signature/:document_id" exact component={ESign} />
<Route path="/E_Document/:document_id/:partner_owner_recid/:secret_key_signature" exact component={ESignDiplayDignedDocument} />
<Route path="/Survey/:survey_id/" exact component={SurveyDocument} />
<Route path="/UpadateAttendeeList/:client_id/:session_id/:partner_owner_recid/" exact component={UpdateAttendeeList} />
<Route path="/automatic-quotation/:partner_owner_recid/:objid/" exact component={AutomaticQuotation} />
<Route path="/intelligence-artificielle-mysy-training/" exact component={MySyIA} />
<Route component={NotFound} />
</Switch>
</BrowserRouter>
<Route component={NotFound} />
</Switch>
</BrowserRouter>
</React.Suspense>
</div>
</div>