Browse Source

HTTPS et HTTP2

Vincent GUFFON 6 years ago
parent
commit
cb11037b53

+ 46 - 0
.env

@@ -0,0 +1,46 @@
+#Composer hash for instal (check validity here : https://getcomposer.org/download/)
+COMPOSER_HASH=baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182
+
+#LetsEncrypt
+EMAIL=vincent.guffon@2iopenservice.com
+
+#DataBase
+MYSQL_PASS=mysql660
+
+#Elasticsearch
+ES_VIRTUAL_HOST=local.elasticsearch.opentalent.fr
+ES_PORT=9200
+
+#API
+API_VIRTUAL_HOST=local.api.opentalent.fr
+
+#ADMIN
+ADMIN_VIRTUAL_HOST=local.admin.opentalent.fr
+ADMIN_PORT=3000
+ADMIN_REPORT_PORT=3001
+
+#PORTAIL
+PORTAIL_VIRTUAL_HOST=local.opentalent.fr
+
+#V59
+V59_VIRTUAL_HOST=local.v59.opentalent.fr
+
+#PHPMYADMIN
+PHPMYADMIN_VIRTUAL_HOST=local.phpmyadmin.opentalent.fr
+
+#MAILCATCHER
+MAILCATCHER_VIRTUAL_HOST=local.mailcatcher.opentalent.fr
+MAILCATCHER_PORT=1080
+
+#THUMBOR
+THUMBOR_VIRTUAL_HOST=local.thumbor.opentalent.fr
+
+#Black Fire
+BLACK_FIRE_ID=97e9ee98-0703-478e-a298-6320bd432393
+BLACK_FIRE_TOKEN=31c026c1ee937f59834cec4da0d019d946ce3e3dd02119ab621e59d1b52a20e9
+BLACK_FIRE_VIRTUAL_HOST=local.blackfire.opentalent.fr
+BLACK_FIRE_PORT=8707
+
+#Metabase
+METABASE_VIRTUAL_HOST=local.metabase.opentalent.fr
+METABASE_PORT=3000

+ 32 - 53
README

@@ -1,9 +1,30 @@
+=========== Générer les contrats SSL   ============
+rendre éxécutable le fichier de génération de clé : chmod +x docker/nginx/certs/ssl_keys.sh
+lancé (au même niveau que le README) la commande : docker/nginx/certs/ssl_keys.sh
+
 docker-compose build
 docker-compose up
 
-
 =========== A faire en plus.....  ===========
 
+Mettre le fichier .env et /etc/hosts à jour selon les nom de domaines
+
+127.0.0.1 local.api.opentalent.fr
+127.0.0.1 local.mailcatcher.opentalent.fr
+127.0.0.1 local.v59.opentalent.fr
+127.0.0.1 local.phpmyadmin.opentalent.fr
+127.0.0.1 local.elasticsearch.opentalent.fr
+127.0.0.1 local.admin.opentalent.fr
+127.0.0.1 local.thumbor.opentalent.fr
+127.0.0.1 local.opentalent.fr
+127.0.0.1 local.blackfire.opentalent.fr
+127.0.0.1 local.metabase.opentalent.fr
+
+/!\ Pour que le certificat soit validé sur chrome
+allez sur l'adresse url, ouvrir la console de debugger entrer :
+console.log(window.atob('dGhpc2lzdW5zYWZl'));
+cliquer n'importe où sur la page et taper le mot qui s'est afficher dans la console précédemment.
+
 =========== Container DB ===================
 //Se connecter a db
 docker exec -it mariaDb bash
@@ -20,7 +41,7 @@ cd env
 
 =========== Container PHP ===================
 //Se connecter a opentalent-platform
-docker exec -it back bash
+docker exec -it php bash
 
 //Faire un composer install...
 //Host de la BDD : db, Login : root, Pass : mysql660
@@ -30,7 +51,7 @@ composer install
 
 =========== Container FRONT ===================
 //Se connecter a opentalent-platform
-docker exec -it front bash
+docker exec -it admin bash
 
 NODE_ENV=docker gulp serve
 =========== Container FRONT ===================
@@ -38,11 +59,13 @@ NODE_ENV=docker gulp serve
 
 =========== Container TYPO3 ===================
 //Se connecter a typo3
-docker exec -it typo3 bash
+docker exec -it portail bash
 
 //Créer le fichier ENABLE_INSTALL_TOOLS
 touch typo3conf/ENABLE_INSTALL_TOOL
 
+chown -R www-data:www-data typo3conf/ext
+
 //Se rendre dans l'utilitaire d'installation
 http://local.opentalent.fr/typo3/install
 le mot de passe est : opentalent
@@ -58,55 +81,11 @@ mdp  : Mgv456*547-23
 
 aller sur " Opentalent - la plat..."
 cliquer sur "List"
-vérifier que le domaine est : local.opentalent.fr/
+décommenter les domaines
 
 Aller dans extension
-Vérifier que toutes les extensions ot_* soient activées.
-
-=========== Container FRONT ===================
-
-
-=========== MEMO DOCKER ====================
-//Tagger une image docker
-docker -t vinceguf/apache:2.4 ./Docker/apache2.4/
-
-//build une image et la tagger
-docker build -t vinceguf/apache:2.4 ./Docker/apache2.4/
-
-//Build docker compose
-docker-compose build
-
-//Lancer le docker-compose == lancer les containers
-docker-compose up
-
-//Stopper le docker-compose == stopper les containers
-docker-compose stop
-
-//Stopper tous les containers quelque soit le docker-compose
-docker stop $(docker ps -a -q)
-
-//Supprimer tous les container Docker
-docker rm $(docker ps -a -q)
-
-//Supprimer toutes les images Docker
-docker rmi $(docker images -q)
-
-//Lister les proccess Docker
-docker ps
-
-//Lister les containers actifs
-docker container ls
-
-//Lister tous les containers
-docker container ls -a
-
-//Lister les images
-docker images
-
-//Entrer dans un container en bash
-docker exec -it db bash   ==> db étant le container name que l'on retrouve en faisant docker ps
+désactiver realUrl
+Vérifier que toutes les extensions de la prod soient activées.
+Si on rencontre des erreurs "Oups an error occured" ==> regarder dans typo3temp/var/logs
 
-//Docker compose a une facheuse tendance à conserver des config entre chaque lancement (comme la config de la BDD)
-//si par exemple, on arrive pas à se connecter à la BDD à cause d'un Access Denied, il faut faire:
-docker-compose rm -v
-=========== MEMO DOCKER ====================
+=========== Container TYPO3 ===================

+ 42 - 0
cheat-sheet-docker.txt

@@ -0,0 +1,42 @@
+ //Tagger une image docker
+ docker -t vinceguf/apache:2.4 ./Docker/apache2.4/
+
+ //build une image et la tagger
+ docker build -t vinceguf/apache:2.4 ./Docker/apache2.4/
+
+ //Build docker compose
+ docker-compose build
+
+ //Lancer le docker-compose == lancer les containers
+ docker-compose up
+
+ //Stopper le docker-compose == stopper les containers
+ docker-compose stop
+
+ //Stopper tous les containers quelque soit le docker-compose
+ docker stop $(docker ps -a -q)
+
+ //Supprimer tous les container Docker
+ docker rm $(docker ps -a -q)
+
+ //Supprimer toutes les images Docker
+ docker rmi $(docker images -q)
+
+ //Lister les proccess Docker
+ docker ps
+
+ //Lister les containers actifs
+ docker container ls
+
+ //Lister tous les containers
+ docker container ls -a
+
+ //Lister les images
+ docker images
+
+ //Entrer dans un container en bash
+ docker exec -it db bash   ==> db étant le container name que l'on retrouve en faisant docker ps
+
+ //Docker compose a une facheuse tendance à conserver des config entre chaque lancement (comme la config de la BDD)
+ //si par exemple, on arrive pas à se connecter à la BDD à cause d'un Access Denied, il faut faire:
+ docker-compose rm -v

+ 106 - 133
docker-compose.yaml

@@ -1,14 +1,12 @@
-volumes:
-  mysqldata: ~
-  elasticsearchdata: ~
-  # On rajoute un volume (de données non accessibles en dehors)
-  appdata: ~
-
 version: '3.3'
+
 services:
   nginx-proxy:
-    image: jwilder/nginx-proxy
-    container_name: proxy
+    container_name: nginx-proxy
+    build:
+      context: .
+      dockerfile: docker/nginx/Dockerfile
+    restart: always
     ports:
       - 80:80
       - 443:443
@@ -16,31 +14,32 @@ services:
       - /var/run/docker.sock:/tmp/docker.sock:ro
       - /etc/nginx/vhost.d
       - /usr/share/nginx/html
-    networks:
-      - proxy_net
 
-  front:
-    container_name: front
+  db:
+    container_name: mariaDb
     build:
       context: .
-      dockerfile: docker/node/Dockerfile
+      dockerfile: docker/mariaDb/Dockerfile
+    restart: always
     volumes:
-      - ./apps/opentalent-admin-2.0:/home/workspace:rw,cached
-    ports:
-      - '3000:3000'
-      - '3001:3001'
-    tty: true
+      - ./mysqldata:/var/lib/mysql
+      - ./apps/env:/env:cached
+      - ./apps/metabase:/usr/metabase:cached
+    environment:
+      MYSQL_ROOT_PASSWORD: ${MYSQL_PASS}
+
+  phpmyadmin:
+    container_name: phpmyadmin
+    image: phpmyadmin/phpmyadmin
     environment:
-      - VIRTUAL_HOST=local.admin.opentalent.fr
-      - VIRTUAL_PORT=3000
-    networks:
-      - proxy_net
+      - VIRTUAL_HOST=${PHPMYADMIN_VIRTUAL_HOST}
+    restart: always
     depends_on:
-      - nginx-proxy
+      - db
 
   es:
     container_name: es
-    image: elasticsearch:2.4.6
+    image: elasticsearch:2.4.6-alpine
     restart: always
     volumes:
       - ./elasticsearchdata:/usr/share/elasticsearch/data
@@ -49,116 +48,87 @@ services:
       - cluster.name=docker-cluster
       - bootstrap.memory_lock=true
       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
-      - VIRTUAL_HOST=local.elasticsearch.opentalent.fr
-      - VIRTUAL_PORT=9200
+      - VIRTUAL_HOST=${ES_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${ES_PORT}
     ulimits:
       memlock:
         soft: -1
         hard: -1
-    ports:
-      - '9200:9200'
-    networks:
-      - proxy_net
-      - api
-    depends_on:
-      - nginx-proxy
 
-  db:
-    container_name: mariaDb
-    build:
-      context: .
-      dockerfile: docker/mariaDb/Dockerfile
+  thumbor:
+    container_name: thumbor
+    image: minimalcompact/thumbor
     restart: always
-    volumes:
-      - ./mysqldata:/var/lib/mysql
-      - ./apps/env:/env:cached
     environment:
-      MYSQL_ROOT_PASSWORD: mysql660
-    ports:
-      - '3306:3306'
-    networks:
-      - api
-      - proxy_net
-
-  web:
-    container_name: nginx
-    image: nginx:latest
-    volumes:
-      - ./apps/opentalent-platform:/var/www/html:rw,cached
-      - ./docker/nginx/site.conf:/etc/nginx/conf.d/site.conf:cached
-    ports:
-      - '8080:80'
-    depends_on:
-      - php_fpm
-    networks:
-      - api
-      - proxy_net
+      - VIRTUAL_HOST=${THUMBOR_VIRTUAL_HOST}
+      - LOADER=thumbor.loaders.file_loader
+    #    volumes:
+    #      - ./apps/opentalent-platform/web/files:/data/loader:cached
 
-  php_fpm:
-    container_name: back
+  php:
+    container_name: php
     build:
       context: .
       dockerfile: docker/php/Dockerfile
+      args:
+        - COMPOSER_HASH=${COMPOSER_HASH}
     restart: always
     volumes:
-      - ./apps/.bash_history:/root/.bash_history:cached
       # Version Symfony 2
       - appdata:/var/www/html/app/cache/
       - appdata:/var/www/html/app/logs/
       # Le code sera surtout modifié en dehors du container, donc la consistence est prioritairement dans ce sens
-      - ./apps/opentalent-platform:/var/www/html/:cached
+      - ./apps/opentalent-platform:/var/www/html:cached
       # A l'inverse, les vendors seront surtout modifiés dans le container
       - ./apps/opentalent-platform/vendor:/var/www/html/vendor:delegated
     depends_on:
       - db
       - es
       - thumbor
-      - blackfire
-    networks:
-      - api
-      - proxy_net
+      - nginx-proxy
 
-  blackfire:
-    container_name: blackfire
-    image: blackfire/blackfire
+  api:
+    container_name: api
+    image: nginx:alpine
+    volumes:
+      - ./apps/opentalent-platform/web:/var/www/html/web:rw,cached
+      - ./docker/nginx/site.conf:/etc/nginx/conf.d/default.conf:cached
     environment:
-      # Exposes the host BLACKFIRE_SERVER_ID and TOKEN environment variables.
-      - 97e9ee98-0703-478e-a298-6320bd432393
-      - 31c026c1ee937f59834cec4da0d019d946ce3e3dd02119ab621e59d1b52a20e9
-    ports:
-      - "8707:8707"
-    networks:
-      - api
+      - VIRTUAL_HOST=${API_VIRTUAL_HOST}
+    depends_on:
+      - php
 
-  php_apache:
-    container_name: adminassos
+  admin:
+    container_name: admin
     build:
       context: .
-      dockerfile: docker/adminassos/Dockerfile
-    restart: always
+      dockerfile: docker/node/Dockerfile
     volumes:
-      - ./apps/opentalent:/var/source/opentalent:rw,cached
-      - ./apps/vendor:/var/source/vendor:rw,cached
-      - ./apps/opentalent-config:/var/source/config:rw,cached
+      - ./apps/opentalent-admin-2.0:/home/workspace:rw,cached
+    tty: true
+    ports:
+      - 3000:3000
+      - 3001:3001
     environment:
-      - VIRTUAL_HOST=local.v59.opentalent.fr
-    networks:
-      - proxy_net
-      - api
+      - VIRTUAL_HOST=${ADMIN_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${ADMIN_PORT}
+      - NODE_ENV=docker
     depends_on:
-      - db
+      - api
 
-  typo3:
-    container_name: typo3
+  portail:
+    container_name: portail
     build:
       context: .
       dockerfile: docker/typo3/Dockerfile
+      args:
+        - COMPOSER_HASH=${COMPOSER_HASH}
     restart: always
     volumes:
       - ./docker/typo3/conf/LocalConfiguration.php:/var/www/html/typo3conf/LocalConfiguration.php
       - ./apps/typo3/websites:/var/www/html/websites:cached
       - ./apps/opentalent/templates:/var/www/html/fileadmin/templates:cached
-      - ./apps/typo3/themes:/var/www/html/theme_gallery:cached
+      - ./apps/typo3/themes/BlueSky:/var/www/html/fileadmin/theme_gallery/BlueSky:cached
       - ./apps/typo3/typo3extension/ot_cms:/var/www/html/typo3conf/ext/ot_cms:cached
       - ./apps/typo3/typo3extension/ot_portail:/var/www/html/typo3conf/ext/ot_portail:cached
       - ./apps/typo3/typo3extension/ot_webservice:/var/www/html/typo3conf/ext/ot_webservice:cached
@@ -166,40 +136,25 @@ services:
       - ./apps/typo3/typo3extension/piwik:/var/www/html/typo3conf/ext/piwik:cached
       - ./apps/typo3/typo3extension/piwikintegration:/var/www/html/typo3conf/ext/piwikintegration:cached
     environment:
-      - VIRTUAL_HOST=local.opentalent.fr
-    networks:
-      - proxy_net
-      - api
+      - VIRTUAL_HOST=${PORTAIL_VIRTUAL_HOST}
+      - HTTPS_METHOD=noredirect
     depends_on:
-      - db
-      - nginx-proxy
-      - php_fpm
+      - api
 
-  phpmyadmin:
-    container_name: phpMyAdmin
-    image: phpmyadmin/phpmyadmin
+  adminassos:
+    container_name: adminassos
+    build:
+      context: .
+      dockerfile: docker/adminassos/Dockerfile
     restart: always
+    volumes:
+      - ./apps/opentalent:/var/source/opentalent:rw,cached
+      - ./apps/vendor:/var/source/vendor:rw,cached
+      - ./apps/opentalent-config:/var/source/config:rw,cached
     environment:
-      - VIRTUAL_HOST=local.phpmyadmin.opentalent.fr
-    networks:
-      - proxy_net
+      - VIRTUAL_HOST=${V59_VIRTUAL_HOST}
     depends_on:
-      - db
-
-  thumbor:
-    container_name: thumbor
-    image: minimalcompact/thumbor
-    restart: always
-    environment:
-      - VIRTUAL_HOST=local.thumbor.opentalent.fr
-      - LOADER=thumbor.loaders.file_loader
-#    volumes:
-#      - ./apps/opentalent-platform/web/files:/data/loader:cached
-    networks:
-      - proxy_net
       - api
-    depends_on:
-      - nginx-proxy
 
   mailcatcher:
     container_name: mailcatcher
@@ -207,18 +162,36 @@ services:
     restart: always
     ports:
       - '1025:1025'
-      - '1080:1080'
     environment:
-      - VIRTUAL_HOST=local.mailcatcher.opentalent.fr
-      - VIRTUAL_PORT=1080
-    networks:
-      - proxy_net
-      - api
+      - VIRTUAL_HOST=${MAILCATCHER_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${MAILCATCHER_PORT}
     depends_on:
       - nginx-proxy
 
-networks:
-  proxy_net:
-    driver: bridge
-  api:
-    driver: bridge
+  blackfire:
+    container_name: blackfire
+    image: blackfire/blackfire
+    environment:
+      # Exposes the host BLACKFIRE_SERVER_ID and TOKEN environment variables.
+      - ${BLACK_FIRE_ID}
+      - ${BLACK_FIRE_TOKEN}
+      - VIRTUAL_HOST=${BLACK_FIRE_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${BLACK_FIRE_PORT}
+    depends_on:
+      - php
+
+  metabase:
+    image: metabase/metabase
+    restart: always
+    environment:
+      - VIRTUAL_HOST=${METABASE_VIRTUAL_HOST}
+      - VIRTUAL_PORT=${METABASE_PORT}
+    depends_on:
+      - db
+
+volumes:
+  mysqldata: ~
+  elasticsearchdata: ~
+  certs: ~
+  # On rajoute un volume (de données non accessibles en dehors)
+  appdata: ~

+ 46 - 53
docker/adminassos/Dockerfile

@@ -1,70 +1,63 @@
 # ./docker/php/Dockerfile
 FROM php:7.0.33-apache
 
-RUN sed 's/main$/main universe/' -i /etc/apt/sources.list
-
-RUN apt-get update && apt-get upgrade -y --no-install-recommends
-
-### WKHTMLTOPDF
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential xorg libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev
-
-RUN wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
-RUN dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
-
-RUN wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
-RUN dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb
-
-RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb
-RUN dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb
-
-RUN apt-get install nano -y
-
-RUN apt-get install -y libmagickwand-dev imagemagick libtidy-dev \
-    && pecl install imagick-3.4.3RC2 \
-    && docker-php-ext-enable imagick \
-    && docker-php-ext-install tidy \
-    && docker-php-ext-enable tidy \
-    && docker-php-ext-install pdo_mysql
+RUN sed 's/main$/main universe/' -i /etc/apt/sources.list; \
+    apt-get update;   \
+    ### WKHTMLTOPDF
+    #&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential xorg libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev \
+    apt-get install -y --no-install-recommends build-essential xorg libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev; \
+    wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb; \
+    dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb; \
+    wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
+    dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
+    wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb; \
+    dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb; \
+    #NANO
+    apt-get install nano -y; \
+    #IMAGICK, TIDY, PDO
+    apt-get install -y libmagickwand-dev imagemagick libtidy-dev; \
+    pecl install imagick-3.4.3RC2; \
+    docker-php-ext-enable imagick; \
+    docker-php-ext-install tidy; \
+    docker-php-ext-enable tidy; \
+    docker-php-ext-install pdo_mysql;
 
 COPY /docker/adminassos/conf/session_save_path.ini /usr/local/etc/php/conf.d
-
 COPY /docker/adminassos/conf/bases.xml /home/config_oa/
 COPY /docker/adminassos/conf/mail_local.xml /home/config_oa/
 COPY /docker/adminassos/conf/nocturial.xml /home/config_oa/
 COPY /docker/adminassos/conf/tracker.xml /home/config_oa/
-
 COPY /docker/adminassos/conf/000-default.conf /etc/apache2/sites-available/
 
 WORKDIR /var/www/opentalent
 
-RUN ln -s /var/source/opentalent/opentalent
-RUN ln -s /var/source/vendor oalib
-RUN ln -s opentalent/lib/ajax/AjaxFromPortail.php
-RUN ln -s opentalent/lib/ajax/Ajax.php
-RUN ln -s opentalent/var/businessObjects/ajax/AjaxWithoutSessions.php
-RUN ln -s opentalent/cmf_partner
-RUN ln -s opentalent/dgv
-RUN ln -s opentalent/var/COMMON/ERROR/erreur403.html
-RUN ln -s opentalent/var/COMMON/ERROR/erreur404.html
-RUN ln -s opentalent/var/COMMON/ERROR/erreur.html
-RUN ln -s opentalent/lib/common/go.php
-RUN ln -s opentalent/indexoa.php
-RUN ln -s opentalent/index.php
-RUN ln -s oalib/jpgraph
-RUN ln -s opentalent/lib/ajax/jq_ajax.php
-RUN ln -s opentalent/oa_auto_loader.php
-RUN ln -s opentalent/oa_PATH.php
-RUN mkdir -p fileadmin
-RUN cd fileadmin
-RUN ln -s /var/source/opentalent/templates
-RUN mkdir -p user_upload
-RUN cd /var/www/opentalent
-RUN chown www-data:www-data -R opentalent
-RUN mkdir -p /var/log/opentalent
-RUN chown www-data:www-data -R /var/log/opentalent
+RUN ln -s /var/source/opentalent/opentalent; \
+    ln -s /var/source/vendor oalib; \
+    ln -s opentalent/lib/ajax/AjaxFromPortail.php; \
+    ln -s opentalent/lib/ajax/Ajax.php; \
+    ln -s opentalent/var/businessObjects/ajax/AjaxWithoutSessions.php; \
+    ln -s opentalent/cmf_partner; \
+    ln -s opentalent/dgv; \
+    ln -s opentalent/var/COMMON/ERROR/erreur403.html; \
+    ln -s opentalent/var/COMMON/ERROR/erreur404.html; \
+    ln -s opentalent/var/COMMON/ERROR/erreur.html; \
+    ln -s opentalent/lib/common/go.php; \
+    ln -s opentalent/indexoa.php; \
+    ln -s opentalent/index.php; \
+    ln -s oalib/jpgraph; \
+    ln -s opentalent/lib/ajax/jq_ajax.php; \
+    ln -s opentalent/oa_auto_loader.php; \
+    ln -s opentalent/oa_PATH.php; \
+    mkdir -p fileadmin; \
+    cd fileadmin; \
+    ln -s /var/source/opentalent/templates; \
+    mkdir -p user_upload; \
+    cd /var/www/opentalent; \
+    chown www-data:www-data -R opentalent; \
+    mkdir -p /var/log/opentalent; \
+    chown www-data:www-data -R /var/log/opentalent;
 
 CMD cd /var/www/opentalent/opentalent && mkdir -p config && cd config \
     && for f in $(ls -d /var/source/config/config/*); do ln -fs $f; done && cd .. \
     && chown www-data:www-data -R config \
-    && apache2-foreground
+    && apache2-foreground

+ 16 - 0
docker/h2-proxy/Dockerfile

@@ -0,0 +1,16 @@
+FROM alpine:latest
+
+RUN apk add --no-cache openssl
+
+# Use this self-generated certificate only in dev, IT IS NOT SECURE!
+RUN openssl genrsa -des3 -passout pass:NotSecure -out cert.pass.key 2048
+RUN openssl rsa -passin pass:NotSecure -in cert.pass.key -out cert.key
+RUN rm cert.pass.key
+RUN openssl req -new -passout pass:NotSecure -key cert.key -out cert.csr  -subj '/C=SS/ST=SS/L=Gotham City/O=API Platform Dev/CN=localhost'
+RUN openssl x509 -req -sha256 -days 365 -in cert.csr -signkey cert.key -out cert.crt
+
+FROM nginx:1.17-alpine
+
+RUN mkdir -p /etc/nginx/ssl/
+COPY --from=0 cert.key cert.crt /etc/nginx/ssl/
+COPY conf.d /etc/nginx/conf.d/

+ 22 - 0
docker/h2-proxy/conf.d/default.conf

@@ -0,0 +1,22 @@
+
+# admin
+server {
+    server_name local.phpmyadmin.opentalent.fr;
+
+    listen 443 ssl http2;
+    listen [::]:443 ssl http2;
+
+    ssl_certificate /etc/nginx/ssl/cert.crt;
+    ssl_certificate_key /etc/nginx/ssl/cert.key;
+
+    location / {
+        fastcgi_pass phpmyadmin:9000;
+
+        proxy_set_header Upgrade $http_upgrade;
+        proxy_set_header Connection "upgrade";
+
+        include fastcgi_params;
+        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+        fastcgi_param DOCUMENT_ROOT $realpath_root;
+    }
+}

+ 2 - 4
docker/mariaDb/Dockerfile

@@ -1,10 +1,8 @@
 # ./docker/php/Dockerfile
 FROM mariadb:10.4
 
-RUN apt-get update && apt-get upgrade -y
-RUN apt install openssh-server -y
-
-RUN apt-get install nano -y
+RUN apt-get update; \
+    apt-get install -y --no-install-recommends nano openssh-server;
 
 COPY /apps/opentalent-platform/migration /usr/src
 COPY /apps/env /env/

+ 3 - 0
docker/nginx/Dockerfile

@@ -0,0 +1,3 @@
+FROM jwilder/nginx-proxy:alpine
+
+ADD /docker/nginx/certs /etc/nginx/certs

+ 41 - 0
docker/nginx/certs/ssl_keys.sh

@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+#a éxécuter dans le dossier certs.
+openssl genrsa -des3 -passout pass:NotSecure -out docker/nginx/certs/default.pass.key 2048
+openssl rsa -passin pass:NotSecure -in docker/nginx/certs/default.pass.key -out docker/nginx/certs/default.key
+rm docker/nginx/certs/default.pass.key
+openssl req -new -passout pass:NotSecure -key docker/nginx/certs/default.key -out docker/nginx/certs/default.csr  -subj '/C=SS/ST=SS/L=Cluses/O=Opentalent Dev/CN=localhost'
+openssl x509 -req -sha256 -days 365 -in docker/nginx/certs/default.csr -signkey docker/nginx/certs/default.key -out docker/nginx/certs/default.crt
+
+#adapter avec le sous domaine souhaité.
+cp docker/nginx/certs/default.key docker/nginx/certs/local.phpmyadmin.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.phpmyadmin.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.api.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.api.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.elasticsearch.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.elasticsearch.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.mailcatcher.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.mailcatcher.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.v59.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.v59.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.admin.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.admin.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.thumbor.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.thumbor.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.blackfire.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.blackfire.opentalent.fr.crt
+
+cp docker/nginx/certs/default.key docker/nginx/certs/local.metabase.opentalent.fr.key
+cp docker/nginx/certs/default.crt docker/nginx/certs/local.metabase.opentalent.fr.crt
+
+docker-compose build --no-cache nginx-proxy

+ 1 - 7
docker/nginx/site.conf

@@ -1,7 +1,4 @@
 server {
-    listen 80;
-    index index.php;
-    server_name local.api.opentalent.fr;
     root /var/www/html/web;
 
     location / {
@@ -13,7 +10,7 @@ server {
     # This rule should only be placed on your development environment
     # In production, don't include this and don't deploy app_dev.php or config.php
     location ~ ^/(app_dev|config)\.php(/|$) {
-        fastcgi_pass back:9000;
+        fastcgi_pass php:9000;
         fastcgi_split_path_info ^(.+\.php)(/.*)$;
         include fastcgi_params;
         # When you are using symlinks to link the document root to the
@@ -32,7 +29,4 @@ server {
     location ~ \.php$ {
         return 404;
     }
-
-    error_log /var/log/nginx/project_error.log;
-    access_log /var/log/nginx/project_access.log;
 }

+ 14 - 18
docker/node/Dockerfile

@@ -6,24 +6,20 @@ ENV WORKDIR /home/workspace
 # Define working directory.
 WORKDIR ${WORKDIR}
 
-RUN npm install npm@3.5.2
-RUN rm -rf /usr/local/lib/node_modules/npm
-RUN mv node_modules/npm /usr/local/lib/node_modules/npm
-
-RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
-
-RUN apt-get update && apt-get upgrade -y
-
-# Install dependencies
-RUN apt-get install -yqq --no-install-recommends git bzip2 curl unzip && \
-    npm install -g gulp bower jison babel-cli typescript@next && \
-    npm cache clean && \
-    apt-get -yqq autoremove && \
-    apt-get -yqq clean && \
-    rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /var/tmp/*
-
-# Allow root for bower
-RUN echo '{ "allow_root": true }' > /root/.bowerrc
+RUN npm install npm@3.5.2; \
+    rm -rf /usr/local/lib/node_modules/npm; \
+    mv node_modules/npm /usr/local/lib/node_modules/npm; \
+    printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list; \
+    apt-get update; \
+    # Install dependencies
+    apt-get install -yqq --no-install-recommends git bzip2 curl unzip; \
+    npm install -g gulp bower jison babel-cli typescript@next; \
+    npm cache clean; \
+    apt-get -yqq autoremove; \
+    apt-get -yqq clean;  \
+    rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /var/tmp/*; \
+    # Allow root for bower
+    echo '{ "allow_root": true }' > /root/.bowerrc;
 
 CMD cd modules/ruler && jison -t rule.jison && babel --presets=es2015 model/**/*.js model/*.js -d lib && npm link && cd ../.. && npm link @opentalent/ruler \
     && node

+ 52 - 84
docker/php/Dockerfile

@@ -1,86 +1,56 @@
 # ./docker/php/Dockerfile
 FROM php:7.0.33-fpm
 
-RUN sed 's/main$/main universe/' -i /etc/apt/sources.list
-
-RUN apt-get update && apt-get upgrade -y --no-install-recommends
-
-### WKHTMLTOPDF
-RUN apt-get install -y build-essential xorg iputils-ping libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev libicu-dev g++
-#RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential xorg iputils-ping libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev
-
-RUN wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
-RUN dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
-
-RUN wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
-RUN dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb
-
-RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb
-RUN dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb
-
-## ELASTICADUMP
-RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
-RUN apt-get install nodejs -y
-RUN npm install elasticdump@3.3.7 -g
-
-## COMPOSER
-RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
-    && php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
-    && php composer-setup.php \
-    && php -r "unlink('composer-setup.php');" \
-    && mv composer.phar /usr/local/bin/composer
-
-## GIT
-RUN apt-get install git -y
-
-## NANO
-RUN apt-get install nano -y
-
-## ACL
-RUN apt-get install acl -y
-
-## OP CACHE, PDO, BC MATH, CALENDAR, PROCPS
-RUN docker-php-ext-install opcache
-RUN docker-php-ext-install pdo_mysql
-RUN docker-php-ext-install mbstring
-RUN docker-php-ext-install exif
-RUN docker-php-ext-enable exif
-RUN docker-php-ext-install bcmath
-RUN docker-php-ext-install calendar
-RUN docker-php-ext-install gd
-RUN docker-php-ext-configure intl
-RUN docker-php-ext-install intl
-
-RUN apt-get install -y procps
-
-RUN apt-get install -y \
-        libzip-dev \
-        zip \
-  && docker-php-ext-configure zip --with-libzip \
-  && docker-php-ext-install zip
-
-RUN apt-get install -y libmagickwand-dev imagemagick libtidy-dev \
-    && pecl install imagick-3.4.3RC2 \
-    && docker-php-ext-enable imagick \
-    && docker-php-ext-install tidy \
-    && docker-php-ext-enable tidy
-
-## APCU
-RUN pecl install apcu-5.1.17
-RUN pecl install apcu_bc
-
+ARG COMPOSER_HASH
+
+RUN sed 's/main$/main universe/' -i /etc/apt/sources.list; \
+    apt-get update; \
+    ### WKHTMLTOPDF
+    #&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y build-essential xorg iputils-ping libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev; \
+    apt-get install -y --no-install-recommends build-essential xorg iputils-ping libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev libicu-dev g++; \
+    wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb; \
+    dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb; \
+    wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
+    dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
+    dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
+    wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb; \
+    dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb; \
+    ## ELASTICADUMP
+    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash; - \
+    apt-get install nodejs -y; \
+    npm install elasticdump@3.3.7 -g; \
+    ## COMPOSER
+    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
+    php -r "if (hash_file('sha384', 'composer-setup.php') === '$COMPOSER_HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"; \
+    php composer-setup.php; \
+    php -r "unlink('composer-setup.php');"; \
+    mv composer.phar /usr/local/bin/composer; \
+    ## GIT, NANO, ACL, PROPCS, LIBZIP, IMAGICK
+    apt-get install-y --no-install-recommends git nano acl procps libzip-dev zip libmagickwand-dev imagemagick libtidy-dev; \
+    ## OP CACHE, PDO, BC MATH, CALENDAR, TODY
+    docker-php-ext-install opcache pdo_mysql mbstring exif bcmath calendar gd intl tidy zip; \
+    docker-php-ext-enable exif; \
+    docker-php-ext-configure intl; \
+    docker-php-ext-enable tidy; \
+    docker-php-ext-configure zip --with-libzip; \
+    # IMAGICK
+    pecl install imagick-3.4.3RC2; \
+    docker-php-ext-enable imagick; \
+    ## APCU
+    pecl install apcu-5.1.17; \
+    pecl install apcu_bc;
+
+########   BLACKFIRE #########
 # If you use Alpine, you need to set this value to "alpine"
 ENV current_os=linux
-RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
-    && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/$current_os/amd64/$version \
-    && mkdir -p /tmp/blackfire \
-    && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
-    && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
-    && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
-    && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz
-
-# Please note that the Blackfire Probe is dependent on the session module.
-# If it isn't present in your install, you will need # to enable it yourself.
+RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \
+    curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/$current_os/amd64/$version; \
+    mkdir -p /tmp/blackfire; \
+    tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire; \
+    mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \
+    printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini; \
+    rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz;
+########   BLACKFIRE #########
 
 COPY /.ssh /root/.ssh
 COPY /docker/php/conf/memory.ini /usr/local/etc/php/conf.d
@@ -89,9 +59,7 @@ COPY /docker/php/conf/execution_time.ini /usr/local/etc/php/conf.d
 
 WORKDIR /var/www/html
 
-CMD HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1) \
-    && setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs && setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs \
-    && chown -R www-data:www-data /var/www/html/web \
-    && php-fpm
-
-
+CMD HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1); \
+    setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs && setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs; \
+    chown -R www-data:www-data /var/www/html/web; \
+    php-fpm;

+ 12 - 0
docker/ssl-generator/Dockerfile

@@ -0,0 +1,12 @@
+FROM alpine:latest
+
+RUN apk add --no-cache openssl
+
+RUN mkdir -p /ssl
+
+# Use this self-generated certificate only in dev, IT IS NOT SECURE!
+RUN openssl genrsa -des3 -passout pass:NotSecure -out cert.pass.key 2048
+RUN openssl rsa -passin pass:NotSecure -in cert.pass.key -out /ssl/cert.key
+RUN rm cert.pass.key
+RUN openssl req -new -passout pass:NotSecure -key /ssl/cert.key -out /ssl/cert.csr  -subj '/C=SS/ST=SS/L=Gotham City/O=API Platform Dev/CN=localhost'
+RUN openssl x509 -req -sha256 -days 365 -in /ssl/cert.csr -signkey /ssl/cert.key -out /ssl/cert.crt

+ 23 - 19
docker/typo3/Dockerfile

@@ -1,21 +1,15 @@
 FROM martinhelmich/typo3:8.7
 
+ARG COMPOSER_HASH
 
-# Set the locale
-RUN apt-get clean && apt-get update && apt-get install -y locales
-
-## APCU
-RUN pecl install apcu-5.1.17
-RUN pecl install apcu_bc
-
-
-## COMPOSER
-RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
-    && php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
-    && php composer-setup.php \
-    && php -r "unlink('composer-setup.php');" \
-    && mv composer.phar /usr/local/bin/composer
-
+# 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 -r "if (hash_file('sha384', 'composer-setup.php') === '$COMPOSER_HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"; \
+    php composer-setup.php; \
+    php -r "unlink('composer-setup.php');"; \
+    mv composer.phar /usr/local/bin/composer;
 
 COPY /docker/typo3/conf/locale.gen /etc/locale.gen
 COPY /docker/typo3/conf/memory.ini /usr/local/etc/php/conf.d
@@ -26,7 +20,17 @@ 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 && \
-    chown www-data:www-data -R ext && \
-    chown www-data:www-data LocalConfiguration.php
+
+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 --content-disposition https://get.typo3.org/8.7.22 \
+    && tar -xvf typo3_src-8.7.22.tar.gz \
+    && ln -s typo3_src-8.7.22 typo3_src
+
+WORKDIR /var/www/html

+ 41 - 10
docker/typo3/conf/LocalConfiguration.php

@@ -1,7 +1,7 @@
 <?php
 return [
     'BE' => [
-        'debug' => '1',
+        'debug' => false,
         'installToolPassword' => '$pbkdf2-sha256$25000$.PqaJ4/ltOEEgzkLb8qejA$7sU6uclI0hzXLbMNvpD7zFYeUuP9EsMZj/c5BmQXjVg',
         'loginSecurityLevel' => 'rsa',
         'sessionTimeout' => '65000',
@@ -23,20 +23,51 @@ return [
     ],
     '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:{}',
+            'context_help' => 'a:0:{}',
+            'css_styled_content' => 'a:0:{}',
             'devlog' => 'a:10:{s:15:"minimumLogLevel";s:2:"-1";s:11:"excludeKeys";s:0:"";s:11:"includeKeys";s:0:"";s:8:"ipFilter";s:1:"*";s:16:"refreshFrequency";s:1:"4";s:14:"entriesPerPage";s:2:"25";s:11:"maximumRows";s:4:"1000";s:13:"optimizeTable";s:1:"1";s:20:"maximumExtraDataSize";s:7:"1000000";s:11:"logFilePath";s:0:"";}',
             'extensionmanager' => 'a:2:{s:21:"automaticInstallation";s:1:"1";s:11:"offlineMode";s:1:"0";}',
-            'news' => 'a:16:{s:13:"prependAtCopy";s:1:"1";s:6:"tagPid";s:1:"1";s:12:"rteForTeaser";s:1:"0";s:22:"contentElementRelation";s:1:"1";s:21:"contentElementPreview";s:1:"1";s:13:"manualSorting";s:1:"0";s:19:"categoryRestriction";s:0:"";s:34:"categoryBeGroupTceFormsRestriction";s:1:"0";s:19:"dateTimeNotRequired";s:1:"0";s:11:"archiveDate";s:4:"date";s:12:"mediaPreview";s:5:"false";s:24:"showAdministrationModule";s:1:"1";s:35:"hidePageTreeForAdministrationModule";s:1:"0";s:12:"showImporter";s:1:"0";s:18:"storageUidImporter";s:1:"1";s:22:"resourceFolderImporter";s:12:"/news_import";}',
-            'ot_cms' => 'a:2:{s:6:"admin.";a:4:{s:3:"url";s:39:"http://local.admin.opentalent.fr:3000/#";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:39:"http://local.api.opentalent.fr:8080/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:12:"/api/people/";}}',
+            'feedit' => 'a:0:{}',
+            'felogin' => 'a:0:{}',
+            'fluid_styled_content' => 'a:0:{}',
+            'form' => 'a:0:{}',
+            'frontend_editing' => 'a:1:{s:11:"seoProvider";s:4:"none";}',
+            'func' => 'a:0:{}',
+            'impexp' => 'a:0:{}',
+            'info' => 'a:0:{}',
+            'info_pagetsconfig' => 'a:0:{}',
+            'lowlevel' => 'a:0:{}',
+            'mediace' => 'a:0:{}',
+            'news' => 'a:17:{s:13:"prependAtCopy";s:1:"1";s:6:"tagPid";s:1:"1";s:12:"rteForTeaser";s:1:"0";s:22:"contentElementRelation";s:1:"1";s:21:"contentElementPreview";s:1:"1";s:13:"manualSorting";s:1:"0";s:19:"categoryRestriction";s:0:"";s:34:"categoryBeGroupTceFormsRestriction";s:1:"0";s:19:"dateTimeNotRequired";s:1:"0";s:11:"archiveDate";s:4:"date";s:12:"mediaPreview";s:5:"false";s:20:"advancedMediaPreview";s:4:"true";s:24:"showAdministrationModule";s:1:"1";s:35:"hidePageTreeForAdministrationModule";s:1:"0";s:12:"showImporter";s:1:"0";s:18:"storageUidImporter";s:1:"1";s:22:"resourceFolderImporter";s:12:"/news_import";}',
+            'opendocs' => 'a:0:{}',
+            'ot_cms' => 'a:2:{s:6:"admin.";a:4:{s:3:"url";s:35:"https://local.admin.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:14:"http://api/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:12:"/api/people/";}}',
             'ot_migration_typo8' => 'a:0:{}',
             'ot_portail' => 'a:0:{}',
             'ot_webservice' => 'a:0:{}',
             'piwik' => 'a:1:{s:20:"showFaultyConfigHelp";s:1:"1";}',
             'piwikintegration' => 'a:7:{s:12:"emMakeHeader";s:0:"";s:19:"databaseTablePrefix";s:0:"";s:21:"enableIndependentMode";s:1:"0";s:22:"disablePiwikIdCreation";s:1:"0";s:19:"enableSchedulerTask";s:1:"0";s:22:"enableSchedulerLogging";s:1:"0";s:19:"piwikDownloadSource";s:0:"";}',
             'realurl' => 'a:6:{s:10:"configFile";s:26:"typo3conf/realurl_conf.php";s:14:"enableAutoConf";s:1:"1";s:14:"autoConfFormat";s:1:"1";s:17:"segTitleFieldList";s:0:"";s:12:"enableDevLog";s:1:"0";s:10:"moduleIcon";s:1:"0";}',
+            'recycler' => 'a:0:{}',
+            'reports' => 'a:0:{}',
+            'rsaauth' => 'a:1:{s:18:"temporaryDirectory";s:0:"";}',
+            'rte_ckeditor' => 'a:1:{s:15:"ckeditorVersion";s:1:"1";}',
+            'rte_ckeditor_image' => 'a:0:{}',
             'saltedpasswords' => 'a:6:{s:20:"checkConfigurationFE";s:1:"0";s:20:"checkConfigurationBE";s:1:"0";s:3:"FE.";a:5:{s:7:"enabled";s:1:"1";s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt";s:11:"forceSalted";s:1:"0";s:15:"onlyAuthService";s:1:"0";s:12:"updatePasswd";s:1:"1";}s:3:"BE.";a:4:{s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt";s:11:"forceSalted";s:1:"0";s:15:"onlyAuthService";s:1:"0";s:12:"updatePasswd";s:1:"1";}s:21:"checkConfigurationFE2";s:1:"0";s:21:"checkConfigurationBE2";s:1:"0";}',
             'scheduler' => 'a:4:{s:11:"maxLifetime";s:4:"1440";s:11:"enableBELog";s:1:"1";s:15:"showSampleTasks";s:1:"1";s:11:"useAtdaemon";s:1:"0";}',
+            'setup' => 'a:0:{}',
+            't3editor' => 'a:0:{}',
+            'taskcenter' => 'a:0:{}',
             'theme_gallery' => 'a:0:{}',
+            'tstemplate' => 'a:0:{}',
+            'version' => 'a:0:{}',
+            'viewpage' => 'a:0:{}',
+            'wizard_crpages' => 'a:0:{}',
+            'wizard_sortpages' => 'a:0:{}',
+            'workspaces' => 'a:0:{}',
         ],
     ],
     'EXTCONF' => [
@@ -98,7 +129,7 @@ return [
         ],
     ],
     'FE' => [
-        'debug' => '1',
+        'debug' => false,
         'disableNoCacheParameter' => '0',
         'pageNotFoundOnCHashError' => '0',
     ],
@@ -140,19 +171,19 @@ return [
             ],
         ],
         'cookieDomain' => 'opentalent.fr',
-        'devIPmask' => '*',
-        'displayErrors' => '1',
-        'enableDeprecationLog' => 'file',
+        'devIPmask' => '',
+        'displayErrors' => 0,
+        'enableDeprecationLog' => false,
         'enable_DLOG' => true,
         'enable_errorDLOG' => true,
         'enable_exceptionDLOG' => true,
         'encryptionKey' => 'ed7ad07c97e4703bd18aaad78071be42',
-        'exceptionalErrors' => 28674,
+        'exceptionalErrors' => 20480,
         'fileCreateMask' => '2660',
         'folderCreateMask' => '2770',
         'sitename' => 'Opentalent',
-        'sqlDebug' => '1',
+        'sqlDebug' => 0,
         'systemLocale' => 'fr_FR.UTF-8',
-        'systemLogLevel' => '0',
+        'systemLogLevel' => 2,
     ],
 ];