-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14 from CAMAP-APP/staging
v1.0.6
- Loading branch information
Showing
50 changed files
with
40,446 additions
and
64,191 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# ATTENTION: Obsolète, doc d'installation à refaire | ||
|
||
Privilégier docker-camap comme base d'installation | ||
|
||
## Installation avec docker-compose | ||
|
||
Ce mode d'installation est recommandé pour une installation locale sur un poste de développement. | ||
|
||
Clonez les 2 repository côte à côte | ||
|
||
Dans `CAMAP-ts/docker-compose` lancez les containers avec `docker-compose up -d` | ||
|
||
### CAMAP-haxe backend | ||
|
||
- Installer lix (équivalent de npm+nvm pour Haxe) : `npm i -g lix` | ||
- Aller dans `CAMAP-haxe/backend` | ||
- `lix scope create` | ||
- Installer le compilateur Haxe 4.0.5 : `lix install haxe 4.0.5` | ||
- `lix use haxe 4.0.5` | ||
- Installer les dépendances du backend Haxe : `lix download` | ||
- compiler le backend haxe : `haxe build.hxml -D i18n_generation` | ||
- Aller dans `CAMAP-haxe` et copier `config.dist.xml` pour le renommer `config.xml` | ||
- dans `lang/master`, créer un dossier `tmp` et donner les droits en écriture ( `chmod 777 tmp` ) | ||
- Accédez à `localhost` dans votre navigateur, une erreur doit s'afficher : `Error : INSERT INTO Error (date,error,ip,userAgent,url)...`. C'est normal, les tables de la base de données ont été créées. | ||
- Rafraîchissez la page, vous devez avoir une erreur : `Unable to load ressources from CAMAP-ts.` | ||
- Le backend Haxe est bien là, il a juste besoin de CAMAP-ts pour fonctionner. | ||
|
||
### CAMAP-haxe frontend | ||
|
||
- Aller dans `CAMAP-haxe/frontend` | ||
- `lix scope create` | ||
- `lix use haxe 4.0.5` | ||
- Installer les dépendances du frontend Haxe : `lix download` | ||
- `npm i` | ||
- compiler le frontend haxe : `haxe build.hxml` | ||
|
||
### CAMAP-TS | ||
|
||
- Aller dans `CAMAP-ts` | ||
- Créer un fichier `.env` à partir de `.env.sample` | ||
- Installer les dépendances : `npm i` | ||
- Tout compiler : `npm run build` | ||
- Relancez éventuellement le container CAMAP-ts en allant dans `/docker-compose` avec la commande `docker-compose restart camap-nest` | ||
|
||
### Fin de l'installation | ||
|
||
- CAMAP-haxe est disponible sur `localhost` , CAMAP-ts est disponible sur `localhost:3010` | ||
- Aller sur `localhost/install` pour finaliser l'installation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,110 @@ | ||
# ATTENTION: Obsolète, doc d'installation à refaire | ||
# Installation pour un environnement de développement | ||
|
||
Privilégier docker-camap comme base d'installation | ||
Installer un environnement de développement pour CAMAP n'est pas complètement trivial, | ||
nous détaillerons ici les étapes permettant d'obtenir : | ||
- Un environnement avec coloration syntaxique et auto-complexion pour le projet haxe, | ||
- Un environnement avec coloration syntaxique et auto-complexion pour le projet typescript. | ||
|
||
## Installation avec docker-compose | ||
Limites : | ||
- La possibilité de déboguer le projet est très limitée avec haxe sur neko en mod apache, | ||
breakpoints et inspection en pas par pas ne sera pas possible. | ||
- La possibilité de déboguer le projet typescript est possible mais nécessite des étapes d'installations supplémentaires qui ne seront pas détaillées ici. En effet, la présente documentation s'appuira sur docker-compose pour faire tourner l'ensemble de l'environnement. Avoir un environnement avec debogage nécessiterait de faire tourner le projet camap-ts sur la machine locale, et de configurer en local également un reverse proxy. | ||
|
||
Ce mode d'installation est recommandé pour une installation locale sur un poste de développement. | ||
L'installation consistera a | ||
1. installer l'environnement projet de base (via [**camap-docker**](https://github.com/CAMAP-APP/camap-docker)), | ||
2. installer les outils et dépendances nécessaire pour le développement. | ||
3. personnaliser le docker-file pour utiliser les fichiers sources locaux de la machine hote dans les conteneurs docker, | ||
|
||
Clonez les 2 repository côte à côte | ||
## Architecture des projets et interactions | ||
|
||
Dans `CAMAP-ts/docker-compose` lancez les containers avec `docker-compose up -d` | ||
Pour développer une évolution dans l'application CAMAP, il est nécessaire de comprendre comment les projets s'articulent. | ||
|
||
### CAMAP-haxe backend | ||
### camap-hx (Le socle applicatif initial): | ||
|
||
- Installer lix (équivalent de npm+nvm pour Haxe) : `npm i -g lix` | ||
- Aller dans `CAMAP-haxe/backend` | ||
- `lix scope create` | ||
- Installer le compilateur Haxe 4.0.5 : `lix install haxe 4.0.5` | ||
- `lix use haxe 4.0.5` | ||
- Installer les dépendances du backend Haxe : `lix download` | ||
- compiler le backend haxe : `haxe build.hxml -D i18n_generation` | ||
- Aller dans `CAMAP-haxe` et copier `config.dist.xml` pour le renommer `config.xml` | ||
- dans `lang/master`, créer un dossier `tmp` et donner les droits en écriture ( `chmod 777 tmp` ) | ||
- Accédez à `localhost` dans votre navigateur, une erreur doit s'afficher : `Error : INSERT INTO Error (date,error,ip,userAgent,url)...`. C'est normal, les tables de la base de données ont été créées. | ||
- Rafraîchissez la page, vous devez avoir une erreur : `Unable to load ressources from CAMAP-ts.` | ||
- Le backend Haxe est bien là, il a juste besoin de CAMAP-ts pour fonctionner. | ||
#### backend (templates): | ||
- role: | ||
- rendu de templates "templo" via apache2 mod neko. | ||
- service d'API sur `/api/<controller>/<action>` où <controller> est défini dans `camap-hx\src\controller\api\<Controller>.hx` et <action> en tant que `doAction` dans le controlleur. | ||
- sources: camap-hx/common, camap-hx/src, camap-hx/lang/master/tpl, camap-hx/backend | ||
- output: camap-hx/www/index.n (fichier neko) | ||
- compilation: `haxe.exe backend/build.hxml --cwd backend` | ||
- exécution: via le mod apache2 "neko" et le `camap-hx/www/.htaccess` qui pointe vers `camap-hx/www/index.n` | ||
- documentation spécifique: [camap-hx/README.md](../../camap-hx/README.md), [camap-ts/docs/i18n.md](./i18n.md), [camap-ts/docs/templates.md](./templates.md) | ||
- développement: | ||
- installer l'environnement vscode + docker-compose de développement. | ||
- Les modifications des templates (.mtt) sont prises en compte au rechargement de la page. | ||
- Les modifications haxe nécessitent une recompilation (build backend/build.hxml depuis vscode) | ||
|
||
### CAMAP-haxe frontend | ||
#### backend (css, html, images, fonts et autres fichiers statics) | ||
- role: fournir les fichiers css pour les thèmes et les styles de pages | ||
- sources: camap-hx/www/*, camap-hx/www/theme/default/css/bootswatch.scss, camap-hx/www/theme/default/css/variables.less | ||
- output: camap-hx/www/, camap-hx/www/theme/default/css/style.min.css | ||
- compilation: `camap-hx/www/theme/default/css_compile.sh` | ||
- exécution: | ||
- Le dossier camap-hx/www est mis à disposition d'apache pour servir les fichiers statics. Voir [apache.conf](../../camap-hx/apache.conf) | ||
- Utilisé par les templates (ie. [`camap-hx/lang/master/tpl/base.mtt`](../../camap-hx/lang/master/tpl/base.mtt)) | ||
- documentation spécifique: [camap-hx/www/theme/theme.md](../../camap-hx/www/theme/theme.md) | ||
- développement: recompiler via `camap-hx/www/theme/default/css_compile.sh` en cas de modification de bootswatch.scss ou variables.less | ||
|
||
- Aller dans `CAMAP-haxe/frontend` | ||
- `lix scope create` | ||
- `lix use haxe 4.0.5` | ||
- Installer les dépendances du frontend Haxe : `lix download` | ||
- `npm i` | ||
- compiler le frontend haxe : `haxe build.hxml` | ||
#### frontend: | ||
- role: rendu et interactions dynamiques en JavaScript dans les pages web. | ||
- sources: camap-hx/common, camap-hx/js, camap-hx/frontend/libs/libs.js | ||
- output: | ||
- camap-hx/www/js/app.js | ||
- compilation: `haxe.exe frontend/build.hxml --cwd frontend` | ||
- camap-hx/www/js/libs.prod.js | ||
- fonctionnement: voir https://lib.haxe.org/p/modular/0.6.0/ | ||
- compilation (depuis camap-hx/frontend) : `npm run libs:prod` | ||
- exécution: | ||
- Le dossier camap-hx/www est mis à disposition d'apache pour servir les fichiers statics. Voir [apache.conf](../../camap-hx/apache.conf) | ||
- Utilisé par les templates (ie. [`camap-hx/lang/master/tpl/base.mtt`](../../camap-hx/lang/master/tpl/base.mtt)) | ||
|
||
### CAMAP-TS | ||
### camap-ts | ||
|
||
- Aller dans `CAMAP-ts` | ||
- Créer un fichier `.env` à partir de `.env.sample` | ||
- Installer les dépendances : `npm i` | ||
- Tout compiler : `npm run build` | ||
- Relancez éventuellement le container CAMAP-ts en allant dans `/docker-compose` avec la commande `docker-compose restart camap-nest` | ||
|
||
### Fin de l'installation | ||
|
||
- CAMAP-haxe est disponible sur `localhost` , CAMAP-ts est disponible sur `localhost:3010` | ||
- Aller sur `localhost/install` pour finaliser l'installation | ||
## Installer l'environnement projet | ||
|
||
Tout d'abord, suivez les étapes d'installation de [**camap-docker**](https://github.com/CAMAP-APP/camap-docker). | ||
|
||
Utiliser dans un premier temps le docker-compose.yml de base (pas celui de dev). | ||
|
||
Une fois les étapes terminées, assurez vous de jouer une première fois la commande `docker compose up -d --build` et de vérifier que l'environnement fonctionne en mode production. | ||
|
||
## Installer les outils et dépendances | ||
|
||
- Installer [NodeJS en version 20.X](https://nodejs.org/) | ||
- Installer lix (équivalent de npm+nvm pour Haxe) : `npm i -g lix` | ||
- Installer [VSCode](https://code.visualstudio.com/) | ||
- Installer l'extension "Haxe extension pack" depuis l'onglet extensions de VSCode | ||
- Installer l'extension "Templo" depuis l'onglet extensions de VSCode | ||
- Installer l'extension "lix" depuis l'onglet extensions de VSCode | ||
|
||
## Projet haxe | ||
|
||
- Ouvrez [backend.code-workspace](../../camap-hx/backend/backend.code-workspace) avec VSCode pour avoir l'environnement backend | ||
- Exécutez les commandes dans le dossier backend: | ||
- `lix scope create` | ||
- `lix install haxe 4.0.5` | ||
- `lix use haxe 4.0.5` | ||
- `lix download` | ||
- Exécutez les actions: | ||
- "Haxe: Restart Language Server" pour vérifier que votre installation a bien détecté l'environnement haxe. | ||
- "Build" | ||
- Ouvrez [frontend.code-workspace](../../camap-hx/frontend/frontend.code-workspace) avec VSCode pour avoir l'environnement frontend | ||
- Exécutez les commandes dans le dossier frontend: | ||
- `lix scope create` | ||
- `lix use haxe 4.0.5` | ||
- `lix download` | ||
- `npm install` | ||
- Exécutez les actions: | ||
- "Haxe: Restart Language Server" pour vérifier que votre installation a bien détecté l'environnement haxe. | ||
- "Build" | ||
|
||
## Utiliser le docker-compose.yml pour le dev | ||
|
||
Copier/coller `camap-docker\docker-compose.dev.yml` comme `docker-compose.yml` dans votre dossier camap et exécuter ce docker-compose | ||
|
||
exécuter ```docker-compose up -d --build``` | ||
|
||
|
File renamed without changes.
Empty file.
Oops, something went wrong.