up build conf csc

This commit is contained in:
Tykayn 2025-10-08 16:08:04 +02:00 committed by tykayn
parent 4994c9b12a
commit eaa0752845
19 changed files with 5150 additions and 13670 deletions

View file

@ -1,6 +1,65 @@
# Implémentation d'essai du design system
initialiser une app Angular latest,
importer le dépot ng-demo
et utiliser ses composants.
Faire un store redux pour les applications.
# déploiement docker
Pour lancer l'application dans Docker :
1. **Construire l'image Docker**
Placez-vous à la racine du projet et exécutez :
```
docker build -t eqlair-app .
```
2. **Lancer le conteneur**
```
docker run -p 4300:80 eqlair-app
```
3. **Accéder à l'application**
Ouvrez votre navigateur à l'adresse :
[http://localhost:4200](http://localhost:4200)
> **Remarque :**
> - Assurez-vous que le `Dockerfile` est présent à la racine du projet.
> - Adaptez les ports si nécessaire selon la configuration de votre application Angular.
> - Pour le développement, vous pouvez monter le dossier local en volume pour bénéficier du hot-reload.
---
## Se connecter dans le conteneur pour lister les dossiers
Pour ouvrir un shell dans le conteneur en cours d'exécution et lister les dossiers:
1. **Lancer le conteneur en mode interactif (optionnel)**
Pour démarrer le conteneur avec un shell bash:
```
docker run -it eqlair-app bash
```
Vous serez alors directement dans le shell du conteneur.
2. **Se connecter à un conteneur déjà lancé**
- Listez les conteneurs en cours:
```
docker ps
```
- Repérez l'`CONTAINER ID` de votre conteneur, puis exécutez:
```
docker exec -it <CONTAINER_ID> bash
```
- Une fois dans le shell, vous pouvez lister les dossiers avec:
```
ls -al
```
> **Astuce:**
> Si `bash` n'est pas disponible dans l'image, essayez avec `sh`:
> ```
> docker exec -it <CONTAINER_ID> sh
> ```

View file

@ -41,7 +41,7 @@
{
"type": "initial",
"maximumWarning": "500kB",
"maximumError": "1MB"
"maximumError": "2MB"
},
{
"type": "anyComponentStyle",

View file

@ -19,4 +19,5 @@ import {RouterOutlet} from '@angular/router';
})
export class App {
protected readonly title = signal('Exemple de Boutons');
}

File diff suppressed because it is too large Load diff

View file

@ -20,7 +20,11 @@
]
},
"private": true,
"dependencies": {
"dependencies": {},
"devDependencies": {
"@angular/build": "^20.1.5",
"@angular/cli": "^20.1.4",
"@angular/compiler-cli": "^20.1.0",
"@angular/common": "^20.1.0",
"@angular/compiler": "^20.1.0",
"@angular/core": "^20.1.0",
@ -28,12 +32,7 @@
"@angular/platform-browser": "^20.1.0",
"@angular/router": "^20.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0"
},
"devDependencies": {
"@angular/build": "^20.1.5",
"@angular/cli": "^20.1.4",
"@angular/compiler-cli": "^20.1.0",
"tslib": "^2.3.0",
"@types/jasmine": "~5.1.0",
"angular-eslint": "20.1.1",
"eslint": "^9.29.0",

View file

@ -1,14 +1,14 @@
import {Component} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {MainButton} from '../main-button/main-button';
import {NgClass} from '@angular/common';
import {CommonModule, NgClass} from '@angular/common';
@Component({
selector: 'sae-feedback-button',
imports: [
FormsModule,
MainButton,
NgClass
NgClass, CommonModule
],
templateUrl: './feedback-button.html',
styleUrl: './feedback-button.scss'

View file

@ -1,5 +1,4 @@
import {Component, Input} from '@angular/core';
// import {NgClass} from '@angular/common/directives';
export type ButtonKindType = '' | 'primary' | 'secondary' | 'ghost' | 'link';
export type ButtonSizeType = '' | 'large' | 'medium' | 'small' | 'extrasm';
@ -8,9 +7,7 @@ export type inconPositionKindType = '' | 'left' | 'right';
@Component({
selector: 'sae-m-button',
standalone: true,
imports: [
// NgClass,
],
imports: [],
templateUrl: './main-button.html',
styleUrl: './main-button.scss'
})

View file

@ -3,5 +3,8 @@
"dest": "../../dist/sae-lib",
"lib": {
"entryFile": "src/public-api.ts"
}
},
"allowedNonPeerDependencies": [
"tslib"
]
}

File diff suppressed because it is too large Load diff

View file

@ -9,10 +9,10 @@
"@ngrx/store-devtools": "^20.0.0",
"bulma": "^1.0.4",
"remixicon": "^4.6.0",
"tslib": "^2.3.0",
"shepherd.js": "^14.5.1"
},
"dependencies": {
"tslib": "^2.3.0"
},
"sideEffects": false,
"exports": {
@ -21,7 +21,5 @@
}
},
"devDependencies": {
"bulma": "^1.0.4",
"remixicon": "^4.6.0"
}
}

View file

@ -1 +0,0 @@
{"key":"session","content":{"id":"Ix3wDFMRlQ2Zb5GmhrBfX","lastUsed":1754405232545}}

View file

@ -1 +0,0 @@
{"key":"telemetry-notification-date","content":1754405143553}

View file

@ -1 +0,0 @@
{"key":"lastEvents","content":{"boot":{"body":{"eventType":"boot","eventId":"xZYdPksHczA1INX7AsvlL","sessionId":"Ix3wDFMRlQ2Zb5GmhrBfX","payload":{"eventType":"init"},"context":{"isTTY":true,"platform":"Linux","nodeVersion":"24.4.1","storybookVersion":"9.1.1"}},"timestamp":1754405218145},"error":{"body":{"eventType":"error","eventId":"sLDTulcRmqzFEhxw8n1nC","sessionId":"Ix3wDFMRlQ2Zb5GmhrBfX","metadata":{"generatedAt":1754405232095,"userSince":1751030635227,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"testPackages":{},"hasRouterPackage":false,"packageManager":{"type":"npm","agent":"npm","nodeLinker":"node_modules"},"storybookVersionSpecifier":"9.1.1","language":"javascript"},"payload":{"name":"Error","eventType":"init","error":{"handled":true,"cause":{"handled":true,"cause":{"data":{"path":"$SNIP/angular.json"},"fromStorybook":true,"category":"CLI_INIT","documentation":"https://storybook.js.org/docs/faq#error-no-angularjson-file-found","code":2}},"message":"Error: SB_CLI_INIT_0002 (MissingAngularJsonError): An angular.json file was not found in the current working directory: $SNIP/angular.json\nStorybook needs it to work properly, so please rerun the command at the root of your project, where the angular.json file is located.\n\nMore info: https://storybook.js.org/docs/faq#error-no-angularjson-file-found\n","stack":"Error: Error: SB_CLI_INIT_0002 (MissingAngularJsonError): An angular.json file was not found in the current working directory: $SNIP/angular.json\nStorybook needs it to work properly, so please rerun the command at the root of your project, where the angular.json file is located.\n\nMore info: https://storybook.js.org/docs/faq#error-no-angularjson-file-found\n\n at installStorybook (file://$SNIP/cipherbliss/.npm/_npx/05823ecb1a3a987d/node_modules/create-storybook/dist/chunk-EIBBKXWT.js:2853:53)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async doInitiate (file://$SNIP/cipherbliss/.npm/_npx/05823ecb1a3a987d/node_modules/create-storybook/dist/chunk-EIBBKXWT.js:2870:310)\n at async withTelemetry (file://$SNIP/cipherbliss/.npm/_npx/05823ecb1a3a987d/node_modules/create-storybook/dist/chunk-EIBBKXWT.js:2742:2188)\n at async initiate (file://$SNIP/cipherbliss/.npm/_npx/05823ecb1a3a987d/node_modules/create-storybook/dist/chunk-EIBBKXWT.js:2908:236)\n at async _Command.<anonymous> (file://$SNIP/cipherbliss/.npm/_npx/05823ecb1a3a987d/node_modules/create-storybook/dist/bin/index.js:31:3332)","name":"Error"},"errorHash":"8e2e1e9640fa0a66c85f2cb312b42344ba3d4a586a97c1aa5a55969aa686ec1b","isErrorInstance":true},"context":{"isTTY":true,"platform":"Linux","nodeVersion":"24.4.1","storybookVersion":"9.1.1","anonymousId":"1f591bee98f0761149174fc6a5049f3bef2293872eb41a69c3addbc772a09109"}},"timestamp":1754405232545},"init-step":{"body":{"eventType":"init-step","eventId":"pxN60qk8IZ79gGUKSuD4z","sessionId":"Ix3wDFMRlQ2Zb5GmhrBfX","metadata":{"generatedAt":1754405218747,"userSince":1751030635227,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"testPackages":{},"hasRouterPackage":false,"packageManager":{"type":"npm","agent":"npm","nodeLinker":"node_modules"},"storybookVersionSpecifier":"9.1.1","language":"javascript"},"payload":{"step":"install-type","installType":"recommended"},"context":{"isTTY":true,"platform":"Linux","nodeVersion":"24.4.1","storybookVersion":"9.1.1","cliVersion":"9.1.1","anonymousId":"1f591bee98f0761149174fc6a5049f3bef2293872eb41a69c3addbc772a09109"}},"timestamp":1754405222674}}}

View file

@ -1 +0,0 @@
#prefix=/home/tykayn/.npm-global

15
sae-csc/csc_static.html Normal file
View file

@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<script type="module" src="/@vite/client"></script>
<meta charset="utf-8">
<title>Implem</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.css"></head>
<body>
<app-root></app-root>
<script src="polyfills.js" type="module"></script><script src="main.js" type="module"></script></body>
</html>

5679
sae-csc/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,16 +1,14 @@
{
"name": "implem",
"name": "sae-csc",
"version": "0.0.0",
"scripts": {
"link-sae-lib": "bash ./scripts/link-sae-lib.sh",
"postinstall": "npm run link-sae-lib",
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"storybook": "ng run implem:storybook",
"build-storybook": "ng run implem:build-storybook"
"storybook": "ng run sae-csc:storybook",
"build-storybook": "ng run sae-csc:build-storybook"
},
"prettier": {
"overrides": [
@ -25,7 +23,6 @@
"private": true,
"dependencies": {
"@angular/common": "^20.1.0",
"sae-lib": "file:../my-workspace/projects/sae-lib",
"@angular/compiler": "^20.1.0",
"@angular/core": "^20.1.0",
"@angular/forms": "^20.1.0",
@ -35,6 +32,8 @@
"remixicon": "^4.6.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"shepherd.js": "^14.5.1",
"sae-lib": "file:../my-workspace/dist/sae-lib",
"zone.js": "~0.15.0"
},
"devDependencies": {
@ -46,7 +45,7 @@
"@storybook/addon-docs": "^9.1.1",
"@storybook/angular": "^9.1.1",
"@types/jasmine": "~5.1.0",
"bulma": "^1.0.4 ",
"bulma": "^1.0.4",
"jasmine-core": "~5.8.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
@ -54,6 +53,7 @@
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"storybook": "^9.1.1",
"typescript": "~5.8.2"
"typescript": "~5.8.2",
"remixicon": "^4.6.0"
}
}

View file

@ -1,9 +1,7 @@
<div class="translate-texts is-{{disabled? 'disabled' : 'enabled'}}">
<div class="translate-texts is-{{disabled? 'disabled' : 'enabled'}} {{fromTextFocused? 'is-focused' : ''}} {{!researchLaunched? 'has-shadow' : ''}}">
<div [ngClass]="{
'is-focused' : fromTextFocused,
'has-shadow' : !researchLaunched,
}" id="fromText">
<div class="" id="fromText">
@if (!fileIsUploaded || !appState.fromText.length || !fromTextFocused) {
<!-- @if (appState.fromText.length == 0) {-->
@ -41,9 +39,8 @@
}
<!-- delete button from_text-->
<button (click)="emptyText('fromText')" [ngClass]="{
'is-visible' : appState.fromText.length
}" class="delete-button button">x
<button (click)="emptyText('fromText')" class="{{appState.fromText.length ? 'is-visible' : ''}}
delete-button button">x
</button>
@if (!fileIsUploaded) {
<textarea
@ -60,9 +57,8 @@
}
</div>
<div [ngClass]="{
'is-focused' : toTextFocused
}" id="toText">
<div class="{{toTextFocused ? 'is-focused' : '' }} {{loadingResume ? 'has-shadow' : ''}}" id="toText">
@if (loadingResume) {
<div class="loading-container">

View file

@ -1,12 +1,12 @@
import {Component, EventEmitter, Inject, Input, Output} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {DOCUMENT, NgClass} from '@angular/common';
import {DOCUMENT} from '@angular/common';
import {Store} from '@ngrx/store';
import {ActionTypes, StateInterface} from './../../redux/reducers';
@Component({
selector: 'sae-translate-texts',
imports: [FormsModule, NgClass],
imports: [FormsModule],
templateUrl: './translate-texts.html',
styleUrl: './translate-texts.scss'
})