Autres versions

Vous êtes ici : Développer dans K-SupInstallation et configuration

Environnement de développement

Installation de l'environnement de développement

Installation des pré-requis

Le poste de développement nécessite l'installation des mêmes outils que ceux présents sur les serveurs déployés (voir Installer et exploiter votre application).

Il faut donc installer ou récupérer les binaires de :
  • java 8 : nous conseillons l'installation d'une version JDK afin de bénéficier d'outils de développement
  • Tomcat 8.5
  • MariaDB 10.2 ou MySQL 5.7
Il est conseillé d'installer les dernières versions de ces outils afin de bénéficier des mises à jour. Attention toute fois de ne pas être trop déphasé par rapport aux versions installées sur les serveurs de production.

Les serveurs Apache et Elasticsearch sont optionnels. En effet il ne sont pas nécessaires au démarrage d'un projet. Si jamais vous souhaitez tout même les installer, merci de vous reporter à la documentation d'installation de ces serveurs (Serveur Apache, Serveur Elasticsearch).
 

Configuration de l'environnement

Configuration de la base de données

Il faut créer un base de données pour le projet à déployer.
Pour ce faire, après s'être connecté sur le serveur de base de données, il faut exécuter la commande suivante :
CREATE SCHEMA %BD% CHARACTER SET utf8 COLLATE 'utf8_general_ci';

où %BD% est le nom de la base de données.
Si jamais vous souhaitez récupérer un dump provenant des serveurs de production il est nécessaires de le réaliser en exportant les procédures stockées.
Par exemple avec la commande mysqldump
mysqldump -u %BD_LOGIN% -p -h %BD_HOST% %BD% --routines > %DUMP_PATH%
  • %BD_LOGIN% : login de l'utilisateur se connectant à la base de données
  • %BD_HOST% : nom de domaine ou IP de la machine hébergeant le serveur de base de données
  • %BD% : nom de la base de données mise à disposition pour l'application K-Sup ou K-Portal
  • %DUMP_PATH% est le chemin où sera généré le dump sql

Configuration du storage

Paramétrage de l'environnement

Les données pérennes du projet sont sauvegardées dans un répertoire différent de celui des sources (storage de l'application). Il est conseillé de créer un répertoire dédié sur votre poste.
Dans ce répertoire, il faut placer un fichier env.properties dans un répertoire conf. Dans ce fichier seront déclarés les paramètres lié à votre environnement.

Le fichier doit à minima ressembler à celui-ci dessous
storage.dir=%WEBAPP_STORAGE%
logs.path=${storage.dir}/logs

# configuration du premier site
site.ksup.intitule=%WEBAPP_NAME%
site.ksup.host=%WEBAPP_HOST%
 
# adresse du serveur smtp
mail.host=%SMTP_HOST%
mail.port=%SMTP_PORT%
mail.from=%MAIL_FROM%
mail.webmaster=%MAIL_WEBMASTER%

# si mail.debug = true, l'application n'envoie pas de mails
mail.debug=false
 
# adresse du serveur MySQL
datastore.default.user=%BD_LOGIN%
datastore.default.password=%BD_PASSWORD%
datastore.default.url=jdbc:mysql://%BD_HOST%/%BD%?useUnicode=true&characterEncoding=UTF-8


#Désactivation de WRO
#wro.debug=true

#Port par défaut pour site http
site.port.http=8080
  • %WEBAPP_STORAGE% : le chemin absolu vers le dossier "storage" de l'application
  • %WEBAPP_NAME% : nom de l'application
  • %WEBAPP_HOST% : nom de domaine principal de l'application
  • %SMTP_HOST% : nom de domaine de la machine hébergeant le serveur SMTP
  • %SMTP_PORT% : port d'écoute du service SMTP. Par défaut 25.
  • %MAIL_FROM% : adresse e-mail expéditrice des mails envoyés par l'application
  • %MAIL_WEBMASTER% : adresse e-mail de réception des mails d'alerte
  • %BD_LOGIN% : login de l'utilisateur se connectant à la base de données
  • %BD_PASSWORD% : mot de passe de l'utilisateur se connectant à la base de données
  • %BD_HOST% : nom de domaine ou IP de la machine hébergeant le serveur de base de données
  • %BD% : nom de la base de données mise à disposition pour l'application K-Sup ou K-Portal
Il est possible que votre application nécessite plus de propriété. Il faut dans ce cas s'inspirer de la configuration que vous avez sur votre serveur de production.

Lors du démarrage, si jamais vous n'avez pas installé de serveur Apache, il faut configurer l'application pour indiquer le port d'écoute.
Il faut ainsi rajouter dans le fichier d'environnement les paramètres suivants :
  • site.port.http=8080 (port http par défaut)
  • site.port.https=8443 (port https)

Configuration de développement

Dans le fichier d'environnement, plusieurs propriétés permettent de passer des fonctionnalités en mode développement.
  • mail.debug : permet de désactiver l'envoi de mail (true pour désactiver).
  • wro.debug : permet de désactiver le tritement WRO (concaténation et minfication des ressources JS et CSS).

Configuration des sites

Au démarrage de votre application, il est possible de configurer les sites afin d'être dans une situation similaire à l'environnement de production.
Pour cela il faut :
  • récupérer une copie de la configuration des sites du serveur de production (répertoire conf/site/ présent dans le storage du serveur de production).
  • copier tout ou partie des fichiers de configuration dans votre répertoire local (créer un répertoire conf/site si il n'existe pas dans votre storage).
  • modifier le host de chaque fichier afin de pointer vers un host local. Pour cela il faut doute modifier le fichier hosts de votre poste pour déclarer les nouveaux hostname.

Configuration du serveur Tomcat

Le serveur Tomcat peut être démarré avec un IDE ou bien directement en ligne de commande.
Si vous souhaitez configurer et exécuter le serveur Tomcat directement en ligne de commande, merci de suivre la partie décrite dans la page suivante : Configuration du serveur Tomcat.

Si vous utilisez un IDE (Eclipse, IntelliJ ou autre) vous devez configurer un exécuteur dans celui-ci (voir documentation spécifique de l'IDE).
Il faut cependant veiller à configurer l'exécuteur de la manière suivante :
  • Options de la VM 
    -Djava.awt.headless=true -Xms%MEMORY%M -Xmx%MEMORY%M  -Dfile.encoding=utf8 -Dconf.dir=%WEBAPP_STORAGE%/conf
    • %MEMORY% est la mémoire vive allouée au serveur
    • %WEBAPP_STORAGE% est l'emplacement du storage. Attention, pour les environnements sous Windows, le path doit contenir des // comme séparateur (par exemple : C://folder1//folder2).
  • Configuration du timeout : il est conseillé de vérifier les timeout si il y en a par défaut et les placer à 100 secondes.

Construction du projet

Construction du livrable du projet

Les projets sont construits avec l'outil Maven. Il faut donc récupérer cet outil sur votre poste : Maven 3.3.9.

Lors de la construction de votre projet, Maven va récupérer des dépendances présentes sur le repository de Kosmos. Il faut donc déclarer sur votre poste la localisation de ce repository.
Il faut pour cela créer un fichier settings-kosmos.xml.
Ce fichier devra au minimum contenir les informations suivantes :
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

	<profiles>
		<profile>
			<id>kosmos-public</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<repositories>
				<repository>
					<id>releases</id>
					<url>http://repo.maven.ksup.org/content/repositories/releases</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
				<repository>
					<id>extensions-communautaires.releases</id>
					<url>http://repo.maven.ksup.org/content/repositories/extensions-communautaires.releases</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>releases</id>
					<url>http://repo.maven.ksup.org/content/repositories/releases</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
				<pluginRepository>
					<id>extensions-communautaires.releases</id>
					<url>http://repo.maven.ksup.org/content/repositories/extensions-communautaires.releases</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
	</profiles>

</settings>
Si vous avez un contrat de support avec Kosmos, merci de vous rapprocher de votre interlocuteur afin de récupérer le fichier de settings qui vous est propre.

Après avoir configuré Maven (sur votre machine ou sur votre IDE), il faut exécuter la commande suivante sur votre projet :
mvn clean package -s '%SETTINGS_MAVEN%'
où %SETTINGS_MAVEN% est l'emplacement du fichier de settings Maven.
 

Compilation des SCSS

Les styles CSS de votre projet sont par défaut écrits avec le language Compass. Afin de les déployer sur votre environnement, il faut donc au préalable les compiler en CSS.
Lors de la construction de votre projet avec Maven, ces fichiers vont être automatiquement compilés.
En revanche, il peut être coûteux de devoir réaliser un packaging complet du projet pour compiler un modification de CSS.

Afin de simplifier cette étape, il est possible d'exécuter un build Maven spécifique qui écoutera alors les modifications des fichiers SCSS pour les compiler de manière dynamique.
Pour ce faire, il faut exécuter la commande suivante sur votre projet :
mvn sass:watch -s '%SETTINGS_MAVEN%'


Mis à jour le 6 mai 2022