Browse Source

upgrade node to 23 and remove obsolete dockers

Olivier Massot 9 months ago
parent
commit
0d5c28f5dc

+ 0 - 8
.env.skeleton

@@ -37,17 +37,9 @@ 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

+ 1 - 37
README.md

@@ -40,10 +40,8 @@ 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               |
@@ -83,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'
@@ -280,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:
@@ -386,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
 
@@ -456,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?
@@ -608,9 +574,7 @@ 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                      | -                                                     |
 | 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                  | -                                                     |
@@ -786,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 :
 

+ 0 - 53
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,36 +292,6 @@ 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
-
   site_logiciels:
     hostname: site_logiciels
     container_name: site_logiciels

+ 1 - 1
docker/agenda/Dockerfile

@@ -1,4 +1,4 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 

+ 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

+ 1 - 1
docker/app/Dockerfile

@@ -1,4 +1,4 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 

+ 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

+ 1 - 1
docker/nuxt_common/Dockerfile

@@ -1,4 +1,4 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 

+ 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

+ 1 - 1
docker/site_logiciels/Dockerfile

@@ -1,4 +1,4 @@
-FROM node:18.19-buster
+FROM node:23.8.0
 
 ENV WORKDIR /home/workspace
 

+ 6 - 0
docker/typo3/Dockerfile

@@ -13,6 +13,12 @@ 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; \

+ 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 - 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"
-		}
-	}
-}