Commit Graph

12 Commits

Author SHA1 Message Date
19600862f0 Merge pull request #9 from tips-of-mine/feat/certificate-download
Implémenter la fonctionnalité de téléchargement des certificats depui…
2025-06-15 14:40:16 +02:00
16458278b9 Implémenter la fonctionnalité de téléchargement des certificats depuis le dashboard
Ce commit introduit la possibilité pour vous de télécharger les fichiers de certificats (racine, intermédiaire, final) et la clé privée du certificat racine (administrateurs uniquement) directement depuis la page du tableau de bord.

Changements inclus :
- Ajout d'une méthode `download()` dans `CertificateController` pour gérer la logique de téléchargement sécurisé des fichiers.
- Ajout d'une nouvelle route `GET /certificates/download`.
- Correction et standardisation des liens de téléchargement dans la vue du dashboard pour assurer la transmission correcte des paramètres (type de certificat, nom de fichier, périmètre).
- La méthode de téléchargement inclut la journalisation des tentatives et des erreurs, ainsi que la gestion des permissions pour la clé privée racine.
2025-06-15 12:23:58 +00:00
0c2d74a35b Merge pull request #8 from tips-of-mine/feat/init-ask-creds-domain
Feat/init ask creds domain
2025-06-15 14:03:19 +02:00
44bcba150f fix: Corrige la redirection après l'initialisation de l'application
- Ajoute session_write_close() avant la redirection pour assurer la sauvegarde des modifications de session (par exemple, la suppression des identifiants d'initialisation).
- Remplace la redirection par en-tête HTTP `Refresh` par une redirection JavaScript côté client. Cela améliore la fiabilité de la redirection, en particulier lorsque du contenu HTML a déjà été envoyé ou dans certains environnements serveur.

Ces modifications résolvent un problème où la page pouvait rester bloquée sur le message "Redirection vers la page de connexion dans 5 secondes..." sans effectuer la redirection.
2025-06-15 11:32:32 +00:00
0a6a1c79de Feat: Remplissage initial des fichiers de langue et README pour les nouvelles langues
Cette modification effectue le remplissage initial des fichiers pour les langues récemment ajoutées (Japonais, Russe, Arabe, Hindi, Mandarin Chinois) :

- Fichiers JSON de langue (`app/src/Lang/*.json`):
    - Le contenu de `en.json` a été utilisé comme modèle.
    - Les valeurs textuelles ont été remplacées par des placeholders indiquant "[Auto-traduction en <Langue>] <Texte_Anglais_Original>" pour signifier qu'une traduction réelle est nécessaire.

- Fichiers README spécifiques (`docs/languages/README.*.md`):
    - Un contenu de base structuré a été créé en français, incluant les sections : Description, Configuration, Installation, et Fonctionnement.
    - Ce contenu de base a été adapté pour chaque nouvelle langue, avec chaque paragraphe préfixé par "[Auto-traduction en <Langue>]" pour indiquer que le texte est un placeholder nécessitant une traduction.

Ces modifications fournissent la structure et le contenu initial pour faciliter la future traduction complète de l'application et de sa documentation dans les nouvelles langues.
2025-06-15 11:24:59 +00:00
5d0990b1d6 feat: Demande du mot de passe admin et du ROOT_DOMAIN à l'initialisation
Modifie le processus d'initialisation de l'application :
- Lors du premier lancement, un formulaire vous demande maintenant de saisir le mot de passe souhaité pour le compte administrateur initial et le ROOT_DOMAIN à utiliser pour le certificat CA.
- Ces informations sont temporairement stockées en session.
- Le script `create_root_cert.sh` a été modifié pour accepter le ROOT_DOMAIN en argument et l'utilise pour générer le CN du certificat racine.
- Le mot de passe fourni est utilisé pour créer le premier utilisateur administrateur.
- Les variables de session contenant ces informations sont nettoyées après la fin du processus d'initialisation.

Cela améliore la sécurité en évitant un mot de passe par défaut codé en dur et permet une configuration flexible du domaine du certificat racine dès le départ.
2025-06-15 09:34:10 +00:00
a9665642c5 Ajout de nouvelles langues à l'application
Cette modification étend la prise en charge linguistique de l'application en ajoutant les langues suivantes :
- Japonais (ja)
- Russe (ru)
- Arabe (ar)
- Hindi (hi)
- Mandarin Chinois (zh)

Les changements incluent :
- La mise à jour de la constante `SUPPORTED_LANGUAGES` dans `app/src/config/app.php`.
- La création de fichiers JSON vides (`ja.json`, `ru.json`, `ar.json`, `hi.json`, `zh.json`) dans `app/src/Lang/` pour ces nouvelles langues.

Ces fichiers de langue peuvent être remplis ultérieurement avec les traductions appropriées.
2025-06-14 19:24:47 +00:00
7175d02205 Correction: La liste des utilisateurs ne se rafraîchissait pas après création à cause d'une erreur fatale
Le problème initialement perçu comme un non-rafraîchissement de la liste des utilisateurs après la création d'un nouvel utilisateur était en fait dû à une erreur fatale PHP dans la vue `users/index.php`.
La variable `$authService` n'était pas correctement passée à la vue depuis `UserController::index`, ce qui provoquait une `Error: Call to a member function getUserId() on null`. Cette erreur arrêtait l'exécution du script et empêchait le rendu correct de la page, donnant l'impression que la liste n'était pas mise à jour.

Cette modification s'assure que `$this->authService` est assigné à une variable `$authService` dans le scope de la vue `users/index.php`, résolvant ainsi l'erreur fatale.
Avec cette correction, la page de la liste des utilisateurs se charge correctement après la création d'un utilisateur, et la liste est bien à jour, affichant le nouvel utilisateur comme attendu.
2025-06-14 19:14:14 +00:00
0e9e41eb80 Style: Améliore le contraste des couleurs en mode clair
Ajuste plusieurs variables CSS dans style.css pour augmenter
la lisibilité en mode clair, en réponse à vos retours.

Modifications principales :
- Assombrit --header-bg et --table-header-bg pour un meilleur contraste
  avec le texte blanc.
- Ajuste --button-primary-bg, --button-primary-hover-bg,
  --button-secondary-bg, et --button-secondary-hover-bg
  pour améliorer la lisibilité du texte blanc sur les boutons.
2025-06-14 18:36:16 +00:00
98e931e3f9 Fix: Corrige la configuration Docker et les permissions
Ce commit apporte les modifications suivantes pour résoudre les problèmes
de chargement des fichiers CSS et potentiellement de rendu des pages :

- docker-compose.yml:
    - Modifie le montage du volume pour le service nginx de
      `./app/public:/var/www/html:ro` à `./app:/var/www/html:ro`
      pour s'aligner avec la directive `root /var/www/html/public;`
      dans la configuration Nginx.
    - Met à jour la commande de démarrage du service php-fpm pour
      appliquer `chown -R www-data:www-data` et `chmod -R 775`
      à l'ensemble du répertoire `/var/www/html` afin d'assurer
      les bonnes permissions pour les fichiers de l'application.

- Supprime le fichier CSS dupliqué `app/public/dark-mode.css`.
  Le fichier correct `app/public/css/dark-mode.css` est conservé.

- Conserve une ligne de débogage temporaire dans `app/src/Views/shared/header.php`
  pour aider à diagnostiquer les problèmes de mode sombre.
2025-06-14 17:57:08 +00:00
310051fb4d Refactor: Vérification des routes et suppression des fichiers .bak
Ce commit inclut les actions suivantes :

- Vérification de la syntaxe des définitions de routes dans app/public/index.php. Aucune correction n'a été nécessaire car la potentielle erreur 'AuthController@@logout' était déjà corrigée.
- Suppression des fichiers .bak obsolètes :
    - app/public/index.php.bak
    - app/public/ocsp_responder.php.bak
    - app/src/Services/LanguageService.php.bak

Ces changements contribuent à la propreté et à la maintenabilité du code.
2025-06-14 17:09:25 +00:00
b17c666c5a Add files via upload 2025-06-14 19:03:54 +02:00