17 Commits

Author SHA1 Message Date
maximus 84d7b7e847 Merge pull request 'Feat/test' (#42) from feat/test into dev
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 26s
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 0s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 27s
Reviewed-on: maximus/aegis#42
2026-08-04 15:06:44 +02:00
LathanDevers a0a77648ca fix err
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 1s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 27s
2026-08-04 15:05:06 +02:00
LathanDevers 6cb35e82fe fix err 2026-08-04 15:00:02 +02:00
maximus b43cf6f036 Merge pull request 'Refact/neumorphism' (#39) from refact/neumorphism into dev
Reviewed-on: maximus/aegis#39
2026-08-04 14:55:54 +02:00
LathanDevers b573d20aab fix: résolution des conflits de fusion sur les workflows 2026-08-04 14:54:17 +02:00
paradox 063f3ecc75 add new deploy
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 1s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Failing after 20s
2026-08-04 14:40:52 +02:00
maximus 38284dabb6 Merge pull request 'correction' (#31) from feat/workflow into dev
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 23s
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 0s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 27s
Reviewed-on: maximus/aegis#31
2026-08-03 23:38:20 +02:00
LathanDevers 74c6624317 correction
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 0s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 27s
2026-08-03 23:36:35 +02:00
maximus 51078a68fc Merge pull request 'Feat/workflow' (#26) from feat/workflow into dev
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 27s
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 0s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 28s
Reviewed-on: maximus/aegis#26
2026-08-03 23:23:18 +02:00
LathanDevers a4b2a870f3 quality
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 1s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 27s
2026-08-03 23:16:20 +02:00
LathanDevers c74e19d732 quality
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 1s
Contrôle Qualité & Sécurité / qa-s-check (pull_request) Successful in 27s
2026-08-03 23:15:18 +02:00
LathanDevers 8e74ca50be correct deploy
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 25s
Sécurité - Architecture Git-Flow / validate-flow (pull_request) Successful in 0s
Contrôle Qualité & Sécurité (QA) / qa-s-check (pull_request) Successful in 26s
2026-08-03 22:26:11 +02:00
LathanDevers 5798881446 correct deploy
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 26s
2026-08-03 22:16:08 +02:00
LathanDevers f57e4d94f8 correct deploy
Déploiement AEGIS Portal / build-and-deploy (push) Successful in 25s
Contrôle Qualité & Sécurité (QA) / qa-s-check (push) Successful in 26s
2026-08-03 22:14:37 +02:00
paradox 3db249f3e1 little changes to the ui 2026-08-03 20:08:22 +02:00
paradox fcc04895f3 resolution de conflits 2026-08-03 18:25:39 +02:00
paradox d037af11b6 redesign widgets 2026-08-03 18:15:21 +02:00
11 changed files with 23 additions and 30 deletions
+8 -12
View File
@@ -30,11 +30,6 @@ jobs:
with:
node-version: 22
- name: Configuration de Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Activation de pnpm
run: corepack enable pnpm
@@ -44,6 +39,7 @@ jobs:
- name: Compilation de la Build
env:
VITE_APP_ENV: ${{ github.ref_name }}
VITE_PB_URL: ${{ secrets.PB_URL }}
run: pnpm run build
- name: Installation de lftp
@@ -64,18 +60,18 @@ jobs:
run: |
# 2. On attribue les bons identifiants selon la branche
if [ "$BRANCH" == "master" ]; then
TARGET_USER=$PROD_U; TARGET_PASS=$PROD_P; DOMAIN="aegis.gise.be"
TARGET_USER=$PROD_U; TARGET_PASS=$PROD_P;
elif [ "$BRANCH" == "acc" ]; then
TARGET_USER=$ACC_U; TARGET_PASS=$ACC_P; DOMAIN="acc-aegis.gise.be"
TARGET_USER=$ACC_U; TARGET_PASS=$ACC_P;
elif [ "$BRANCH" == "test" ]; then
TARGET_USER=$TEST_U; TARGET_PASS=$TEST_P; DOMAIN="test-aegis.gise.be"
TARGET_USER=$TEST_U; TARGET_PASS=$TEST_P;
else
TARGET_USER=$DEV_U; TARGET_PASS=$DEV_P; DOMAIN="dev-aegis.gise.be"
TARGET_USER=$DEV_U; TARGET_PASS=$DEV_P;
fi
echo "Déploiement de la branche [$BRANCH] vers le domaine [$DOMAIN]..."
echo "Déploiement de la branche [$BRANCH]"
# 3. Exécution du script FTP (notez le chemin adapté à HestiaCP)
# 3. Exécution du script FTP
cat << EOF > script.lftp
set ftp:passive-mode true
set ftp:ssl-allow no
@@ -84,7 +80,7 @@ jobs:
set net:max-retries 2
set dns:fatal-timeout 2
open -u "${TARGET_USER}","${TARGET_PASS}" "${SERVER}"
cd home/${FTP_USER}
cd home/${TARGET_USER}
mirror -R --delete --verbose dist/ ./
quit
EOF
-3
View File
@@ -7,9 +7,6 @@ on:
- test
- acc
- master
push:
branches:
- dev
jobs:
quality-gate:
+1
View File
@@ -22,3 +22,4 @@ dist-ssr
*.njsproj
*.sln
*.sw?
+1 -1
View File
@@ -43,7 +43,7 @@ export const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<
ref={ref}
className={cn(
// Séparation discrète (bordure fine plutôt qu'ombre inset, pour rester léger)
"px-6 py-5 flex flex-col space-y-1.5 border-b border-black/5 dark:border-white/5 transition-all duration-300 ease-in-out",
"px-6 py-5 flex flex-col space-y-1.5 border-black/5 dark:border-white/5 transition-all duration-300",
className
)}
{...props}
+1 -1
View File
@@ -57,7 +57,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(
"bg-[#e8e8e8] dark:bg-[#1e293b]",
"text-slate-800 dark:text-slate-100 font-medium placeholder:text-slate-400 dark:placeholder:text-slate-500",
// 🎯 Utilisation directe de tes constantes Neumorphic creusées
// Utilisation directe de tes constantes Neumorphic creusées
NEUMORPHISM.insetLight,
NEUMORPHISM.insetDark,
+2 -2
View File
@@ -17,8 +17,8 @@ export default function BackupWidget({ onClick }: BackupWidgetProps) {
<Badge className="max-w-fit min-w-fit" name="PRA Immuable">
</Badge>
</CardHeader>
<CardContent className="p-6">
<Card variant='digged' className="bg-slate-50 rounded-lg p-4 border border-slate-100 mb-4">
<CardContent className="p-6 flex flex-col h-full">
<Card variant="flat" className="rounded-lg p-4 border border-slate-100 mb-4">
<p className="text-sm text-slate-500 mb-1">Dernier snapshot système</p>
<p className="text-slate-900 font-medium">Aujourd'hui à 03:00 AM</p>
</Card>
+2 -2
View File
@@ -30,8 +30,8 @@ export default function ServicesWidget() {
))}
</div>
<Button size="lg" onClick={() => navigate('/evolution-infrastructure')}>
Demander une évolution du parc
<Button className ="text-green-600" size="lg" onClick={() => navigate('/evolution-infrastructure')}>
Mise à niveau du Parc
</Button>
</CardContent>
+3 -3
View File
@@ -8,14 +8,14 @@ export const SupportCtaWidget: React.FC = () => {
return (
<Card>
<CardContent className="p-6">
<CardContent className="p-6 rounded-xl">
<h3 className="text-lg font-semibold mb-2">Centre de Support</h3>
<p className="text-blue-900 text-sm mb-4 leading-relaxed">
<p className="text-sm mb-4 leading-relaxed">
Déclarez un incident critique ou demandez une évolution de votre infrastructure.
</p>
<Button
onClick={() => navigate('/support')}
className="w-full text-blue-900"
className= "text-rose-500 w-full"
>
Ouvrir un ticket sécurisé
</Button>
@@ -16,7 +16,7 @@ export const SupportFooterWidget: React.FC<SupportFooterWidgetProps> = ({
const navigate = useNavigate();
return (
<div className="mt-12 bg-slate-900 text-slate-300 rounded-xl p-6 flex flex-col sm:flex-row items-center justify-between gap-4 shadow-sm">
<div className="mt-12 bg-slate-500 text-slate-300 rounded-xl p-6 flex flex-col sm:flex-row items-center justify-between gap-4 shadow-sm">
<div>
<h4 className="text-sm font-bold text-white">{title}</h4>
<p className="text-xs text-slate-400 mt-0.5">
+1 -2
View File
@@ -15,8 +15,7 @@ export const useTickets = () => {
sort: '-created', // Du plus récent au plus ancien
});
setTickets(records);
} catch (err) {
console.error("Erreur lors de la récupération des tickets :", err);
} catch {
setError("Impossible de charger l'historique de vos requêtes.");
} finally {
setIsLoading(false);
+1 -1
View File
@@ -15,7 +15,7 @@ export default function ServiceDesk() {
title="Centre de Support (Service Desk)"
description="Canal de communication sécurisé avec vos experts GISE."
>
<Button onClick={() => navigate('/support/new')}>
<Button className= "text-rose-500" onClick={() => navigate('/support/new')}>
Ouvrir un ticket sécurisé
</Button>
</PageHeader>