Loading README.md +37 −6 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ application à la mode "Unicaen". ## Création d'une nouvelle appli à partir du squelette Imaginons que nous voulons créer une nouvelle appli PHP 7.3 dans le répertoire `./newapp`. Imaginons que nous voulons créer une nouvelle appli PHP 8.0 dans le répertoire `./newapp`. ### Préalable Loading @@ -16,13 +16,14 @@ environnement PHP dont on maîtrise la version. Pour obtenir puis construire cet ### Création des sources de l'application - Pour obtenir le master des sources du squelette d'application : - Pour obtenir la branche 6.x des sources du squelette d'application : ```bash APP_DIR=newapp git clone git@git.unicaen.fr:lib/unicaen/skeleton-application.git ${APP_DIR} cd ${APP_DIR} git checkout 6.x ``` - Puis pour installer les dépendances PHP : Loading Loading @@ -84,6 +85,7 @@ namespace gitlab spécifié.* ## Construction et lancement du container Docker Il faut penser à modifier les fichiers composer.json et docker-compose.yml pour mettre les informations relatives à l'application (le nom de l'application, le nom du container attendu etc...) ```bash docker-compose up --build ``` Loading Loading @@ -121,18 +123,47 @@ cp -r config/autoload/local.php.dist config/autoload/local.php créez dans `config/autoload` les fichiers de configuration locaux et globaux des bibliothèques utilisées à partir des `.dist` : ```bash cp -r vendor/unicaen/app/config/unicaen-app.global.php.dist config/autoload/unicaen-app.global.php cp -r vendor/unicaen/app/config/unicaen-app.local.php.dist config/autoload/unicaen-app.local.php cp -r vendor/unicaen/auth/config/unicaen-auth.global.php.dist config/autoload/unicaen-auth.global.php cp -r vendor/unicaen/auth/config/unicaen-auth.local.php.dist config/autoload/unicaen-auth.local.php cp -R ./vendor/unicaen/app/config/unicaen-app.global.php.dist ./config/autoload/unicaen-app.global.php; cp -R ./vendor/unicaen/app/config/unicaen-app.local.php.dist ./config/autoload/unicaen-app.local.php; cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.global.php.dist ./config/autoload/unicaen-authentification.global.php; cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.local.php.dist ./config/autoload/unicaen-authentification.local.php; cp -R ./vendor/unicaen/ldap/config/unicaen-ldap.local.php.dist ./config/autoload/unicaen-ldap.local.php; cp -R ./vendor/unicaen/mail/config/unicaen-mail.global.php.dist ./config/autoload/unicaen-mail.global.php; cp -R ./vendor/unicaen/mail/config/unicaen-mail.local.php.dist ./config/autoload/unicaen-mail.local.php; cp -R ./vendor/unicaen/privilege/config/unicaen-privilege.global.php.dist ./config/autoload/unicaen-privilege.global.php; cp -R ./vendor/unicaen/utilisateur/config/unicaen-utilisateur.global.php.dist ./config/autoload/unicaen-utilisateur.global.php; cp -R ./config/autoload/local.php.dist ./config/autoload/local.php; ``` - Le cas échéant, reportez-vous aux docs des modules concernés pour adapter ces fichiers de configuration à vos besoins : - [unicaen/app](https://git.unicaen.fr/lib/unicaen/app) - [unicaen/auth](https://git.unicaen.fr/lib/unicaen/auth) - [unicaen/privilege](https://git.unicaen.fr/lib/unicaen/privilege) - [unicaen/mail](https://git.unicaen.fr/lib/unicaen/mail) - [unicaen/ldap](https://git.unicaen.fr/lib/unicaen/ldap) - Si cela n'a pas déjà été fait par une des `post-create-project-cmd` du `composer.json`, récupérer les différentes requêtes sql pour instancier les premières données pour les bibliothèques : ``` mkdir -p SQL mkdir -p ./SQL/001-unicaen-utilisateur cp -R ./vendor/unicaen/utilisateur/data/sql/schema_postgresql.sql ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql cp -R ./vendor/unicaen/utilisateur/data/sql/data.sql ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql cp -R ./vendor/unicaen/privilege/data/sql/schema_postgresql.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql cp -R ./vendor/unicaen/mail/SQL/001_tables.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql cp -R ./vendor/unicaen/mail/SQL/002_privileges.sql ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql ``` - Exécuter les requêtes dans l'ordre suivant dans la base de données du container : ``` ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql; ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql; ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql; ``` ## Test de l'application Théoriquement, l'application devrait être accessible à l'adresse [https://localhost:8443](https://localhost:8443). Loading composer.json +21 −5 Original line number Diff line number Diff line Loading @@ -24,17 +24,33 @@ "scripts": { "post-install-cmd": [ "cp -r vendor/unicaen/app/public/unicaen public/", "mkdir public/css", "cp -r vendor/unicaen/mail/public/unicaen-mail.css public/css/", "mkdir -p vendor/mpdf/mpdf/ttfontdata && chmod -R 777 vendor/mpdf/mpdf/ttfontdata", "mkdir -p data/cache && chmod -R 777 data/cache && rm -rf data/cache/*", "mkdir -p data/DoctrineModule/cache && chmod -R 777 data/DoctrineModule/cache && rm -rf data/DoctrineModule/cache/*", "mkdir -p data/DoctrineORMModule/Proxy && chmod -R 777 data/DoctrineORMModule/Proxy && rm -rf data/DoctrineORMModule/Proxy/*" ], "post-create-project-cmd": [ "cp -n config/autoload/local.php.dist config/autoload/local.php", "cp -n vendor/unicaen/app/config/unicaen-app.global.php.dist config/autoload/unicaen-app.global.php", "cp -n vendor/unicaen/app/config/unicaen-app.local.php.dist config/autoload/unicaen-app.local.php", "cp -n vendor/unicaen/auth/config/unicaen-auth.global.php.dist config/autoload/unicaen-auth.global.php", "cp -n vendor/unicaen/auth/config/unicaen-auth.local.php.dist config/autoload/unicaen-auth.local.php", "cp -R ./vendor/unicaen/app/config/unicaen-app.global.php.dist ./config/autoload/unicaen-app.global.php", "cp -R ./vendor/unicaen/app/config/unicaen-app.local.php.dist ./config/autoload/unicaen-app.local.php", "cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.global.php.dist ./config/autoload/unicaen-authentification.global.php", "cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.local.php.dist ./config/autoload/unicaen-authentification.local.php", "cp -R ./vendor/unicaen/ldap/config/unicaen-ldap.local.php.dist ./config/autoload/unicaen-ldap.local.php", "cp -R ./vendor/unicaen/mail/config/unicaen-mail.global.php.dist ./config/autoload/unicaen-mail.global.php", "cp -R ./vendor/unicaen/mail/config/unicaen-mail.local.php.dist ./config/autoload/unicaen-mail.local.php", "cp -R ./vendor/unicaen/privilege/config/unicaen-privilege.global.php.dist ./config/autoload/unicaen-privilege.global.php", "cp -R ./vendor/unicaen/utilisateur/config/unicaen-utilisateur.global.php.dist ./config/autoload/unicaen-utilisateur.global.php", "cp -R ./config/autoload/local.php.dist ./config/autoload/local.php", "mkdir -p SQL", "mkdir -p ./SQL/001-unicaen-utilisateur", "cp -R ./vendor/unicaen/utilisateur/data/sql/schema_postgresql.sql ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql", "cp -R ./vendor/unicaen/utilisateur/data/sql/data.sql ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql", "cp -R ./vendor/unicaen/privilege/data/sql/schema_postgresql.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql", "cp -R ./vendor/unicaen/mail/SQL/001_tables.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql", "cp -R ./vendor/unicaen/mail/SQL/002_privileges.sql ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql", "mkdir -p data/db && chmod -R 777 data/db" ] }, Loading module/Application/src/Application/Controller/IndexController.php→module/Application/src/Controller/IndexController.php +0 −0 File moved. View file module/Application/src/Application/Controller/IndexControllerFactory.php→module/Application/src/Controller/IndexControllerFactory.php +0 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ namespace Application\Controller; use Application\Controller\IndexController; use Psr\Container\ContainerInterface; class IndexControllerFactory Loading Loading
README.md +37 −6 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ application à la mode "Unicaen". ## Création d'une nouvelle appli à partir du squelette Imaginons que nous voulons créer une nouvelle appli PHP 7.3 dans le répertoire `./newapp`. Imaginons que nous voulons créer une nouvelle appli PHP 8.0 dans le répertoire `./newapp`. ### Préalable Loading @@ -16,13 +16,14 @@ environnement PHP dont on maîtrise la version. Pour obtenir puis construire cet ### Création des sources de l'application - Pour obtenir le master des sources du squelette d'application : - Pour obtenir la branche 6.x des sources du squelette d'application : ```bash APP_DIR=newapp git clone git@git.unicaen.fr:lib/unicaen/skeleton-application.git ${APP_DIR} cd ${APP_DIR} git checkout 6.x ``` - Puis pour installer les dépendances PHP : Loading Loading @@ -84,6 +85,7 @@ namespace gitlab spécifié.* ## Construction et lancement du container Docker Il faut penser à modifier les fichiers composer.json et docker-compose.yml pour mettre les informations relatives à l'application (le nom de l'application, le nom du container attendu etc...) ```bash docker-compose up --build ``` Loading Loading @@ -121,18 +123,47 @@ cp -r config/autoload/local.php.dist config/autoload/local.php créez dans `config/autoload` les fichiers de configuration locaux et globaux des bibliothèques utilisées à partir des `.dist` : ```bash cp -r vendor/unicaen/app/config/unicaen-app.global.php.dist config/autoload/unicaen-app.global.php cp -r vendor/unicaen/app/config/unicaen-app.local.php.dist config/autoload/unicaen-app.local.php cp -r vendor/unicaen/auth/config/unicaen-auth.global.php.dist config/autoload/unicaen-auth.global.php cp -r vendor/unicaen/auth/config/unicaen-auth.local.php.dist config/autoload/unicaen-auth.local.php cp -R ./vendor/unicaen/app/config/unicaen-app.global.php.dist ./config/autoload/unicaen-app.global.php; cp -R ./vendor/unicaen/app/config/unicaen-app.local.php.dist ./config/autoload/unicaen-app.local.php; cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.global.php.dist ./config/autoload/unicaen-authentification.global.php; cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.local.php.dist ./config/autoload/unicaen-authentification.local.php; cp -R ./vendor/unicaen/ldap/config/unicaen-ldap.local.php.dist ./config/autoload/unicaen-ldap.local.php; cp -R ./vendor/unicaen/mail/config/unicaen-mail.global.php.dist ./config/autoload/unicaen-mail.global.php; cp -R ./vendor/unicaen/mail/config/unicaen-mail.local.php.dist ./config/autoload/unicaen-mail.local.php; cp -R ./vendor/unicaen/privilege/config/unicaen-privilege.global.php.dist ./config/autoload/unicaen-privilege.global.php; cp -R ./vendor/unicaen/utilisateur/config/unicaen-utilisateur.global.php.dist ./config/autoload/unicaen-utilisateur.global.php; cp -R ./config/autoload/local.php.dist ./config/autoload/local.php; ``` - Le cas échéant, reportez-vous aux docs des modules concernés pour adapter ces fichiers de configuration à vos besoins : - [unicaen/app](https://git.unicaen.fr/lib/unicaen/app) - [unicaen/auth](https://git.unicaen.fr/lib/unicaen/auth) - [unicaen/privilege](https://git.unicaen.fr/lib/unicaen/privilege) - [unicaen/mail](https://git.unicaen.fr/lib/unicaen/mail) - [unicaen/ldap](https://git.unicaen.fr/lib/unicaen/ldap) - Si cela n'a pas déjà été fait par une des `post-create-project-cmd` du `composer.json`, récupérer les différentes requêtes sql pour instancier les premières données pour les bibliothèques : ``` mkdir -p SQL mkdir -p ./SQL/001-unicaen-utilisateur cp -R ./vendor/unicaen/utilisateur/data/sql/schema_postgresql.sql ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql cp -R ./vendor/unicaen/utilisateur/data/sql/data.sql ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql cp -R ./vendor/unicaen/privilege/data/sql/schema_postgresql.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql cp -R ./vendor/unicaen/mail/SQL/001_tables.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql cp -R ./vendor/unicaen/mail/SQL/002_privileges.sql ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql ``` - Exécuter les requêtes dans l'ordre suivant dans la base de données du container : ``` ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql; ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql; ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql; ``` ## Test de l'application Théoriquement, l'application devrait être accessible à l'adresse [https://localhost:8443](https://localhost:8443). Loading
composer.json +21 −5 Original line number Diff line number Diff line Loading @@ -24,17 +24,33 @@ "scripts": { "post-install-cmd": [ "cp -r vendor/unicaen/app/public/unicaen public/", "mkdir public/css", "cp -r vendor/unicaen/mail/public/unicaen-mail.css public/css/", "mkdir -p vendor/mpdf/mpdf/ttfontdata && chmod -R 777 vendor/mpdf/mpdf/ttfontdata", "mkdir -p data/cache && chmod -R 777 data/cache && rm -rf data/cache/*", "mkdir -p data/DoctrineModule/cache && chmod -R 777 data/DoctrineModule/cache && rm -rf data/DoctrineModule/cache/*", "mkdir -p data/DoctrineORMModule/Proxy && chmod -R 777 data/DoctrineORMModule/Proxy && rm -rf data/DoctrineORMModule/Proxy/*" ], "post-create-project-cmd": [ "cp -n config/autoload/local.php.dist config/autoload/local.php", "cp -n vendor/unicaen/app/config/unicaen-app.global.php.dist config/autoload/unicaen-app.global.php", "cp -n vendor/unicaen/app/config/unicaen-app.local.php.dist config/autoload/unicaen-app.local.php", "cp -n vendor/unicaen/auth/config/unicaen-auth.global.php.dist config/autoload/unicaen-auth.global.php", "cp -n vendor/unicaen/auth/config/unicaen-auth.local.php.dist config/autoload/unicaen-auth.local.php", "cp -R ./vendor/unicaen/app/config/unicaen-app.global.php.dist ./config/autoload/unicaen-app.global.php", "cp -R ./vendor/unicaen/app/config/unicaen-app.local.php.dist ./config/autoload/unicaen-app.local.php", "cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.global.php.dist ./config/autoload/unicaen-authentification.global.php", "cp -R ./vendor/unicaen/authentification/config/unicaen-authentification.local.php.dist ./config/autoload/unicaen-authentification.local.php", "cp -R ./vendor/unicaen/ldap/config/unicaen-ldap.local.php.dist ./config/autoload/unicaen-ldap.local.php", "cp -R ./vendor/unicaen/mail/config/unicaen-mail.global.php.dist ./config/autoload/unicaen-mail.global.php", "cp -R ./vendor/unicaen/mail/config/unicaen-mail.local.php.dist ./config/autoload/unicaen-mail.local.php", "cp -R ./vendor/unicaen/privilege/config/unicaen-privilege.global.php.dist ./config/autoload/unicaen-privilege.global.php", "cp -R ./vendor/unicaen/utilisateur/config/unicaen-utilisateur.global.php.dist ./config/autoload/unicaen-utilisateur.global.php", "cp -R ./config/autoload/local.php.dist ./config/autoload/local.php", "mkdir -p SQL", "mkdir -p ./SQL/001-unicaen-utilisateur", "cp -R ./vendor/unicaen/utilisateur/data/sql/schema_postgresql.sql ./SQL/001-unicaen-utilisateur/001-schema-unicaen-utilisateur.sql", "cp -R ./vendor/unicaen/utilisateur/data/sql/data.sql ./SQL/001-unicaen-utilisateur/001-data-unicaen-utilisateur.sql", "cp -R ./vendor/unicaen/privilege/data/sql/schema_postgresql.sql ./SQL/002-unicaen-privilege/002-schema-unicaen-privilege.sql", "cp -R ./vendor/unicaen/mail/SQL/001_tables.sql ./SQL/003-unicaen-mail/003-schema-unicaen-mail.sql", "cp -R ./vendor/unicaen/mail/SQL/002_privileges.sql ./SQL/003-unicaen-mail/003-data-unicaen-mail.sql", "mkdir -p data/db && chmod -R 777 data/db" ] }, Loading
module/Application/src/Application/Controller/IndexController.php→module/Application/src/Controller/IndexController.php +0 −0 File moved. View file
module/Application/src/Application/Controller/IndexControllerFactory.php→module/Application/src/Controller/IndexControllerFactory.php +0 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ namespace Application\Controller; use Application\Controller\IndexController; use Psr\Container\ContainerInterface; class IndexControllerFactory Loading