Newer
Older
TROMEL LOUIS
committed
### Sommaire
* 1. [Installation de la base de données](#Installation%20de%20la%20base%20de%20données)
* 2. [Bonnes pratiques Subversion](#Bonnes%20pratiques%20Subversion)
* 3. [Bonnes pratiques de codage](#Bonnes%20pratiques%20de%20codage)
* 4. [Configuration d'Eclipse](#Configuration%20d'Eclipse)
* 5. [Documentation](#Documentation)
## Installation de la base de données
Les identifiants d'accès à la base de données sont écrits dans `sido-gwt/src/main/config/<PROFIL_MAVEN>/persistence.xml`.
Pour créer la base de données applicative :
- créer un utilisateur pour l'application :
sudo su postgres
psql
CREATE USER sido WITH PASSWORD 'sido';
- créer la base de données applicative :
CREATE DATABASE sido WITH OWNER = sido ENCODING = 'UTF8' LC_COLLATE = 'fr_FR.UTF-8' LC_CTYPE = 'fr_FR.UTF-8';
- donner les droits de connexion :
sudo vi /etc/postgresql/9.6/main/pg_hba.conf
sudo /etc/init.d/postgresql reload
TROMEL LOUIS
committed
- créer le schéma en suivant la documentation dans `src/site/markdown/` ou en exécutant les scripts SQL dans `query/`.
TROMEL LOUIS
committed
---
## Bonnes pratiques Subversion
Ne pas ajouter dans le gestionnaire de version Subversion de fichiers issus des exécutions tels que les fichiers de cache, de logs, de compilation.
Ainsi généralement la propriété `svn:ignore` peut contenir :
```
gwt-unitCache
logs
target
war
```
TROMEL LOUIS
committed
---
## Bonnes pratiques de codage
Le code est écrit en anglais : nom des classes, méthodes, propriétés, documentation JavaDoc. La documentation annexe est rédigée en français, le plus possible dans des fichiers textes (MarkDown, PlantUML par exemple), la documentation est ainsi générée par Maven avec la commande `mvn site`.
Toutes les classes, méthodes de classes et propriétés de classes doivent être documentés dès leur conception et mises à jour à chaque modification.
Un entête JavaDoc de classe ressemble à
```
/**
* Translation helper.
*
* The fallback properties files is `baseName.properties`, while the translated
* properties file is `baseName_locale.properties`.
*
* Last changed : $Date$
*
* @author Prénom Nom
* @version $Revision$
*/
```
La première ligne est une description courte.
Le paragraphe suivant décrit l'objet de la classe, les interactions avec les autres classes si nécessaire.
On peut noter la présence des mots-clefs Subversion `Date Revision` qui sont définis dans les propriétés Subversion du fichier `svn:keywords` pour une substitution automatique.
Ne pas utiliser la fonction `System.out.println()` pour écrire dans la sortie standard les logs, mais utiliser les fonctions de logging avec les niveaux appropriés.
TROMEL LOUIS
committed
---
## Configuration d'Eclipse
Par Eclipse, on entend *Eclipse IDE for JavaEE Developers*.
Définir le profil Maven à exécuter en cliquant sur le menu du projet `sido` : `Maven > Select Maven Profiles... (Ctrl+Alt+P)`.
Ce choix de profil permettra de développer l'interface GWT avec une des configurations définies dans `sido-gwt/src/main/config/`.
### Extensions nécessaires et utiles
- Eclipse Checkstyle plug-in
- GWT 2.8.1 SDK
- Mardown Editor
- Subversive SVN Connectors
- Subversive SVN Integration for the M2E Project
TROMEL LOUIS
committed
### Que faire en cas de `Could'nt load from Super Dev Mode`
Il peut arriver, après s'être authentifié, que le serveur retourne une boite de dialogue comme suit :
```
Couldn't load SidoGwt from Super Dev Mode
server at http://localhost:xxxx.
Please make sure this server is ready.
Do you want to try again?
YES NO
```
Vraisemblablement, l'IDE n'a pas démarré le `CodeServer`. Vérifier que le serveur Tomcat est démarré, puis cliquer sur démarrer le `SidoGWT CodeServer` ou bien `"nomduprojet" CodeServer`.
TROMEL LOUIS
committed
#### `Errors running builder 'Checkstyle Builder' on project 'sido'`
Rechercher dans le dossier `/.checkstyle` la valeur de l'attribut `check-config-name`, ici `SIDO SUN Checks`.
```
<?xml version="1.0" encoding="UTF-8"?>
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
<fileset name="all" enabled="true" check-config-name="SIDO SUN Checks" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
</fileset-config>
```
Vérifier la cohérence avec la configuration de CheckStyle dans le menu `Window > Preferences` : il faut qu'une configuration CheckStyle portant ce nom pointe sur `/sido/config/sun_checks.xml`.
TROMEL LOUIS
committed
---
## Documentation
Raw documentation :
src/site/markdown/
Pdf :
target/pdf/sido.pdf
Pour générer les pdf correspondants à la documentation :
```
mvn pdf:pdf -DincludeReports=false
```
TROMEL LOUIS
committed
### Administration
Raw documentation :
TROMEL LOUIS
committed
src/site/markdown/administration.md
TROMEL LOUIS
committed
---