2
0

11 Commits df3e5b1da8 ... b799b16004

Autor SHA1 Mensagem Data
  Olivier Massot b799b16004 Merge branch 'V8-7102-upgrade-app-vers-node-23' há 9 meses atrás
  Olivier Massot 0d5c28f5dc upgrade node to 23 and remove obsolete dockers há 10 meses atrás
  Olivier Massot a73a4c5ea9 typo3 docker : upgrade apcu há 1 ano atrás
  Olivier Massot 2d6318f623 Merge branch 'upgrade_typo3_php' há 1 ano atrás
  Olivier Massot 05f2e013c5 fix typo3 xdebug config há 1 ano atrás
  Olivier Massot 8767a728ff fix yarn version to 4.3.1 há 1 ano atrás
  Olivier Massot eb8fe6f21e upgrade php to 8.3 in typo3 docker há 1 ano atrás
  Olivier Massot f26d1d5b86 minor fix há 1 ano atrás
  Olivier Massot 377290df81 Merge branch 'master' of gitlab.2iopenservice.com:opentalent/docker há 1 ano atrás
  Olivier Massot 33e52aaf6e rename portail_v2 into site_logiciels há 1 ano atrás
  Vincent 7e728be7a7 add agenda, portail config docker-compose mac há 1 ano atrás

+ 3 - 11
.env.skeleton

@@ -37,24 +37,16 @@ ADMIN_REPORT_PORT=3001
 APP_VIRTUAL_HOST=local.app.opentalent.fr
 APP_PORT=3000
 
-#PORTAIL
-PORTAIL_VIRTUAL_HOST=local.opentalent.fr
-
 #Typo3
 TYPO3_VIRTUAL_HOST=local.sub.opentalent.fr
 
-#FRAMES
-FRAMES_VIRTUAL_HOST=local.frames.opentalent.fr
-FRAMES_PORT=3004
-FRAMES_REPORT_PORT=3005
-
 #AGENDA
 AGENDA_VIRTUAL_HOST=local.agenda.opentalent.fr
 AGENDA_PORT=3000
 
-#PORTAIL_V2
-PORTAIL_V2_VIRTUAL_HOST=local.portail_v2.opentalent.fr
-PORTAIL_V2_PORT=3000
+#SITE_LOGICIELS
+SITE_LOGICIELS_VIRTUAL_HOST=local.logiciels.opentalent.fr
+SITE_LOGICIELS_PORT=3000
 
 #V59
 V59_VIRTUAL_HOST=local.v59.opentalent.fr

+ 21 - 42
README.md

@@ -40,16 +40,15 @@ Les repositories suivants doivent être clônés dans les sous-répertoires suiv
 | apps/opentalent-config      | [Voir le repository](https://gitlab.2iopenservice.com/developper/opentalent-config)   | git@gitlab.2iopenservice.com:developper/opentalent-config.git   |
 | apps/opentalent-platform    | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/opentalent-platform) | git@gitlab.2iopenservice.com:opentalent/opentalent-platform.git |
 | apps/ot_typo3               | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/ot_typo3)            | git@gitlab.2iopenservice.com:opentalent/ot_typo3.git            |
-| apps/portail                | -                                                                                     | -                                                               |
 | apps/metabase               | [Voir le repository](https://gitlab.2iopenservice.com/vincent/metabase)               | git@gitlab.2iopenservice.com:vincent/metabase.git               |
 | apps/python-scripts/clonedb | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/clonedb)             | git@gitlab.2iopenservice.com:opentalent/clonedb.git             |
-| apps/frames                 | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/frames)              | git@gitlab.2iopenservice.com:opentalent/frames.git              |
 | apps/agenda                 | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/agenda)           | git@gitlab.2iopenservice.com:opentalent/agenda.git           |
 | apps/ap2i                   | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/ap2i)                | git@gitlab.2iopenservice.com:opentalent/ap2i.git                |
 | apps/ap2i-doc               | [Voir le repository](https://gitlab.2iopenservice.com/vincent/ap2i-doc)               | git@gitlab.2iopenservice.com:vincent/ap2i-doc.git               |
 | apps/app                    | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/app)                 | git@gitlab.2iopenservice.com:opentalent/app.git                 |
 | apps/app_v3                 | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/app_nuxt3)           | git@gitlab.2iopenservice.com:opentalent/app_nuxt3.git           |
 | apps/app-doc                | [Voir le repository](https://gitlab.2iopenservice.com/vincent/app-doc)                | git@gitlab.2iopenservice.com:vincent/app-doc.git                |
+| apps/site_logiciels         | [Voir le repository](https://gitlab.2iopenservice.com/opentalent/site_logiciels)                | git@gitlab.2iopenservice.com:opentalent/site_logiciels.git                |
 
 
 ### Configurer le projet
@@ -82,9 +81,7 @@ Pour cela, ajouter les lignes suivantes à votre fichier `/etc/hosts`:
     127.0.0.1 local.elasticsearch.opentalent.fr   # Docker 'es'
     127.0.0.1 local.admin.opentalent.fr   # Docker 'admin'
     127.0.0.1 local.thumbor.opentalent.fr   # Docker 'thumbor'
-    127.0.0.1 local.opentalent.fr   # Docker 'portail'
     127.0.0.1 local.sub.opentalent.fr   # Docker 'typo3'
-    127.0.0.1 local.frames.opentalent.fr   # Docker 'frames'
     127.0.0.1 local.agenda.opentalent.fr   # Docker 'agenda'
     127.0.0.1 local.blackfire.opentalent.fr   # Docker 'blackfire'
     127.0.0.1 local.metabase.opentalent.fr   # Docker 'metabase'
@@ -93,7 +90,7 @@ Pour cela, ajouter les lignes suivantes à votre fichier `/etc/hosts`:
     127.0.0.1 local.app.opentalent.fr   # Docker 'app'
     127.0.0.1 local.app-doc.opentalent.fr   # Docker 'app-doc'
     127.0.0.1 local.mercure.opentalent.fr   # Docker 'mercure'
-    127.0.0.1 local.portail-v2.opentalent.fr    # Docker 'portail-v2'
+    127.0.0.1 local.logiciels.opentalent.fr    # Docker 'logiciels'
     127.0.0.1 local.maestro.opentalent.fr    # Docker 'maestro'
     127.0.0.1 local.nuxt_common.opentalent.fr    # Docker 'nuxt_common'
 
@@ -245,6 +242,14 @@ Lancer le serveur front:
 
     gulp serve
 
+## Erreur au moment du Gulp serve
+
+Si l'erreur "SyntaxError: Unexpected toker {" apparait au moment du gulp serve.
+Il faut faire :
+
+    npm uninstall -g gulp-cli gulp
+    npm install -g gulp@3.9.1
+
 
 #### Docker Ap2i
 
@@ -271,18 +276,6 @@ Puis lancer :
     ln -s .env.docker .env
 
 
-#### Docker Frames
-
-Se connecter au docker:
-
-    docker exec -it frames bash
-
-Puis lancer :
-
-    yarn install
-    ln -s .env.docker .env
-
-
 #### Docker agenda
 
 Se connecter au docker:
@@ -294,11 +287,11 @@ Puis lancer :
     yarn install
     ln -s .env.docker .env
 
-#### Docker Poratil V2
+#### Docker Site Logiciels
 
 Se connecter au docker:
 
-    docker exec -it portail_v2 bash
+    docker exec -it site_logiciels bash
 
 Puis lancer :
 
@@ -377,16 +370,6 @@ Puis, lancer:
 
     yarn dev
 
-### Démarrer le serveur frames et frames v3
-
-Si vous ne l'avez pas encore fait, créer le symlink vers le fichier d'environnement :
-
-    ln -s .env.local .env
-
-Puis, lancer:
-
-    yarn dev
-
 
 ## Description des containers
 
@@ -447,18 +430,10 @@ Héberge l'application frontend Opentalent, version pré-2021:
 Héberge l'application frontend Opentalent v2:
 <https://gitlab.2iopenservice.com/opentalent/app>
 
-#### Docker: `portail`
-
-Héberge une instance Typo3 version 8.7, qui sert entre autres le portail Opentalent et le site 2iOpenservice
-
 #### Docker: `typo3`
 
 Héberge une instance Typo3 version 9.5, qui sert tous les mini-sites des clients.
 
-#### Docker: `frames`
-
-Héberge l'application Frames. Voir ici: https://gitlab.2iopenservice.com/opentalent/frames
-
 #### Docker: `adminassos`
 
 TODO: à quoi il sert?
@@ -496,6 +471,12 @@ Héberge une instance phpdoc, qui permet ensuite de générer des documentations
 
 TODO: à quoi il sert?
 
+#### (optionnel) Docker: `site_logiciels`
+
+Site internet présentant les logiciels de l'entreprise
+
+> Prod: logiciels.opentalent.fr
+
 
 ## Configuration du réseau
 
@@ -593,10 +574,8 @@ Ainsi configuré, le docker sera joignable sur le réseau interne à l'adresse `
 | admin       | admin       | O            | 172.20.1.2 | 3000:3000, 3001:3001   | local.admin.opentalent.fr / 3000         | -                                                     |
 | app         | app         | O            | 172.20.2.2 | 3002:3000, 3003:3003   | local.app.opentalent.fr / 3002           | -                                                     |
 | app_v3      | app_v3      | O            | 172.20.2.3 | 3009:3000, 24678:24678 | local.app-v3.opentalent.fr / 3000        | -                                                     |
-| frames      | frames      | O            | 172.20.2.4 | 3004:3004, 3005:3005   | local.frames.opentalent.fr / 3004        | -                                                     |
-| agenda      | agenda  | O            | 172.20.2.5 | 3007:3000, 24679:24679 | local.agenda.opentalent.fr / 3000     | -                                                     |
-| portail     | portail     | O            | -          | -                      | local.opentalent.fr                      | -                                                     |
-| portail_v2  | portail_v2  | O            | 172.20.2.6 | 3010:3000, 24680:24680 | local.portail-v2.opentalent.fr / 3000    | -                                                     |
+| agenda      | agenda  | O            | 172.20.2.5 | 3007:3000, 24679:24679 | local.agenda.opentalent.fr / 3000        | -                                                     |
+| site_logiciels  | site_logiciels  | O            | 172.20.2.6 | 3010:3000, 24680:24680 | local.logiciels.opentalent.fr / 3000     | -                                                     |
 | typo3       | typo3       | O            | 172.20.3.1 | -                      | local.sub.opentalent.fr                  | docker.sub.opentalent.fr,  docker.sub.customdomain.fr |
 | adminassos  | adminassos  | O            | -          | -                      | local.v59.opentalent.fr                  | -                                                     |
 | metabase    | metabase    | O            | -          | -                      | local.metabase.opentalent.fr / 3000      | -                                                     |
@@ -771,7 +750,7 @@ Faire, dans cet ordre précis:
 
     sudo systemctl start docker
 
-#### Une application nuxt.js (app / frames) ne démarre pas : error 504 memory
+#### Une application nuxt.js (app / agenda / site_logiciels) ne démarre pas : error 504 memory
 
 Vérifier que le fichier .env existe dans le projet. Sinon :
 

+ 81 - 6
docker-compose-osx.yml

@@ -27,9 +27,26 @@ services:
   phpmyadmin:
     platform: linux/amd64
 
-  frames_v3:
+  maestro:
     volumes:
-      - frame-v3-code:/home/workspace
+      - maestro-code:/var/www/html
+
+  frames:
+    volumes:
+      - frame-code:/home/workspace
+
+  agenda:
+    volumes:
+      - agenda-code:/home/workspace
+      - nuxt-common-code:/home/workspace/nuxt_common
+
+  portail_v2:
+    volumes:
+      - portail-v2-code:/home/workspace
+
+  nuxt_common:
+    volumes:
+      - nuxt-common-code:/home/workspace
 
   db:
     volumes:
@@ -43,8 +60,12 @@ volumes:
   ap2i-code:
   admin-code:
   app-code:
-  frame-v3-code:
+  frame-code:
   metabase-code:
+  nuxt-common-code:
+  agenda-code:
+  maestro-code:
+  portail-v2-code:
 
 x-mutagen:
   sync:
@@ -110,9 +131,63 @@ x-mutagen:
         paths:
           - "node_modules"
 
-    frame-v3-code:
-      alpha: "./apps/frames_v3"
-      beta: "volume://frame-v3-code"
+    maestro-code:
+      alpha: "./apps/maestro"
+      beta: "volume://maestro-code"
+      configurationBeta:
+        permissions:
+          defaultFileMode: 0644
+          defaultDirectoryMode: 0755
+          defaultOwner: "id:1000"
+          defaultGroup: "id:1000"
+      ignore:
+        paths:
+          - "var/cache"
+          - "var/log"
+          - "vendor"
+
+    frame-code:
+      alpha: "./apps/frames"
+      beta: "volume://frame-code"
+      configurationBeta:
+        permissions:
+          defaultFileMode: 0644
+          defaultDirectoryMode: 0755
+          defaultOwner: "id:1000"
+          defaultGroup: "id:1000"
+      ignore:
+        paths:
+          - "node_modules"
+
+    agenda-code:
+      alpha: "./apps/agenda"
+      beta: "volume://agenda-code"
+      configurationBeta:
+        permissions:
+          defaultFileMode: 0644
+          defaultDirectoryMode: 0755
+          defaultOwner: "id:1000"
+          defaultGroup: "id:1000"
+      ignore:
+        paths:
+          - "node_modules"
+
+    portail-v2-code:
+      alpha: "./apps/portail_v2"
+      beta: "volume://portail-v2-code"
+      configurationBeta:
+        permissions:
+          defaultFileMode: 0644
+          defaultDirectoryMode: 0755
+          defaultOwner: "id:1000"
+          defaultGroup: "id:1000"
+      ignore:
+        paths:
+          - "node_modules"
+
+    nuxt-common-code:
+      alpha: "./apps/nuxt_common"
+      beta: "volume://nuxt-common-code"
       configurationBeta:
         permissions:
           defaultFileMode: 0644

+ 8 - 61
docker-compose.yml

@@ -245,29 +245,6 @@ services:
     depends_on:
       - nginx_new
 
-  frames:
-    hostname: frames
-    container_name: frames
-    build:
-      context: .
-      dockerfile: docker/frames/Dockerfile
-    volumes:
-      - ./apps/frames:/home/workspace:rw,cached
-    tty: true
-    ports:
-      - "3004:3004"
-      - "3005:3005"
-    environment:
-      - VIRTUAL_HOST=${FRAMES_VIRTUAL_HOST}
-      - VIRTUAL_PORT=${FRAMES_PORT}
-      - NODE_ENV=docker
-      - HTTPS_METHOD=noredirect
-    networks:
-      network:
-        ipv4_address: 172.20.2.4
-    depends_on:
-      - nginx_new
-
   agenda:
     hostname: agenda
     container_name: agenda
@@ -315,58 +292,28 @@ services:
     depends_on:
       - nginx_new
 
-  portail:
-    hostname: portail
-    container_name: portail
-    build:
-      context: .
-      dockerfile: docker/portail/Dockerfile
-      args:
-        - COMPOSER_HASH=${COMPOSER_HASH}
-    restart: always
-    volumes:
-      - ./docker/portail/conf/LocalConfiguration.php:/var/www/html/typo3conf/LocalConfiguration.php:cached
-      - ./apps/portail/websites:/var/www/html/websites:cached
-      - ./apps/opentalent/templates:/var/www/html/fileadmin/templates:cached
-      - ./apps/portail/themes/BlueSky:/var/www/html/fileadmin/theme_gallery/BlueSky:cached
-      - ./apps/portail/typo3extension/ot_cms:/var/www/html/typo3conf/ext/ot_cms:cached
-      - ./apps/portail/typo3extension/ot_migration_typo8:/var/www/html/typo3conf/ext/ot_migration_typo8:cached
-      - ./apps/portail/typo3extension/ot_portail:/var/www/html/typo3conf/ext/ot_portail:cached
-      - ./apps/portail/typo3extension/ot_webservice:/var/www/html/typo3conf/ext/ot_webservice:cached
-      - ./apps/portail/typo3extension/typo3_api:/var/www/html/typo3conf/ext/typo3_api:cached
-      - ./apps/portail/typo3extension/theme_gallery:/var/www/html/typo3conf/ext/theme_gallery:cached
-      - ./apps/portail/typo3extension/piwik:/var/www/html/typo3conf/ext/piwik:cached
-      - ./apps/portail/typo3extension/piwikintegration:/var/www/html/typo3conf/ext/piwikintegration:cached
-    environment:
-      - VIRTUAL_HOST=${PORTAIL_VIRTUAL_HOST}
-      - HTTPS_METHOD=noredirect
-    networks:
-      - network
-    depends_on:
-      - nginx
-
-  portail_v2:
-    hostname: portail_v2
-    container_name: portail_v2
+  site_logiciels:
+    hostname: site_logiciels
+    container_name: site_logiciels
     build:
       context: .
-      dockerfile: docker/portail_v2/Dockerfile
+      dockerfile: docker/site_logiciels/Dockerfile
     volumes:
-      - ./apps/portail_v2:/home/workspace:rw,cached
+      - ./apps/site_logiciels:/home/workspace:rw,cached
     tty: true
     ports:
       - "3010:3000"
       - "24680:24680"
     environment:
-      - VIRTUAL_HOST=${PORTAIL_V2_VIRTUAL_HOST}
-      - VIRTUAL_PORT=${PORTAIL_V2_PORT}
+      - VIRTUAL_HOST=${SITE_LOGICIELS_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${SITE_LOGICIELS_PORT}
       - NODE_ENV=development
       - HTTPS_METHOD=noredirect
     networks:
       network:
         ipv4_address: 172.20.2.6
     depends_on:
-      - nginx_new
+      - nginx-proxy
 
   typo3:
     hostname: typo3

+ 2 - 2
docker/agenda/Dockerfile

@@ -1,9 +1,9 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 
 RUN corepack enable; \
-    yarn set version berry;
+    yarn set version 4.3.1;
 
 # Cypress requirements (https://docs.cypress.io/guides/getting-started/installing-cypress#Ubuntu-Debian)
 RUN apt-get update && apt-get install -y --fix-missing libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 \

+ 5 - 5
docker/ap2i/Dockerfile

@@ -90,13 +90,13 @@ COPY /.ssh /root/.ssh
 COPY /docker/ap2i/conf/memory.ini /usr/local/etc/php/conf.d
 COPY /docker/ap2i/conf/apc.ini /usr/local/etc/php/conf.d
 COPY /docker/ap2i/conf/execution_time.ini /usr/local/etc/php/conf.d
-#COPY /docker/ap2i/conf/xdebug.ini /usr/local/etc/php/conf.d
+COPY /docker/ap2i/conf/xdebug.ini /usr/local/etc/php/conf.d
 
 ######## XDebug ########
-#COPY /docker/ap2i/conf/update_xdebug_ini.php /usr/local/etc/php/conf.d
-#RUN pecl install xdebug \
-# && docker-php-ext-enable xdebug \
-# && php /usr/local/etc/php/conf.d/update_xdebug_ini.php $OS $HOST
+COPY /docker/ap2i/conf/update_xdebug_ini.php /usr/local/etc/php/conf.d
+RUN pecl install xdebug \
+ && docker-php-ext-enable xdebug \
+ && php /usr/local/etc/php/conf.d/update_xdebug_ini.php $OS $HOST
 
 ######## FACL and Start ########
 ## Create .env.local file

+ 2 - 2
docker/app/Dockerfile

@@ -1,9 +1,9 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 
 RUN corepack enable; \
-    yarn set version berry;
+    yarn set version 4.3.1;
 
 # Define working directory.
 WORKDIR ${WORKDIR}

+ 0 - 1
docker/frames/.gitignore

@@ -1 +0,0 @@
-/.idea/

+ 0 - 20
docker/frames/Dockerfile

@@ -1,20 +0,0 @@
-    # Pull base image.
-FROM node:14.18.1-buster
-
-ENV WORKDIR /home/workspace
-
-RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
-    echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
-
-
-RUN apt-get update && \
-    apt-get install -y g++ build-essential yarn
-
-# Cypress requirements (https://docs.cypress.io/guides/getting-started/installing-cypress#Ubuntu-Debian)
-RUN apt-get install -y libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 \
-                       libnss3 libxss1 libasound2 libxtst6 xauth xvfb
-
-# Define working directory.
-WORKDIR ${WORKDIR}
-
-CMD node

+ 2 - 2
docker/nuxt_common/Dockerfile

@@ -1,9 +1,9 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 
 RUN corepack enable; \
-    yarn set version berry;
+    yarn set version 4.3.1;
 
 # Cypress requirements (https://docs.cypress.io/guides/getting-started/installing-cypress#Ubuntu-Debian)
 RUN apt-get update && apt-get install -y --fix-missing libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 \

+ 0 - 8
docker/portail/.idea/modules.xml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/.idea/typo3.iml" filepath="$PROJECT_DIR$/.idea/typo3.iml" />
-    </modules>
-  </component>
-</project>

+ 0 - 8
docker/portail/.idea/typo3.iml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="WEB_MODULE" version="4">
-  <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$" />
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>

+ 0 - 6
docker/portail/.idea/vcs.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
-  </component>
-</project>

+ 0 - 57
docker/portail/.idea/workspace.xml

@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ChangeListManager">
-    <list default="true" id="e58bf2af-f96f-4f59-913f-4c9c17e995f8" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/../../README" beforeDir="false" afterPath="$PROJECT_DIR$/../../README" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../mariaDb/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/../mariaDb/Dockerfile" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../mariaDb/conf/my.cnf" beforeDir="false" afterPath="$PROJECT_DIR$/../mariaDb/conf/my.cnf" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../php/conf/xdebug.ini" beforeDir="false" afterPath="$PROJECT_DIR$/../php/conf/xdebug.ini" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/Dockerfile" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/conf/LocalConfiguration.php" beforeDir="false" afterPath="$PROJECT_DIR$/conf/LocalConfiguration.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/conf/apc.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/apc.ini" afterDir="false" />
-    </list>
-    <option name="SHOW_DIALOG" value="false" />
-    <option name="HIGHLIGHT_CONFLICTS" value="true" />
-    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
-    <option name="LAST_RESOLUTION" value="IGNORE" />
-  </component>
-  <component name="ComposerSettings">
-    <execution />
-  </component>
-  <component name="Git.Settings">
-    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
-  </component>
-  <component name="ProjectId" id="1j6NAaQnaSxctRm4TDYbXOZ5bbT" />
-  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
-  <component name="ProjectViewState">
-    <option name="hideEmptyMiddlePackages" value="true" />
-    <option name="showLibraryContents" value="true" />
-  </component>
-  <component name="PropertiesComponent">
-    <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
-    <property name="WebServerToolWindowFactoryState" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../apps/typo3" />
-    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
-    <property name="settings.editor.splitter.proportion" value="0.2" />
-  </component>
-  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
-  <component name="TaskManager">
-    <task active="true" id="Default" summary="Default task">
-      <changelist id="e58bf2af-f96f-4f59-913f-4c9c17e995f8" name="Default Changelist" comment="" />
-      <created>1603120439325</created>
-      <option name="number" value="Default" />
-      <option name="presentableId" value="Default" />
-      <updated>1603120439325</updated>
-    </task>
-    <servers />
-  </component>
-  <component name="TypeScriptGeneratedFilesManager">
-    <option name="version" value="3" />
-  </component>
-  <component name="WindowStateProjectService">
-    <state x="743" y="286" width="424" height="488" key="FileChooserDialogImpl" timestamp="1603120456046">
-      <screen x="0" y="27" width="1920" height="1002" />
-    </state>
-    <state x="743" y="286" width="424" height="488" key="FileChooserDialogImpl/0.27.1920.1002/1920.0.1280.1024@0.27.1920.1002" timestamp="1603120456046" />
-  </component>
-</project>

+ 0 - 37
docker/portail/Dockerfile

@@ -1,37 +0,0 @@
-FROM martinhelmich/typo3:8.7
-
-ARG COMPOSER_HASH
-
-# Set the locale && APCU && COMPOSER
-RUN apt-get clean && apt-get update && apt-get install -y locales; \
-    pecl install apcu-5.1.17 && pecl install apcu_bc; \
-    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
-    php composer-setup.php; \
-    php -r "unlink('composer-setup.php');"; \
-    mv composer.phar /usr/local/bin/composer;
-
-COPY /docker/portail/conf/locale.gen /etc/locale.gen
-COPY /docker/portail/conf/memory.ini /usr/local/etc/php/conf.d
-COPY /docker/portail/conf/apc.ini /usr/local/etc/php/conf.d
-
-RUN locale-gen fr_FR.UTF-8
-ENV LANG fr_FR.UTF-8
-ENV LANGUAGE fr_FR:fr
-ENV LC_ALL fr_FR.UTF-8
-
-
-RUN cd /var/www/html/typo3conf \
-    && mkdir -p ext \
-    && mkdir -p /var/www/html/fileadmin/shared_folder \
-    && mkdir -p /var/www/html/uploads/newsletters \
-    && chown www-data:www-data -R ext\
-    && cd /var/www/html \
-    && rm typo3_src \
-    && rm -rf typo3_src-8.* \
-    && wget --no-check-certificate --content-disposition https://get.typo3.org/8.7.22 \
-    && tar -xvf typo3_src-8.7.22.tar.gz \
-    && wget --no-check-certificate --content-disposition https://get.typo3.org/8.7.31 \
-    && tar -xvf typo3_src-8.7.31.tar.gz \
-    && ln -s typo3_src-8.7.31 typo3_src
-
-WORKDIR /var/www/html

+ 0 - 152
docker/portail/conf/LocalConfiguration.php

@@ -1,152 +0,0 @@
-<?php
-return [
-    'BE' => [
-        'debug' => true,
-        'enabledBeUserIPLock' => false,
-        'installToolPassword' => '$P$CLSqefi3DyMo.YBT/d/FwC/QZbuy760',
-        'lockIP' => '0',
-        'loginSecurityLevel' => 'normal',
-        'passwordHashing' => [
-            'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash',
-            'options' => [],
-        ],
-        'sessionTimeout' => '65000',
-        'showRefreshLoginPopup' => true,
-        'versionNumberInFilename' => '0',
-    ],
-    'DB' => [
-        'Connections' => [
-            'Default' => [
-                'charset' => 'utf8',
-                'dbname' => 'openassos',
-                'driver' => 'mysqli',
-                'host' => 'db',
-                'initCommands' => '',
-                'password' => 'mysql660',
-                'user' => 'root',
-            ],
-        ],
-        'extTablesDefinitionScript' => 'extTables.php',
-    ],
-    'EXT' => [
-        'extConf' => [
-            'about' => 'a:0:{}',
-            'backend' => 'a:6:{s:9:"loginLogo";s:0:"";s:19:"loginHighlightColor";s:0:"";s:20:"loginBackgroundImage";s:0:"";s:13:"loginFootnote";s:0:"";s:11:"backendLogo";s:0:"";s:14:"backendFavicon";s:0:"";}',
-            'belog' => 'a:0:{}',
-            'beuser' => 'a:0:{}',
-            'css_styled_content' => 'a:0:{}',
-            'extensionmanager' => 'a:2:{s:21:"automaticInstallation";s:1:"1";s:11:"offlineMode";s:1:"0";}',
-            'feedit' => 'a:0:{}',
-            'felogin' => 'a:0:{}',
-            'fluid_styled_content' => 'a:0:{}',
-            'form' => 'a:0:{}',
-            'func' => 'a:0:{}',
-            'info' => 'a:0:{}',
-            'info_pagetsconfig' => 'a:0:{}',
-            'lowlevel' => 'a:0:{}',
-            'ot_cms' => 'a:2:{s:6:"admin.";a:4:{s:3:"url";s:28:"http://alpha.opentalent.fr/#";s:4:"home";s:10:"/dashboard";s:6:"logout";s:7:"/logout";s:6:"switch";s:10:"/switch/%d";}s:4:"api.";a:7:{s:3:"url";s:36:"http://api.opentalent.fr/app.php/api";s:5:"login";s:12:"/login_check";s:6:"logout";s:7:"/logout";s:15:"isauthenticated";s:21:"/user/isauthenticated";s:6:"public";s:7:"/public";s:10:"parameters";s:16:"/user/parameters";s:6:"people";s:24:"/api/app_dev.php/people/";}}',
-            'ot_migration_typo8' => 'a:0:{}',
-            'ot_portail' => 'a:0:{}',
-            'ot_webservice' => 'a:0:{}',
-            'theme_gallery' => 'a:0:{}',
-            'tstemplate' => 'a:0:{}',
-            'typo3_api' => 'a:0:{}',
-        ],
-    ],
-    'EXTCONF' => [
-        'lang' => [
-            'availableLanguages' => [
-                'fr',
-            ],
-        ],
-    ],
-    'EXTENSIONS' => [
-        'backend' => [
-            'backendFavicon' => '',
-            'backendLogo' => '',
-            'loginBackgroundImage' => '',
-            'loginFootnote' => '',
-            'loginHighlightColor' => '',
-            'loginLogo' => '',
-        ],
-        'extensionmanager' => [
-            'automaticInstallation' => '1',
-            'offlineMode' => '0',
-        ],
-    ],
-    'FE' => [
-        'debug' => false,
-        'disableNoCacheParameter' => '0',
-        'pageNotFoundOnCHashError' => '0',
-        'passwordHashing' => [
-            'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash',
-            'options' => [],
-        ],
-    ],
-    'GFX' => [
-        'jpg_quality' => '96',
-        'processor' => 'GraphicsMagick',
-        'processor_allowTemporaryMasksAsPng' => false,
-        'processor_colorspace' => 'RGB',
-        'processor_effects' => false,
-        'processor_enabled' => true,
-        'processor_path' => '/usr/bin/',
-        'processor_path_lzw' => '/usr/bin/',
-    ],
-    'HTTP' => [
-        'connect_timeout' => 120,
-    ],
-    'INSTALL' => [],
-    'LOG' => [
-        'TYPO3' => [
-            'CMS' => [
-                'deprecations' => [
-                    'writerConfiguration' => [
-                        5 => [
-                            'TYPO3\CMS\Core\Log\Writer\FileWriter' => [
-                                'disabled' => true,
-                            ],
-                        ],
-                    ],
-                ],
-            ],
-        ],
-    ],
-    'MAIL' => [
-        'defaultMailFromAddress' => 'ne_pas_repondre@opentalent.fr',
-        'transport' => 'sendmail',
-        'transport_sendmail_command' => ' -t -i ',
-        'transport_smtp_encrypt' => '',
-        'transport_smtp_password' => '',
-        'transport_smtp_server' => '',
-        'transport_smtp_username' => '',
-    ],
-    'SYS' => [
-        'UTF8filesystem' => '1',
-        'belogErrorReporting' => 30711,
-        'caching' => [
-            'cacheConfigurations' => [
-                'extbase_object' => [
-                    'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcBackend',
-                    'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend',
-                    'groups' => [
-                        'system',
-                    ],
-                    'options' => [
-                        'defaultLifetime' => 0,
-                    ],
-                ],
-            ],
-        ],
-        'cookieDomain' => 'opentalent.fr',
-        'devIPmask' => '',
-        'displayErrors' => 0,
-        'encryptionKey' => 'ed7ad07c97e4703bd18aaad78071be42',
-        'exceptionalErrors' => 4096,
-        'fileCreateMask' => '2660',
-        'folderCreateMask' => '2770',
-        'sitename' => 'Opentalent',
-        'systemLocale' => 'fr_FR.UTF-8',
-        'systemLogLevel' => 2,
-    ],
-];

+ 0 - 3
docker/portail/conf/apc.ini

@@ -1,3 +0,0 @@
-extension=apcu.so
-extension=apc.so
-apc.enable_cli=1

+ 0 - 6
docker/portail/conf/locale.gen

@@ -1,6 +0,0 @@
-# This file lists locales that you wish to have built. You can find a list
-# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add
-# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change
-# this file, you need to rerun locale-gen.
-
-fr_FR.UTF-8 UTF-8

+ 0 - 1
docker/portail/conf/memory.ini

@@ -1 +0,0 @@
-memory_limit=4096M

+ 2 - 2
docker/portail_v2/Dockerfile → docker/site_logiciels/Dockerfile

@@ -1,9 +1,9 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 
 RUN corepack enable; \
-    yarn set version berry;
+    yarn set version 4.3.1;
 
 # Define working directory.
 WORKDIR ${WORKDIR}

+ 9 - 3
docker/typo3/Dockerfile

@@ -1,4 +1,4 @@
-FROM php:7.4.11-apache
+FROM php:8.3-apache
 
 ARG COMPOSER_HASH
 
@@ -13,10 +13,16 @@ COPY /docker/typo3/conf/typo3.conf /etc/apache2/sites-available/
 # Set workdir
 WORKDIR /var/www/typo3
 
+## COMPOSER
+RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
+    php composer-setup.php; \
+    php -r "unlink('composer-setup.php');"; \
+    mv composer.phar /usr/local/bin/composer
+
 RUN \
     # Install utilities and php extensions
     apt-get clean && apt-get update && apt-get install -y locales; \
-    pecl install apcu-5.1.17 && pecl install apcu_bc && pecl install imagick-3.4.3RC2; \
+    pecl install apcu-5.1.23 && pecl install apcu_bc && pecl install imagick-3.4.3RC2; \
     apt-get install -y --no-install-recommends zip unzip git nano wget less \
                                                libxml2-dev libpq-dev libzip-dev zlib1g-dev libonig-dev \
                                                libfreetype6-dev libpng-dev libjpeg-dev libicu-dev libwebp-dev \
@@ -27,7 +33,7 @@ RUN \
     docker-php-ext-enable opcache; \
 
     # Install and enable xdebug
-    pecl install xdebug-2.9.8; \
+    pecl install xdebug-3.3.2; \
     docker-php-ext-enable xdebug; \
 
     # Set locale

+ 39 - 8
docker/typo3/conf/.htaccess

@@ -1,3 +1,9 @@
+
+SetEnv TYPO3_CONTEXT Development
+
+# Enable / Disable the opentalent ot_optimizer middlewares
+SetEnv TYPO3_OPTIMIZE 1
+
 #####
 #
 # Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
@@ -23,8 +29,10 @@
 #
 ####
 
-SetEnv TYPO3_CONTEXT Development
-SetEnv TYPO3_OPTIMIZE 1
+#RewriteCond %{REMOTE_ADDR} !^10\.8\.0\.
+#RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
+#RewriteRule .* /maintenance.html [R=302,L]
+
 
 ### Begin: Compression ###
 
@@ -172,6 +180,16 @@ AddEncoding gzip .gzip
 
 # Proper MIME types for all files
 <IfModule mod_mime.c>
+	# Security configuration
+	RemoveType .html .htm
+	<FilesMatch ".+\.html?$">
+		AddType text/html .html .htm
+	</FilesMatch>
+
+	RemoveType .svg .svgz
+	<FilesMatch ".+\.svgz?$">
+		AddType image/svg+xml .svg .svgz
+	</FilesMatch>
 
 	# Data interchange
 	AddType application/atom+xml                        atom
@@ -194,7 +212,6 @@ AddEncoding gzip .gzip
 	AddType audio/mp4                                   f4a f4b m4a
 	AddType audio/ogg                                   oga ogg opus
 	AddType image/bmp                                   bmp
-	AddType image/svg+xml                               svg svgz
 	AddType image/webp                                  webp
 	AddType video/mp4                                   f4v f4p m4v mp4
 	AddType video/ogg                                   ogv
@@ -264,6 +281,10 @@ AddDefaultCharset utf-8
 	# Enable URL rewriting
 	RewriteEngine On
 
+	# Block wp-login.php request
+	RewriteCond %{REQUEST_URI} /wp-login.php$ [NC]
+	RewriteRule .* - [F]
+
 	# Store the current location in an environment variable CWD to use
 	# mod_rewrite in .htaccess files without knowing the RewriteBase
 	RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
@@ -300,14 +321,23 @@ AddDefaultCharset utf-8
 
 	# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
 	# NOTE: Add your additional local storages here
-	RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
+	RewriteRule ^(?:fileadmin/|typo3conf/|typo3temp/|uploads/|packages/) - [L]
 
 	# If the file/symlink/directory does not exist => Redirect to index.php.
 	# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
-	RewriteCond %{REQUEST_FILENAME} !-f
-	RewriteCond %{REQUEST_FILENAME} !-d
-	RewriteCond %{REQUEST_FILENAME} !-l
-	RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} !-l
+    RewriteRule ^typo3/(.*)$ %{ENV:CWD}typo3/index.php [QSA,L]
+
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} !-l
+    RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
+
+    # Redirect www. adresses
+    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
+    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 
 </IfModule>
 
@@ -367,3 +397,4 @@ FileETag None
 
 
 # Add your own rules here.
+

+ 4 - 1
docker/typo3/conf/LocalConfiguration.php

@@ -167,7 +167,7 @@ return [
         'caching' => [
             'cacheConfigurations' => [
                 'extbase_object' => [
-                    'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcBackend',
+                    'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcuBackend',
                     'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend',
                     'groups' => [
                         'system',
@@ -188,5 +188,8 @@ return [
         'sitename' => 'Opentalent',
         'systemLocale' => 'fr_FR.UTF-8',
         'systemLogLevel' => 0,
+        'features' => [
+            'security.backend.enforceReferrer' => false,
+        ],
     ],
 ];

+ 0 - 1
docker/typo3/conf/apc.ini

@@ -1,3 +1,2 @@
 extension=apcu.so
-extension=apc.so
 apc.enable_cli=1

+ 0 - 70
docker/typo3/conf/composer.json

@@ -1,70 +0,0 @@
-{
-	"repositories": [
-		{ "type": "composer", "url": "https://composer.typo3.org/" }
-	],
-	"name": "typo3/cms-base-distribution",
-	"description" : "TYPO3 CMS Base Distribution",
-	"license": "GPL-2.0-or-later",
-	"config": {
-		"platform": {
-			"php": "7.4"
-		}
-	},
-	"require": {
-		"typo3/cms-about": "^9.5",
-		"typo3/cms-adminpanel": "^9.5",
-		"typo3/cms-backend": "^9.5",
-		"typo3/cms-belog": "^9.5",
-		"typo3/cms-beuser": "^9.5",
-		"typo3/cms-core": "^9.5",
-		"typo3/cms-extbase": "^9.5",
-		"typo3/cms-extensionmanager": "^9.5",
-		"typo3/cms-felogin": "^9.5",
-		"typo3/cms-filelist": "^9.5",
-		"typo3/cms-filemetadata": "^9.5",
-		"typo3/cms-fluid": "^9.5",
-		"typo3/cms-fluid-styled-content": "^9.5",
-		"typo3/cms-form": "^9.5",
-		"typo3/cms-frontend": "^9.5",
-		"typo3/cms-info": "^9.5",
-		"typo3/cms-install": "^9.5",
-		"typo3/cms-lowlevel": "^9.5",
-		"typo3/cms-recycler": "^9.5",
-		"typo3/cms-redirects": "^9.5",
-		"typo3/cms-reports": "^9.5",
-		"typo3/cms-rte-ckeditor": "^9.5",
-		"typo3/cms-scheduler": "^9.5",
-		"typo3/cms-seo": "^9.5",
-		"typo3/cms-setup": "^9.5",
-		"typo3/cms-t3editor": "^9.5",
-		"typo3/cms-tstemplate": "^9.5",
-		"fluidtypo3/flux": "^9.4",
-		"fluidtypo3/vhs": "^6.0",
-		"georgringer/news": "^8.4",
-		"helhum/typo3-console": "^5.7",
-		"causal/image_autoresize": "^2.0",
-		"friendsoftypo3/frontend-editing": "^1.9",
-		"sgalinski/lfeditor": "^6.0",
-		"twig/twig": "^3.3",
-		"phpunit/phpunit": "^9.5"
-	},
-	"scripts":{
-		"typo3-cms-scripts": [
-			"typo3cms install:fixfolderstructure",
-			"typo3cms install:generatepackagestates"
-		],
-		"post-autoload-dump": [
-			"@typo3-cms-scripts"
-		]
-	},
-	"autoload": {
-		"psr-4": {
-			"Opentalent\\OtCore\\": "public/typo3conf/ext/ot_core/Classes",
-			"Opentalent\\OtConnect\\": "public/typo3conf/ext/ot_connect/Classes",
-			"Opentalent\\OtTemplating\\": "public/typo3conf/ext/ot_templating/Classes",
-			"Opentalent\\OtAdmin\\": "public/typo3conf/ext/ot_admin/Classes",
-			"Opentalent\\OtStats\\": "public/typo3conf/ext/ot_stats/Classes",
-			"Opentalent\\OtOptimizer\\": "public/typo3conf/ext/ot_optimizer/Classes"
-		}
-	}
-}

+ 7 - 7
docker/typo3/conf/xdebug.ini

@@ -1,13 +1,13 @@
 [xdebug]
-xdebug.default_enable = 1
-xdebug.remote_enable = 1
+zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so
+xdebug.mode=debug
 xdebug.idekey=PHPSTORM
-xdebug.remote_autostart = 1
-xdebug.remote_connect_back = 1
-xdebug.remote_port = 9000
+xdebug.client_port = 9000
 xdebug.max_nesting_level=400
+xdebug.discover_client_host=1
+xdebug.start_with_request=trigger
 
 ; for mac and windows
-;xdebug.remote_host = host.docker.internal
+;xdebug.client_host = host.docker.internal
 ; for unix (your machine hostname)
-xdebug.remote_host = dev
+xdebug.client_host = dev