Commit f5d57c41 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

merging

parents 6805d84e 9b7f3b71
Loading
Loading
Loading
Loading
+1 −0
Changes for .gitignore: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
.idea/
/data/cache/
/data/DoctrineModule/
/data/DoctrineORMModule/
.DS_Store
+15 −0
Changes for CHANGELOG.md: 15 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -6,6 +6,21 @@ Journal des modifications
- [FIX] signature des fonctions de StructureSubstitHelper string => ?string
- [FIX] les résumés pour la BU se chevauchaient p class='resume pre-scrollable' => p class='pre-scrollable'

4.0.0
-----
- Migration vers Laminas (back-end PHP).
- Migration vers Bootstrap 5 (front-end JS & CSS).
- Réorganisation des infos affichées à propos de la connexion dans le menu principal.
- Cas de la connexion d'un utilisateur sans possibilité de trouver d'individu associé : plus de création automatique d'individu car peut bloquer un import ultétieur.
- Amélioration de la page "Contact Assistance" en cas d'établissement indéterminé et/ou d'adresse d'assistance indéterminé ou invalide.
- [FIX] Plantage de la page "Contact Assistance" en cas de connexion avec un compte local.
- [FIX] Activation de la mise en cache de la config lorsque le mode development est désactivé.
- [FIX] Lancement de la synchro des thèses pour prendre en compte la création/modification/suppression de substitution de structures.
- Ajout des unités de recherche fermées dans le filtre des thèses
- [FIX] correction du bug lié au typage de retour trop strict de l'entité Structure
- Mise en place de la déclaration de non plagiat dans la proposition de soutenance
- [FIX] Plantage lors de la création/modification/suppression d'une substitution de structure ("Synchro introuvable avec ce nom : these")

3.0.12
------
- Le bouton d'impression du document pour signature du président reste visible même après validation de l'ED.
+34 −0
Changes for bin/create-version-file.sh: 34 added lines, 0 removed lines.
Original line number Diff line number Diff line
#!/bin/bash

set -e

usage() {
  cat << EOF
Script de génération du fichier de version.
Usage :
  $0 <gitdir>
  <gitdir> : Chemin du répertoire des métadonnées git (.git), ou du dépôt git intermédiaire. Obligatoire.
Exemples :
  $0 /workspace/sygal/.git
EOF
  exit 0;
}

CURR_DIR=$(cd `dirname $0` && pwd)
APPDIR=$(cd ${CURR_DIR}/.. && pwd)

GITDIR=$1

[[ -z "$GITDIR" ]] && usage

function generate_version_file() {
  GITDIR=$1
  VERSION_CMD="git --git-dir ${GITDIR} describe"
  DATE_CMD="git --git-dir ${GITDIR} log --pretty='format:%ad' --date=format:'%d/%m/%Y %H:%M:%S' -1"
  echo "==> Génération du fichier de version..."
  ver_num=$(eval ${VERSION_CMD})
  ver_date=$(eval ${DATE_CMD})
  cd ${APPDIR} && ./create-version-config-file --number ${ver_num} --date ${ver_date}
}

generate_version_file $(realpath $GITDIR)
+41 −27
Changes for bin/database/README.md: 41 added lines, 27 removed lines.
Original line number Diff line number Diff line
# Base de données : génération de la doc d'installation
Génération de la doc et des scripts SQL de création d'une bdd pour SyGAL
========================================================================

Ce README s'adresse au développeur souhaitant générer les scripts de création d'une base de données PostgreSQL
toute neuve. 
Ce README s'adresse au développeur souhaitant générer la doc et les scripts de création d'une base de données 
PostgreSQL pour ESUP-SyGAL. 

Cette génération se fait *à partir d'une base de données PostgreSQL modèle existante* à laquelle on se connecte.

Génération des fichiers
-----------------------

## Génération des fichiers
### Principe

Le script shell [`./build_db_install_files.sh`](build_db_install_files.sh) génère dans un répertoire de votre choix :

  - un répertoire [`sql/`](sql) contenant un ensemble de scripts SQL ordonnés :
    - [01_create_db_user.sql`](sql/01_create_db_user.sql)
    - [02_create_schema.sql`](sql/02_create_schema.sql)
    - [03_insert_bootstrap_data.sql`](sql/03_insert_bootstrap_data.sql)
    - [04_insert_data.sql`](sql/04_insert_data.sql)
    - [05_prepare_data.sql`](sql/05_prepare_data.sql)
    - [06_create_constraints.sql`](sql/06_create_constraints.sql)
    - [07_create_comue.sql.dist`](sql/07_create_comue.sql.dist)
    - [08_init.sql.dist`](sql/08_init.sql.dist)
    - [09_create_fixture.sql.dist`](sql/09_create_fixture.sql.dist)
  - un répertoire `sql/` contenant un ensemble de scripts SQL ordonnés :
    - `01_create_db_user.sql`
    - `02_create_schema.sql`
    - `03_insert_bootstrap_data.sql`
    - `04_insert_data.sql`
    - `05_prepare_data.sql`
    - `06_create_constraints.sql`
    - `07_create_comue.sql`
    - `08_init.sql`
    - `09_create_fixture.sql`
      
  - un script bash et un fichier de config pour "préparer" les scripts SQL ayant l'extension `.sql.dist` :    
    - [`build_db_files.conf.dist`](build_db_files.conf.dist)
    - [`build_db_files.sh`](build_db_files.sh)
    - `build_db_files.conf.dist`
    - `build_db_files.sh`
    
  - un fichier expliquant comment procéder pour créer une base de données à l'aide de tous ces scripts :
    - [`README.md`](README.md)
    - `README.md`

Ce script [`./build_db_install_files.sh`](build_db_install_files.sh) :
Ce script `./build_db_install_files.sh` :
  - se base sur les fichers `.template.*` situés dans le répertoire [`src/`](src) ;
  - charge le fichier de config [`./conf/build_db_install_files.conf`](confuild_db_install_files.conf)
    dans lequel sont spécifiés les paramètres de génération.

Le script prend en argument le chemin d'un fichier de config et le chemin du répertoire où doivent être générés 
les fichiers.
Le script prend en argument :
  - le chemin d'un fichier de config ;
  - le chemin du répertoire où doivent être générés les fichiers.

La façon de procéder pour créer une base de données à partir des fichiers générés est expliquée dans le fichier
`README.md` (lui aussi généré).

### Exemple

Voici un exemple pour générer les fichiers de création d'une base de données...
  - dans le répertoire destination `/tmp/build`,
  - à partir de la base modèle `sygal` (spécifiée par les variables d'env `PGDATABASE`, etc.),
  - qui permettront de créer une base et un utilisateur spécifiés dans le fichier de config 
  - qui permettront de créer la base et l'utilisateur spécifiés dans le fichier de config 
    `./build_db_install_files.conf ` :

```bash
PGHOST='localhost' PGPORT=54322 PGDATABASE='sygal' PGUSER='ad_sygal' PGPASSWORD='xxxxxx' \
./build_db_install_files.sh -c ./conf/build_db_install_files.conf -o /tmp/build
PGHOST='localhost' \
PGPORT=54322 \
PGDATABASE='sygal' \
PGUSER='ad_sygal' \
PGPASSWORD='xxxxxx' \
./build_db_install_files.sh \
-c ./conf/build_db_install_files.conf \
-o /tmp/build
```

La façon de procéder pour créer une base de données à partir des fichiers générés est expliquée dans le fichier 
`README.md` (lui aussi généré).


## Mise à jour éventuelle de la doc
Mise à jour de la documentation à partir des fichiers générés
-------------------------------------------------------------

Diff avec la doc actuelle, exemple :

+4 −1
Changes for bin/database/build_db_install_files.sh: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -135,8 +135,9 @@ mkdir -p $OUTPUT_DIR/sql
#
# db and user
#
OUTPUT_FILE=$OUTPUT_DIR/sql/01_$NAME_CREATE_DB_USER.sql
OUTPUT_FILE=$OUTPUT_DIR/sql/admin/01_$NAME_CREATE_DB_USER.sql
SRC_SCRIPT=$THIS_DIR/src/sql/$NAME_CREATE_DB_USER.template.sql
mkdir $OUTPUT_DIR/sql/admin
cp $SRC_SCRIPT $OUTPUT_FILE
injectConfParamsInScript $OUTPUT_FILE
echo "> $OUTPUT_FILE"
@@ -206,3 +207,5 @@ OUTPUT_FILE=$OUTPUT_DIR/sql/09_$NAME_CREATE_FIXTURE.sql.dist
SRC_SCRIPT=$THIS_DIR/src/sql/$NAME_CREATE_FIXTURE.template.sql
cp $SRC_SCRIPT $OUTPUT_FILE
echo "> $OUTPUT_FILE"

echo 'Terminé.'
Loading