Compare commits
39 Commits
Author | SHA1 | Date | |
---|---|---|---|
37bfdb3338 | |||
45c01d62db | |||
db0e67b04e | |||
cad2babda5 | |||
66fd7e275d | |||
3908287e78 | |||
e7f2b7185a | |||
dc0e331414 | |||
c7c1f9caa7 | |||
cedd6bfcec | |||
be78875030 | |||
e52fdd9083 | |||
c6678e8e02 | |||
19fa75e2eb | |||
928109fdf5 | |||
cb766ee2f9 | |||
7d8ec5d8c5 | |||
3af16b4c8b | |||
35e59f2e51 | |||
ffe8f2f722 | |||
3d1c5a2159 | |||
6c720ed62a | |||
681b2f6547 | |||
58518ec70d | |||
5fa52efe9f | |||
f29fc43c8a | |||
1c644f8dca | |||
84230eb347 | |||
2cad98ca86 | |||
ca5f9fef2d | |||
b9bb605ad2 | |||
ea31b7255d | |||
d1431bcce4 | |||
89cb0433c0 | |||
b78f54b76c | |||
5f3cc51f5c | |||
86b11372e7 | |||
0ddb71006f | |||
44e6e012fd |
101
.env
Normal file → Executable file
101
.env
Normal file → Executable file
@ -1,53 +1,90 @@
|
||||
# Symfony
|
||||
APP_ENV=prod
|
||||
APP_SECRET=changeme
|
||||
APP_SESSIONTIME=1440
|
||||
PROTOCOLE=https
|
||||
|
||||
# Messenger
|
||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||
|
||||
# Database
|
||||
DATABASE_URL="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
|
||||
DATABASE_URL="postgresql://symfony:changeme@postgres:5432/app?serverVersion=13&charset=utf8"
|
||||
|
||||
# Redis Session
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
# Redis Sentiel Session
|
||||
REDIS_HOST='redis-sentinel'
|
||||
REDIS_PORT=26379 # 6379 | 26379
|
||||
REDIS_SERVICE=redismaster # master sentinel name
|
||||
|
||||
# Mailer
|
||||
MAILER_METHOD=smtp
|
||||
MAILER_DSN=smtp://127.0.0.1:1025
|
||||
MAILER_DSN=smtp://mailer:1025
|
||||
MAILER_NOREPLY=noreply@noreply.fr
|
||||
|
||||
# Basic
|
||||
APP_WEBURL=127.0.0.1:8000
|
||||
APP_WEBURL=localhost:8080
|
||||
APP_MASTERIDENTITY=SQL # SQL | SSO | LDAP
|
||||
APP_AUTH=SQL # SQL | CAS| LDAP | OPENID | à faire SAML
|
||||
APP_AUTH=SQL # SQL | CAS | LDAP | OPENID | à faire SAML
|
||||
APP_ALIAS=/
|
||||
APP_NAME=Nineskeletor
|
||||
APP_MODEREGISTRATION= # null | BYADMIN | BYUSER
|
||||
APP_ADMINS='["admin"]'
|
||||
|
||||
# Structure Organisationnelle
|
||||
APP_NIVEAUUPDATABLE=0 # Quel degres de niveau est modifiable par les utilisateurs seule les admin et modo via console peuvent outre passer ce param
|
||||
|
||||
APP_NIVEAU01LABEL="Niveau 01"
|
||||
APP_NIVEAU01LABELS="Niveaux 01"
|
||||
|
||||
APP_NIVEAU02USE=1
|
||||
APP_NIVEAU02LABEL="Niveau 02"
|
||||
APP_NIVEAU02LABELS="Niveaux 02"
|
||||
APP_NIVEAU02MANDATORY='[""]'
|
||||
|
||||
APP_NIVEAU03USE=1
|
||||
APP_NIVEAU03LABEL="Niveau 03"
|
||||
APP_NIVEAU03LABELS="Niveaux 03"
|
||||
APP_NIVEAU03MANDATORY='[""]'
|
||||
|
||||
APP_NIVEAU04USE=0
|
||||
APP_NIVEAU04LABEL="Niveau 04"
|
||||
APP_NIVEAU04LABELS="Niveaux 04"
|
||||
APP_NIVEAU04MANDATORY='[""]'
|
||||
|
||||
APP_GROUPUSE=1
|
||||
APP_GROUPSUBMITER='["ALL"]'
|
||||
|
||||
APP_ANNUSCOPEADMIN=ALL # ALL or number of niveau view : 1||2||3||4 or 0 desactivé
|
||||
APP_ANNUSCOPEMODO=ALL # ALL or number of niveau view : 1||2||3||4 or 0 desactivé
|
||||
APP_ANNUSCOPEMASTER=ALL # ALL or number of niveau view : 1||2||3||4 or 0 desactivé
|
||||
APP_ANNUSCOPEMANAGER=ALL # ALL or number of niveau view : 1||2||3||4 or 0 desactivé
|
||||
APP_ANNUSCOPEUSER=ALL # ALL or number of niveau view : 1||2||3||4 or 0 desactivé
|
||||
|
||||
APP_USERVIEWISVISIBLE=1 # Profil user with isvisible field
|
||||
|
||||
# Synchronisation
|
||||
APP_SYNCHRO= # Synchronisation null | LDAP2NINE | NINE2LDAP | NINE2NINE
|
||||
APP_SYNDCHROPURGENIVEAU01=1 # Purger les niveau01s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGENIVEAU02=1 # Purger les niveau02s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGENIVEAU03=1 # Purger les niveau03s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGENIVEAU04=1 # Purger les niveau04s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEGROUP=1 # Purger les groups obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEUSER=1 # Purger les users obsolète en cas de synchronisation
|
||||
|
||||
# LDAP
|
||||
LDAP_HOST= # host du serveur ldap
|
||||
LDAP_PORT= # port du serveur ldap
|
||||
LDAP_HOST=openldap # host du serveur ldap
|
||||
LDAP_PORT=389 # port du serveur ldap
|
||||
LDAP_USETLS=0 # connection TLS 0/1
|
||||
LDAP_USERWRITER=0 # LDAP_USER compte writer ? 0/1
|
||||
LDAP_USER= # DN compte access ldap
|
||||
LDAP_PASSWORD= # Password comte access ldap
|
||||
LDAP_BASEDN= # Base DN ex:o=gouv,c=fr
|
||||
LDAP_BASEORGANISATION= # Base Organisation ex:ou=nine,o=gouv,c=fr
|
||||
LDAP_BASENIVEAU01= # Base Niveau01 ex:ou=niveau01,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASENIVEAU02= # Base Niveau02 ex:ou=niveau02,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASEGROUP= # Base Group ex:ou=groups,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASEUSER= # Base User ex:ou=users,ou=nine,o=gouv,c=fr
|
||||
LDAP_USER= # DN compte access ldap admin or reader
|
||||
LDAP_PASSWORD= # Password compte access ldap admin or reader
|
||||
LDAP_BASEDN= # Base DN ex:dc=nine,dc=fr
|
||||
LDAP_BASEORGANISATION= # Base Organisation ex:ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASENIVEAU01= # Base Niveau01 ex:ou=niveau01,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASENIVEAU02= # Base Niveau02 ex:ou=niveau02,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASENIVEAU03= # Base Niveau03 ex:ou=niveau03,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASENIVEAU04= # Base Niveau04 ex:ou=niveau04,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASEGROUP= # Base Group ex:ou=groups,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_BASEUSER= # Base User ex:ou=users,ou=nineskeletor,dc=nine,dc=fr
|
||||
LDAP_USERNAME=uid # Attribut id d'un user
|
||||
LDAP_FIRSTNAME=givenname # Attribut firstname d'un user
|
||||
LDAP_LASTNAME=sn # Attribut lastname d'un user
|
||||
@ -78,12 +115,12 @@ CAS_AUTOSUBMIT=1 # if APP_AUTH = CAS autocréer les users non exi
|
||||
CAS_AUTOUPDATE=1 # if APP_AUTH = CAS automodifier les users existant
|
||||
|
||||
# If APP_AUTH = OPENID
|
||||
OAUTH_CLIENTID=
|
||||
OAUTH_CLIENTSECRET=
|
||||
OAUTH_LOGINURL=
|
||||
OAUTH_LOGOUTURL=
|
||||
OAUTH_TOKENURL=
|
||||
OAUTH_USERINFO=
|
||||
OAUTH_CLIENTID=nineskeletor
|
||||
OAUTH_CLIENTSECRET="changeme"
|
||||
OAUTH_LOGINURL=http://localhost:7080/oauth2/auth
|
||||
OAUTH_LOGOUTURL=http://localhost:7080/oauth2/sessions/logout
|
||||
OAUTH_TOKENURL=http://hydra:4444/oauth2/token
|
||||
OAUTH_USERINFO=http://hydra:4444/userinfo
|
||||
OAUTH_USERNAME=username
|
||||
OAUTH_EMAIL=email
|
||||
OAUTH_LASTNAME=lastname
|
||||
@ -91,7 +128,7 @@ OAUTH_FIRSTNAME=firstname
|
||||
OAUTH_AVATAR=
|
||||
OAUTH_NIVEAU01=
|
||||
OAUTH_GROUP=
|
||||
OAUTH_AUTOSUBMIT=1 # if APP_AUTH = OPENID autocréer les users non existant
|
||||
OAUTH_AUTOSUBMIT=0 # if APP_AUTH = OPENID autocréer les users non existant
|
||||
OAUTH_AUTOUPDATE=1 # if APP_AUTH = OPENID automodifier les users existant
|
||||
|
||||
# IF APP_SYNCHRO=NINE2NINE
|
||||
@ -114,12 +151,12 @@ SONDE_USE=0
|
||||
SONDE_URL=
|
||||
|
||||
# Mercure
|
||||
MERCURE_URL=https://127.0.0.1/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=https://127.0.0.1/.well-known/mercure
|
||||
MERCURE_URL=http://mercure/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=http://localhost:8081/.well-known/mercure
|
||||
MERCURE_JWT_SECRET="!changeme!changeme!changeme!changeme!changeme!changeme!"
|
||||
|
||||
# Minio
|
||||
MINIO_URL=http://127.0.0.1:9000
|
||||
MINIO_URL=http://nginx:9000
|
||||
MINIO_KEY=minio
|
||||
MINIO_SECRET=changeme
|
||||
MINIO_BUCKET=nine
|
||||
@ -128,13 +165,13 @@ MINIO_PATH_STYLE=1
|
||||
MINIO_SECURE=0
|
||||
|
||||
# Hydra apps
|
||||
HYDRA_LOGINCHALLENGE="http://127.0.0.1:4445/oauth2/auth/requests/login?login_challenge="
|
||||
HYDRA_LOGINCHALLENGEACCEPT="http://127.0.0.1:4445/oauth2/auth/requests/login/accept?login_challenge="
|
||||
HYDRA_CONSENTCHALLENGE="http://127.0.0.1:4445/oauth2/auth/requests/consent?consent_challenge="
|
||||
HYDRA_CONSENTCHALLENGEACCEPT="http://127.0.0.1:4445/oauth2/auth/requests/consent/accept?consent_challenge="
|
||||
HYDRA_LOGINCHALLENGE="http://hydra:4445/oauth2/auth/requests/login?login_challenge="
|
||||
HYDRA_LOGINCHALLENGEACCEPT="http://hydra:4445/oauth2/auth/requests/login/accept?login_challenge="
|
||||
HYDRA_CONSENTCHALLENGE="http://hydra:4445/oauth2/auth/requests/consent?consent_challenge="
|
||||
HYDRA_CONSENTCHALLENGEACCEPT="http://hydra:4445/oauth2/auth/requests/consent/accept?consent_challenge="
|
||||
|
||||
# Lock
|
||||
LOCK_DSN="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
|
||||
LOCK_DSN="postgresql://symfony:changeme@postgres:5432/app?serverVersion=13&charset=utf8"
|
||||
|
||||
# Sentry
|
||||
SENTRY_DSN=
|
||||
|
174
.env.local.dist
Executable file
174
.env.local.dist
Executable file
@ -0,0 +1,174 @@
|
||||
# Symfony
|
||||
APP_ENV=dev
|
||||
APP_SECRET=changeme
|
||||
APP_SESSIONTIME=1440
|
||||
|
||||
# Messenger
|
||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||
|
||||
# Database
|
||||
DATABASE_URL="postgresql://symfony:ChangeMe@127.0.0.1:5432/ninegate?serverVersion=13&charset=utf8"
|
||||
|
||||
# Redis Session
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
|
||||
# Mailer
|
||||
MAILER_METHOD=smtp
|
||||
MAILER_DSN=smtp://127.0.0.1:1025
|
||||
MAILER_NOREPLY=noreply@noreply.fr
|
||||
|
||||
# Basic
|
||||
APP_WEBURL=127.0.0.1:8000
|
||||
APP_MASTERIDENTITY=SQL # SQL | SSO | LDAP
|
||||
APP_AUTH=OPENID # SQL | CAS| LDAP | OPENID | à faire SAML
|
||||
APP_ALIAS=/
|
||||
APP_NAME=ninegate
|
||||
APP_MODEREGISTRATION=BYADMIN # null | BYADMIN | BYUSER
|
||||
APP_ADMINS='["admin"]'
|
||||
|
||||
# Structure Organisationnelle
|
||||
APP_NIVEAUUPDATABLE=4
|
||||
|
||||
APP_NIVEAU01LABEL="Niveau 01"
|
||||
APP_NIVEAU01LABELS="Niveaux 01"
|
||||
|
||||
APP_NIVEAU02USE=1
|
||||
APP_NIVEAU02LABEL="Niveau 02"
|
||||
APP_NIVEAU02LABELS="Niveaux 02"
|
||||
APP_NIVEAU02MANDATORY='[""]'
|
||||
|
||||
APP_NIVEAU03USE=1
|
||||
APP_NIVEAU03LABEL="Niveau 03"
|
||||
APP_NIVEAU03LABELS="Niveaux 03"
|
||||
APP_NIVEAU03MANDATORY='[""]'
|
||||
|
||||
APP_NIVEAU04USE=1
|
||||
APP_NIVEAU04LABEL="Niveau 04"
|
||||
APP_NIVEAU04LABELS="Niveaux 04"
|
||||
APP_NIVEAU04MANDATORY='[""]'
|
||||
|
||||
|
||||
APP_GROUPUSE=1
|
||||
APP_GROUPSUBMITER='["ROLE_ADMIN"]'
|
||||
|
||||
APP_ANNUSCOPEADMIN=1
|
||||
APP_ANNUSCOPEMODO=1
|
||||
APP_ANNUSCOPEMASTER=2
|
||||
APP_ANNUSCOPEMANAGER=3
|
||||
APP_ANNUSCOPEUSER=3
|
||||
|
||||
APP_USERVIEWISVISIBLE=1
|
||||
|
||||
# Synchronisation
|
||||
APP_SYNCHRO=NINE2LDAP # Synchronisation null | LDAP2NINE | NINE2LDAP | NINE2NINE
|
||||
APP_SYNDCHROPURGENIVEAU01=1 # Purger les niveau01s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGENIVEAU02=1 # Purger les niveau02s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEGROUP=1 # Purger les groups obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEUSER=1 # Purger les users obsolète en cas de synchronisation
|
||||
|
||||
# LDAP
|
||||
LDAP_HOST=127.0.0.1
|
||||
LDAP_PORT=389
|
||||
LDAP_USETLS=0
|
||||
LDAP_USERWRITER=1
|
||||
LDAP_USER="cn=admin,dc=nine,dc=fr"
|
||||
LDAP_PASSWORD=changeme
|
||||
LDAP_BASEDN="dc=nine,dc=fr"
|
||||
LDAP_BASEORGANISATION="ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASENIVEAU01="ou=niveau01,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASENIVEAU02="ou=niveau02,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASENIVEAU03="ou=niveau03,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASENIVEAU04="ou=niveau04,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASEGROUP="ou=groups,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_BASEUSER="ou=users,ou=ninegate,dc=nine,dc=fr"
|
||||
LDAP_USERNAME=uid # Attribut id d'un user
|
||||
LDAP_FIRSTNAME=givenname # Attribut firstname d'un user
|
||||
LDAP_LASTNAME=sn # Attribut lastname d'un user
|
||||
LDAP_EMAIL=mail # Attribut email d'un user
|
||||
LDAP_AVATAR= # Attribut avatar d'un user
|
||||
LDAP_MEMBEROF=memberof # Attribut memberof d'un user
|
||||
LDAP_GROUPGID=gidnumber # Attribut gid d'un groupe
|
||||
LDAP_GROUPNAME=cn # Attribut name d'un groupe
|
||||
LDAP_GROUPMEMBER=memberuid # Attribut stockant les membres d'un groupe
|
||||
LDAP_GROUPMEMBERISDN=0 # LDAP_GROUPMEMBER stocke un uid ou un dn ? 0/1
|
||||
LDAP_FILTERGROUP=(cn=*) # requete ldap pour rechercher les groupes
|
||||
LDAP_FILTERUSER=(uid=*) # requete ldap pour rechercher les users
|
||||
LDAP_AUTOSUBMIT=1 # if APP_AUTH = LDAP autocréer les users non existant
|
||||
LDAP_AUTOUPDATE=1 # if APP_AUTH = LDAP automodifier les users existant
|
||||
|
||||
# If APP_AUTH = CAS
|
||||
CAS_HOST=
|
||||
CAS_PORT=
|
||||
CAS_PATH=
|
||||
CAS_USERNAME=username
|
||||
CAS_EMAIL=email
|
||||
CAS_LASTNAME=lastname
|
||||
CAS_FIRSTNAME=firstname
|
||||
CAS_AVATAR=
|
||||
CAS_NIVEAU01=
|
||||
CAS_GROUP=
|
||||
CAS_AUTOSUBMIT=1 # if APP_AUTH = CAS autocréer les users non existant
|
||||
CAS_AUTOUPDATE=1 # if APP_AUTH = CAS automodifier les users existant
|
||||
|
||||
# If APP_AUTH = OPENID
|
||||
OAUTH_CLIENTID=ninegate
|
||||
OAUTH_CLIENTSECRET="changeme"
|
||||
OAUTH_LOGINURL=http://127.0.0.1:7080/oauth2/auth
|
||||
OAUTH_LOGOUTURL=http://127.0.0.1:7080/oauth2/sessions/logout
|
||||
OAUTH_TOKENURL=http://127.0.0.1:7080/oauth2/token
|
||||
OAUTH_USERINFO=http://127.0.0.1:7080/userinfo
|
||||
OAUTH_USERNAME=username
|
||||
OAUTH_EMAIL=email
|
||||
OAUTH_LASTNAME=lastname
|
||||
OAUTH_FIRSTNAME=firstname
|
||||
OAUTH_AVATAR=
|
||||
OAUTH_NIVEAU01=
|
||||
OAUTH_GROUP=
|
||||
OAUTH_AUTOSUBMIT=0 # if APP_AUTH = OPENID autocréer les users non existant
|
||||
OAUTH_AUTOUPDATE=1 # if APP_AUTH = OPENID automodifier les users existant
|
||||
|
||||
# IF APP_SYNCHRO=NINE2NINE
|
||||
NINE_URL=
|
||||
NINE_SECRET=
|
||||
|
||||
# If APP_MODEREGISTRATION != NULL
|
||||
APP_MODEREGISTRATIONTERM=6 # Temps en heure de la durée de validité de l'inscription
|
||||
|
||||
# Proxy
|
||||
PROXY_USE=0
|
||||
PROXY_HOST=
|
||||
PROXY_PORT=
|
||||
|
||||
# Audit
|
||||
AUDIT_USE=1
|
||||
|
||||
# Sonde statistic
|
||||
SONDE_USE=0
|
||||
SONDE_URL=
|
||||
|
||||
# Mercure
|
||||
MERCURE_URL=https://127.0.0.1/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=https://127.0.0.1/.well-known/mercure
|
||||
MERCURE_JWT_SECRET="!changeme!changeme!changeme!changeme!changeme!changeme!"
|
||||
|
||||
# Minio
|
||||
MINIO_URL=http://127.0.0.1:9000
|
||||
MINIO_KEY=minio
|
||||
MINIO_SECRET=changeme
|
||||
MINIO_BUCKET=ninegate
|
||||
MINIO_ROOT=
|
||||
MINIO_PATH_STYLE=1
|
||||
MINIO_SECURE=0
|
||||
|
||||
# Hydra apps
|
||||
HYDRA_LOGINCHALLENGE="http://127.0.0.1:4445/oauth2/auth/requests/login?login_challenge="
|
||||
HYDRA_LOGINCHALLENGEACCEPT="http://127.0.0.1:4445/oauth2/auth/requests/login/accept?login_challenge="
|
||||
HYDRA_CONSENTCHALLENGE="http://127.0.0.1:4445/oauth2/auth/requests/consent?consent_challenge="
|
||||
HYDRA_CONSENTCHALLENGEACCEPT="http://127.0.0.1:4445/oauth2/auth/requests/consent/accept?consent_challenge="
|
||||
|
||||
# Lock
|
||||
LOCK_DSN="postgresql://symfony:ChangeMe@127.0.0.1:5432/ninegate?serverVersion=13&charset=utf8"
|
||||
|
||||
# Sentry
|
||||
SENTRY_DSN=
|
18
.githooks/commit-msg
Executable file
18
.githooks/commit-msg
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
DIR="$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)"
|
||||
export PATH="${PATH}:${DIR}/../node_modules/.bin"
|
||||
|
||||
function lint_commit_message {
|
||||
local commit_message_file="$1"
|
||||
cat "$commit_message_file" | commitlint
|
||||
}
|
||||
|
||||
function main {
|
||||
local commit_message_file="$1"
|
||||
lint_commit_message "$commit_message_file"
|
||||
}
|
||||
|
||||
main $@
|
3
.gitignore
vendored
Normal file → Executable file
3
.gitignore
vendored
Normal file → Executable file
@ -5,6 +5,7 @@
|
||||
/.env.*.local
|
||||
/config/secrets/prod/prod.decrypt.private.php
|
||||
/public/bundles/
|
||||
/.data
|
||||
/var/
|
||||
/vendor/
|
||||
/node_modules/
|
||||
@ -27,3 +28,5 @@ yarn-error.log
|
||||
/public/uploads/logo/*
|
||||
!/public/uploads/logo/logo.png
|
||||
/public/uploads/ckeditor
|
||||
|
||||
.php-cs-fixer.cache
|
15
.jenkins/build-symfony-image.groovy
Executable file
15
.jenkins/build-symfony-image.groovy
Executable file
@ -0,0 +1,15 @@
|
||||
def exec() {
|
||||
String dockerfile = readFile(file:'Dockerfile')
|
||||
|
||||
dockerfile = """
|
||||
${dockerfile}
|
||||
|
||||
RUN apt update && apt install -y php-gd php-curl php-zip curl
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs
|
||||
RUN npm install -g yarn
|
||||
""".stripIndent()
|
||||
|
||||
writeFile(file:'Dockerfile', text: dockerfile)
|
||||
}
|
||||
|
||||
return this
|
12
.php-cs-fixer.dist.php
Executable file
12
.php-cs-fixer.dist.php
Executable file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
$finder = PhpCsFixer\Finder::create()
|
||||
->in(__DIR__.'/src');
|
||||
|
||||
$config = new PhpCsFixer\Config();
|
||||
return $config->setRules([
|
||||
'@Symfony' => true,
|
||||
'full_opening_tag' => false,
|
||||
])
|
||||
->setFinder($finder)
|
||||
;
|
1
.php-version
Executable file
1
.php-version
Executable file
@ -0,0 +1 @@
|
||||
8.1
|
0
.vscode/settings.json
vendored
Normal file → Executable file
0
.vscode/settings.json
vendored
Normal file → Executable file
3
Jenkinsfile
vendored
Executable file
3
Jenkinsfile
vendored
Executable file
@ -0,0 +1,3 @@
|
||||
@Library('cadoles') _
|
||||
|
||||
symfonyAppPipeline('ubuntu:22.04')
|
69
Makefile
Executable file
69
Makefile
Executable file
@ -0,0 +1,69 @@
|
||||
SHELL := /bin/bash
|
||||
|
||||
ENGINE=kind
|
||||
HARBOR_USER_NAME=afornerot
|
||||
CLUSTER_NAME=nineskeletor
|
||||
NAMESPACE=app-dev
|
||||
POD=$(shell kubectl get pods --namespace=${NAMESPACE} --no-headers -o custom-columns=":metadata.name" | grep ^${CLUSTER_NAME}-${PODNAME})
|
||||
PODTOOLS=$(shell kubectl get pods --namespace=${NAMESPACE} --no-headers -o custom-columns=":metadata.name" | grep ^${CLUSTER_NAME}-adminer)
|
||||
|
||||
|
||||
dockercomposebuild:
|
||||
docker-compose build --no-cache
|
||||
|
||||
dockercomposeup:
|
||||
make dockercomposedown
|
||||
docker-compose up -d
|
||||
docker-compose exec app bin/console d:s:u --force --complete
|
||||
docker-compose exec app bin/console app:Init
|
||||
|
||||
dockercomposedown:
|
||||
docker-compose stop
|
||||
docker-compose rm -f redis-sentinel
|
||||
|
||||
dockercomposeinit:
|
||||
docker-compose exec app bin/console d:f:l
|
||||
|
||||
dockercomposesh:
|
||||
docker-compose exec app /bin/sh
|
||||
|
||||
deletecluster:
|
||||
${ENGINE} delete cluster --name=${CLUSTER_NAME}
|
||||
|
||||
createcluster:
|
||||
${ENGINE} delete cluster --name=${CLUSTER_NAME}
|
||||
${ENGINE} create cluster --config misc/k8s/${ENGINE}/${ENGINE}-cluster.yaml
|
||||
|
||||
atachcluster:
|
||||
docker login reg.cadoles.com
|
||||
mkdir -p misc/k8s/kustomization/base/secrets/dockerconfig
|
||||
docker --config misc/k8s/kustomization/base/secrets/dockerconfig login reg.cadoles.com
|
||||
mv misc/k8s/kustomization/base/secrets/dockerconfig/config.json misc/k8s/kustomization/base/secrets/dockerconfig/.dockerconfigjson
|
||||
mkdir -p misc/k8s/kustomization/overlays/dev/secrets/dockerconfig
|
||||
cp misc/k8s/kustomization/base/secrets/dockerconfig/.dockerconfigjson misc/k8s/kustomization/overlays/dev/secrets/dockerconfig/.dockerconfigjson
|
||||
|
||||
applycluster:
|
||||
kubectl apply -k misc/k8s/${ENGINE}/cluster --server-side
|
||||
|
||||
applylbcluster:
|
||||
kubectl apply -k misc/k8s/${ENGINE}/cluster/lb --server-side
|
||||
|
||||
watchcluster:
|
||||
skaffold dev -p dev --cleanup=false --default-repo reg.cadoles.com/${HARBOR_USER_NAME}
|
||||
|
||||
sh:
|
||||
kubectl exec --namespace=${NAMESPACE} ${POD} -it -- sh
|
||||
|
||||
deletenamespace:
|
||||
kubectl delete all --all --namespace ${NAMESPACE}
|
||||
|
||||
getpods:
|
||||
kubectl get pods --namespace ${NAMESPACE}
|
||||
|
||||
getservices:
|
||||
kubectl get services --namespace ${NAMESPACE}
|
||||
|
||||
ldapsearch:
|
||||
kubectl exec --namespace=${NAMESPACE} ${PODTOOLS} -it -- apk update
|
||||
kubectl exec --namespace=${NAMESPACE} ${PODTOOLS} -it -- apk add openldap
|
||||
kubectl exec --namespace=${NAMESPACE} ${PODTOOLS} -it -- ldapsearch -x -H ldap://nineskeletor-openldap:389 -D cn=admin,dc=nine,dc=fr -w openldap
|
0
assets/app.js
Normal file → Executable file
0
assets/app.js
Normal file → Executable file
0
assets/bootstrap.js
vendored
Normal file → Executable file
0
assets/bootstrap.js
vendored
Normal file → Executable file
0
assets/ckplugins/html5video/dialogs/html5video.js
Normal file → Executable file
0
assets/ckplugins/html5video/dialogs/html5video.js
Normal file → Executable file
0
assets/ckplugins/html5video/icons/html5video.png
Normal file → Executable file
0
assets/ckplugins/html5video/icons/html5video.png
Normal file → Executable file
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
0
assets/ckplugins/html5video/lang/bg.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/bg.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ca.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ca.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/de.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/de.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/en.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/en.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/es.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/es.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/eu.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/eu.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/fa.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/fa.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/fr.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/fr.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/he.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/he.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ko.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ko.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pl.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pl.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pt-br.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pt-br.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pt.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/pt.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ru.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/ru.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/uk.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/uk.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/uz.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/uz.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/zh-cn.js
Normal file → Executable file
0
assets/ckplugins/html5video/lang/zh-cn.js
Normal file → Executable file
0
assets/ckplugins/html5video/plugin.js
Normal file → Executable file
0
assets/ckplugins/html5video/plugin.js
Normal file → Executable file
0
assets/ckplugins/youtube/images/icon-hdpi.png
Normal file → Executable file
0
assets/ckplugins/youtube/images/icon-hdpi.png
Normal file → Executable file
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
0
assets/ckplugins/youtube/images/icon.png
Normal file → Executable file
0
assets/ckplugins/youtube/images/icon.png
Normal file → Executable file
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
assets/ckplugins/youtube/lang/ar.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ar.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/bg.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/bg.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/cs.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/cs.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/de.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/de.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/el.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/el.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/en.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/en.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/es.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/es.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/et.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/et.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/eu.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/eu.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/fi.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/fi.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/fr.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/fr.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/he.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/he.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/hu.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/hu.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/it.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/it.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ja.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ja.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ko.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ko.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nb.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nb.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nl.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nl.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nn.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/nn.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pl.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pl.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pt-br.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pt-br.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pt.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/pt.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ru.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/ru.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/sk.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/sk.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/tr.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/tr.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/uk.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/uk.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/vi.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/vi.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/zh.js
Normal file → Executable file
0
assets/ckplugins/youtube/lang/zh.js
Normal file → Executable file
0
assets/ckplugins/youtube/plugin.js
Normal file → Executable file
0
assets/ckplugins/youtube/plugin.js
Normal file → Executable file
0
assets/controllers.json
Normal file → Executable file
0
assets/controllers.json
Normal file → Executable file
0
assets/controllers/hello_controller.js
Normal file → Executable file
0
assets/controllers/hello_controller.js
Normal file → Executable file
0
assets/dropzone.js
Normal file → Executable file
0
assets/dropzone.js
Normal file → Executable file
0
assets/fonts/ABeeZee-Regular.ttf
Normal file → Executable file
0
assets/fonts/ABeeZee-Regular.ttf
Normal file → Executable file
0
assets/fonts/Acme-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/Acme-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/AlfaSlabOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/AlfaSlabOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/Anton-Regular.ttf
Normal file → Executable file
0
assets/fonts/Anton-Regular.ttf
Normal file → Executable file
0
assets/fonts/Baloo-Regular.ttf
Normal file → Executable file
0
assets/fonts/Baloo-Regular.ttf
Normal file → Executable file
0
assets/fonts/Bebas-webfont.ttf
Normal file → Executable file
0
assets/fonts/Bebas-webfont.ttf
Normal file → Executable file
0
assets/fonts/CarterOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/CarterOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/Chewy-Regular.ttf
Normal file → Executable file
0
assets/fonts/Chewy-Regular.ttf
Normal file → Executable file
0
assets/fonts/Courgette-Regular.ttf
Normal file → Executable file
0
assets/fonts/Courgette-Regular.ttf
Normal file → Executable file
0
assets/fonts/FredokaOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/FredokaOne-Regular.ttf
Normal file → Executable file
BIN
assets/fonts/Futura-Condensed-Extra-Bold.otf
Executable file
BIN
assets/fonts/Futura-Condensed-Extra-Bold.otf
Executable file
Binary file not shown.
0
assets/fonts/Grandstander-Black.ttf
Normal file → Executable file
0
assets/fonts/Grandstander-Black.ttf
Normal file → Executable file
0
assets/fonts/Justanotherhand-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/Justanotherhand-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/Lato-Regular.ttf
Normal file → Executable file
0
assets/fonts/Lato-Regular.ttf
Normal file → Executable file
0
assets/fonts/LexendDeca-Regular.ttf
Normal file → Executable file
0
assets/fonts/LexendDeca-Regular.ttf
Normal file → Executable file
0
assets/fonts/LuckiestGuy-Regular.ttf
Normal file → Executable file
0
assets/fonts/LuckiestGuy-Regular.ttf
Normal file → Executable file
0
assets/fonts/Overpass-Black.ttf
Normal file → Executable file
0
assets/fonts/Overpass-Black.ttf
Normal file → Executable file
0
assets/fonts/PassionOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/PassionOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/Peacesans-webfont.ttf
Normal file → Executable file
0
assets/fonts/Peacesans-webfont.ttf
Normal file → Executable file
0
assets/fonts/Redressed-webfont.ttf
Normal file → Executable file
0
assets/fonts/Redressed-webfont.ttf
Normal file → Executable file
0
assets/fonts/Righteous-Regular.ttf
Normal file → Executable file
0
assets/fonts/Righteous-Regular.ttf
Normal file → Executable file
0
assets/fonts/Roboto-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/Roboto-Regular-webfont.ttf
Normal file → Executable file
0
assets/fonts/RubikMonoOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/RubikMonoOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/SigmarOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/SigmarOne-Regular.ttf
Normal file → Executable file
0
assets/fonts/Signika-Regular.ttf
Normal file → Executable file
0
assets/fonts/Signika-Regular.ttf
Normal file → Executable file
0
assets/fonts/Snickles-webfont.ttf
Normal file → Executable file
0
assets/fonts/Snickles-webfont.ttf
Normal file → Executable file
0
assets/fonts/Teko-Bold.ttf
Normal file → Executable file
0
assets/fonts/Teko-Bold.ttf
Normal file → Executable file
0
assets/fonts/Viga-Regular.ttf
Normal file → Executable file
0
assets/fonts/Viga-Regular.ttf
Normal file → Executable file
0
assets/fonts/theboldfont.ttf
Normal file → Executable file
0
assets/fonts/theboldfont.ttf
Normal file → Executable file
11
assets/js/app.js
Normal file → Executable file
11
assets/js/app.js
Normal file → Executable file
@ -44,6 +44,8 @@ $( window ).resize(function() {
|
||||
|
||||
|
||||
function resize() {
|
||||
console.log("resize");
|
||||
|
||||
if($("#header").is(":visible")){
|
||||
$(".navbar-logo").hide();
|
||||
$("#menulink").hide();
|
||||
@ -55,8 +57,13 @@ function resize() {
|
||||
$("#header").show();
|
||||
}
|
||||
|
||||
$("main").css("height",$(window).height()-$(".header").height());
|
||||
$("#page").css("height",$(window).height()-$(".header").height());
|
||||
var footerheight=$("footer").height();
|
||||
if(footerheight) footerheight=footerheight+10;
|
||||
else footerheight=0;
|
||||
console.log(footerheight);
|
||||
|
||||
$("main").css("height",$(window).height()-$(".header").height()-footerheight);
|
||||
$("#page").css("height",$(window).height()-$(".header").height()-footerheight);
|
||||
$("#sidebar").css("min-height",$("body").height()-$(".header").height());
|
||||
}
|
||||
|
||||
|
0
assets/js/datatables.init.js
Normal file → Executable file
0
assets/js/datatables.init.js
Normal file → Executable file
31
assets/styles/app.css
Normal file → Executable file
31
assets/styles/app.css
Normal file → Executable file
@ -8,7 +8,7 @@ body {
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
.header a, #sidebar a, #sidebar hr{
|
||||
.header h1, .header a, #sidebar a, #sidebar hr{
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
@ -219,4 +219,33 @@ border-width: 1px;
|
||||
#page {
|
||||
overflow-y: auto;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
/* FOOTER */
|
||||
footer {
|
||||
padding:5px 30px;
|
||||
background-color: var(--colorbgbodydark);
|
||||
color: var(--colorftbodydark) !important;
|
||||
position:absolute;
|
||||
bottom: 0px;
|
||||
left:0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.footer-adress {
|
||||
font-size:80%;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
.footer-adress p {
|
||||
margin:0px;
|
||||
}
|
||||
|
||||
.footer-social {
|
||||
text-align: right;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: var(--colorftbodydark) !important;
|
||||
}
|
10
assets/styles/font.css
Normal file → Executable file
10
assets/styles/font.css
Normal file → Executable file
@ -178,4 +178,12 @@ font-family: 'Theboldfont';
|
||||
src: url('../fonts/theboldfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Futura-Condensed-Extra-Bold';
|
||||
src: url('../fonts/Futura-Condensed-Extra-Bold.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user