# ACERMI Backoffice

Backoffice de gestion des certificats ACERMI

## Configuration Production
### MySQL
 - Serveur : `10.7.1.33` (Bondi)
 - Base de données : `acermi`
 - Utilisateur : `acermi_back`
 - Mot de passe : `@[3rm!B@cK`

#### Compte Administrateur
 - Email : `administrateur@cstb.fr`
 - Mot de passe : `v@V+P=a2V$`

### Host
 - Serveur : `10.7.1.35` (Kayano)
 - BasePath : `/var/www/acermi.com/backoffice/`


## Récupérer le code source de l'application 

> git clone --depth 1 --branch master ssh://git@sop-gitlab.cstb.local:siam-back/acermi.git backoffice  
> cd backoffice

## Composer

[Composer](https://getcomposer.org/), le manager de dépendances PHP.  
Télécharger l'archive PHAR de Composer ici : [http://getcomposer.org/composer.phar](http://getcomposer.org/composer.phar)

Ou utiliser la commande suivante :
> curl -sS https://getcomposer.org/installer | php

Install or Update project :
> php composer.phar self-update

et
> php composer.phar install

ou
> php composer.phar update

Ces 2 dernières commandes vont lire le fichier `./composer.json` et télécharger toutes les libraries PHP nécessaires au projet.

## NodeJS

1. Télécharger [NodeJS](https://nodejs.org/) (et son manager NPM, Node Packaged Modules) ici : [https://nodejs.org/download/](https://nodejs.org/download/)
2. Installer NodeJS sur votre machine
3. Répertorier NPM dans les Variables d'Environnement (PATH) de votre sytème d'exploitation : `C:\Users\***\AppData\Roaming\npm;`

Une fois NodeJS installé, il faut exécuter la ligne de commande suivante à la racine du projet.
> npm update

Cette commande va lire le fichier `./package.json` et installer les dépendences.

## Yarn

[Yarn](http://yarnpkg.com/), un gestionnaire de dépendances rapide, fiable et sécurisé.

Maintenant, il faut installer les dépendances nécessaires au développement du projet.
> yarn install

Cette commande va lire le fichier `./package.json` et télécharger toutes les libraries nécessaires au projet.

Les librairies sont stockées à la racine du projet, dans le dossier `./node_modules/`

Pour ajouter un nouveau package :  
> yarn add <package_name> [--dev/-D]

## Gulp

[Gulp](http://gulpjs.com/), le lanceur de tâches JavaScript.

Il permet d'éxécuter le workflow définit dans `./gulpfile.js` et dans le dossier `./gulp-tasks/` (à l'aide de la librairie NodeJS `require-dir`) :

1. Concaténer les `*.js` en un seul fichier et les minifier,
2. Compiler les `*.less` en `*.css` puis les minifier
3. Copier les fichiers de police
4. Exécuter les tâches de minification à la modification de fichiers

### Toutes les tâches
> gulp

### Workflow JS (Étape 1)
> gulp js

### Workflow CSS (Étape 2)
> gulp css

### Workflow fichiers (Étape 3)
> gulp files


### Ecoute de fichiers (Étape 4)
> gulp watch

## SQL pour l'extraction demandée par Fabien

    select ut.libelle_fr, p.nom, c.numero_certificat, c.gestion, f.nom, CONCAT('https://www.acermi.com/fr/isolants-certifies/certificat/', c.slug,'/telecharger/')
    from certificat c  
    left join produit p ON p.certificat_id = c.id
    left join produit2usage_table put ON put.produit_id = p.id
    left join usage_table ut ON ut.id = put.usage_id
    left join fabricant f ON c.fabricant_id = f.id
    where c.status =2 and `type` = 'acermi'
    order by c.numero 