Commit 74582fe5 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'postgres' into develop

parents 144f7a31 b10b15e6
Loading
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
###########################################################################################
#
#                               Image pour le dev.
#
###########################################################################################

ARG PHP_VERSION

FROM unicaen-dev-php${PHP_VERSION}-apache
@@ -18,8 +12,7 @@ ENV APACHE_CONF_DIR=/etc/apache2 \
## Installation de packages requis.
RUN apt-get update -qq && \
    apt-get install -y \
        sqlite3 \
        php${PHP_VERSION}-pdo-sqlite
        php${PHP_VERSION}-pgsql

# Nettoyage
RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/*
+16 −10
Original line number Diff line number Diff line
@@ -11,16 +11,22 @@

## Module Demo

Le module démo fournit une base de données de démonstration permettant d'avoir une authentification locale
qui fonctionne.

Jetez un oeil à la base de données de démo présente dans le module 'Demo' :
    
    $ docker-compose run skeleton-application sqlite3 module/Demo/data/db/demo.sqlite ".schema"

Interrogez la table `user` pour vérifier la présence de l'utilisateur local `demo`, exemple :
    
    $ docker-compose run skeleton-application sqlite3 module/Demo/data/db/demo.sqlite "select * from user;"
Le squelette d'application possède un module "démo" qui utilise une base de données PostgreSQL de démonstration 
permettant d'avoir une authentification locale qui fonctionne. 

Cette base de données est fournie par le service `db` (fichier de config `docker-compose.yml`).
Il y a également un service `adminer` fournissant de quoi explorer la base de données avec l'outil 
["Adminer"](https://www.adminer.org) en vous rendant à l'adresse `http://localhost:9080` et en utilisant les informations
 de connexion à la bdd présentes dans le `docker-compose.yml`.
Pour explorer/administrer la base de données de l'extérieur du container (avec PHPStorm par exemple), 
l'adresse de la base est cette fois `localhost:8432`.

NB :
- Grâce au montage `./data/db:/var/lib/postgresql/data` spécifié dans `docker-compose.yml`, la base de données est 
  persistée dans le répertoire `data/db` de l'appli.
- Les scripts de création de la base de données exécutés au lancement du container (si la base n'existe pas déjà)
  se trouvent dans le répertoire `./docker/db` de l'appli et sont fournis au container grâce au montage 
  `./docker/db/:/docker-entrypoint-initdb.d/`. 

## Configuration du projet

+4 −4
Original line number Diff line number Diff line
<?php
return array(
    'translator' => array(
return [
    'translator' => [
        'locale' => 'fr_FR',
    ),
);
    ],
];
+1 −0
Original line number Diff line number Diff line
DoctrineORMModule/
db/
 No newline at end of file
+19 −0
Original line number Diff line number Diff line
@@ -14,3 +14,22 @@ services:
    volumes:
     - .:/app
    working_dir: /app

  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin
      POSTGRES_DB: demo
    ports:
      - 8432:5432
    volumes:
      - ./data/db:/var/lib/postgresql/data
      - ./docker/db/:/docker-entrypoint-initdb.d/

  adminer:
    image: adminer
    restart: always
    ports:
      - 9080:8080
Loading