Bienvenue sur MyWebClient ! C'est une application web qui vous aide à travailler avec les données du projet MyWebIntelligencePython. Imaginez que c'est une interface graphique pour nettoyer, organiser et analyser des informations.
Important : Avant d'utiliser MyWebClient, vous devez d'abord installer MyWebIntelligencePython et l'utiliser pour créer une base de données. MyWebClient a besoin de cette base de données pour fonctionner.
L'application se compose de deux parties qui tournent en même temps :
- Le client ReactJS : C'est l'interface que vous voyez et utilisez dans votre navigateur.
- Le serveur API : C'est un petit programme en arrière-plan qui permet au client de lire et écrire dans la base de données SQLite.
Vous avez deux options pour installer MyWebClient : avec Docker (plus simple si vous connaissez déjà un peu) ou directement depuis le code source.
Docker, c'est un peu comme une boîte magique qui contient tout ce dont l'application a besoin pour fonctionner, sans avoir à installer plein de choses séparément sur votre ordinateur.
Ce qu'il vous faut :
- Docker Desktop : Installez-le si ce n'est pas déjà fait.
Étapes d'installation :
-
Téléchargez le projet : Ouvrez un terminal (ou invite de commandes) et tapez :
git clone https://github.com/MyWebIntelligence/MyWebClient.git
Cela va copier tous les fichiers du projet sur votre ordinateur.
-
Allez dans le dossier du projet :
cd MyWebClient -
Construisez l'image Docker : Une "image", c'est le plan de notre boîte magique.
docker build -t mwiclient:1.0 .(Le
.à la fin est important, il dit à Docker de chercher les instructions dans le dossier actuel). Cette commande peut prendre quelques minutes la première fois. -
Lancez l'application (le "conteneur" Docker) : Maintenant, on crée une instance de notre boîte magique et on la démarre.
docker run -p 80:3000 -p 5001:5001 --name mwiclient -v /chemin/vers/vos/donnees/mywi:/data mwiclient:1.0
Décortiquons cette commande :
-p 80:3000: Rend l'application accessible sur le port 80 de votre ordinateur (redirigé depuis le port 3000 à l'intérieur de la boîte Docker).-p 5001:5001: (Optionnel, utile pour debug ou accès direct à l'API backend) Expose aussi le port API backend.--name mwiclient: Donne un nom à notre boîte pour la retrouver facilement.-v /chemin/vers/vos/donnees/mywi:/data: C'est TRÈS IMPORTANT.- Remplacez
/chemin/vers/vos/donnees/mywipar le chemin exact sur VOTRE ordinateur où se trouve le dossierDatadu projet MyWebIntelligencePython (celui qui contient le fichiermwi.db). - Par exemple, si votre base de données
mwi.dbest dans/Users/VotreNom/Documents/MyWebIntelligencePython/Data, alors vous mettriez/Users/VotreNom/Documents/MyWebIntelligencePython/Data:/data. /dataà la fin est le nom du dossier à l'intérieur de la boîte Docker. L'application MyWebClient cherchera la base de données dans/data/mwi.db.
- Remplacez
mwiclient:1.0: C'est le nom de l'image qu'on a construite.
Variables d'environnement utiles :
ADMIN_PASSWORD(optionnel) : Pour définir le mot de passe admin à la première installation.RESEND_API_KEY(optionnel) : Pour activer l'envoi d'e-mails (mot de passe oublié). Si absent, l'application fonctionne normalement mais la fonctionnalité "mot de passe oublié" sera désactivée et le backend ne plantera pas.
Exemple avec variables :
docker run -p 80:3000 -p 5001:5001 --name mwiclient -v /chemin/vers/vos/donnees/mywi:/data -e ADMIN_PASSWORD=MonMotDePasse -e RESEND_API_KEY=ma_cle_resend mwiclient:1.0
-
Accédez à l'application : Ouvrez votre navigateur web et allez à l'adresse
http://localhost(ouhttp://localhost:80).
Si le backend ne démarre pas et que vous voyez une erreur du type :
Error: Missing API key. Pass it to the constructor `new Resend("re_123")`
C'est que la variable d'environnement RESEND_API_KEY n'est pas définie.
Depuis la version corrigée, ce n'est plus bloquant : le backend démarre même sans cette variable, mais la fonctionnalité de récupération de mot de passe par e-mail sera désactivée (l'API retournera une erreur 501 explicite sur /api/auth/recover).
Si vous avez une ancienne version, mettez à jour le code ou appliquez le correctif décrit dans server/src/authRoutes.js.
Cette méthode vous donne plus de contrôle mais demande d'installer quelques outils.
Ce qu'il vous faut :
- Git : Pour télécharger le code.
- NodeJS (version 12.16 ou une version compatible) : C'est l'environnement qui fait tourner JavaScript côté serveur.
- Yarn (version 1.22 ou une version compatible) : C'est un gestionnaire de paquets pour les projets JavaScript, un peu comme un assistant qui télécharge et gère les outils dont le projet a besoin.
- Avoir installé et configuré MyWebIntelligencePython et sa base de données.
Étapes d'installation :
-
Téléchargez le projet :
git clone https://github.com/MyWebIntelligence/MyWebClient.git
-
Allez dans le dossier du projet :
cd MyWebClient -
Installez les dépendances (les outils nécessaires) : Yarn va lire un fichier de configuration et télécharger tout ce qu'il faut.
yarn install
Cela installera les dépendances pour le serveur et aussi pour la partie client (l'interface graphique).
Une fois que tout est installé (avec l'option 2) :
- Assurez-vous d'être toujours dans le dossier
MyWebClient. - Lancez cette commande :
Cela va démarrer à la fois le serveur API et le client ReactJS.
yarn standalone
- Ouvrez votre navigateur web et allez à l'adresse
http://localhost:3000.
Lors du tout premier lancement de MyWebClient (que ce soit avec Docker ou depuis les sources), un compte administrateur est automatiquement créé pour vous permettre de vous connecter. Voici comment cela fonctionne :
-
Identifiant : L'identifiant de ce premier compte administrateur est toujours
admin. Vous n'avez pas besoin de le choisir, il est défini par défaut. Il n'y a pas d'adresse e-mail associée à ce compte administrateur initial. -
Mot de passe : Vous avez deux scénarios pour le mot de passe :
- Mot de passe généré automatiquement (comportement par défaut) :
Si vous ne spécifiez rien de particulier, l'application va :
- Créer un mot de passe aléatoire et sécurisé pour le compte
admin. - Afficher ce mot de passe dans la console (le terminal où vous avez lancé la commande
docker runouyarn standalone). Notez-le bien ! - L'application (via son script d'initialisation) sauvegardera également ce mot de passe dans un fichier nommé
admin_password.txt. Ce fichier sera situé à la racine du dossierMyWebClient(ou dans/app/admin_password.txtsi vous utilisez Docker). Il est créé pour votre commodité et n'est pas accessible directement via une requête web. L'installation se poursuivra normalement avec ce mot de passe généré.
- Créer un mot de passe aléatoire et sécurisé pour le compte
- Mot de passe généré automatiquement (comportement par défaut) :
Si vous ne spécifiez rien de particulier, l'application va :
Si vous avez oublié le mot de passe généré lors du premier lancement, ou si vous ne l'avez pas noté, vous pouvez le retrouver :
-
En mode standalone (avec
yarn standalone) : Le mot de passe est stocké dans le fichieradmin_password.txtà la racine de votre projetMyWebClient. Vous pouvez l'ouvrir avec un éditeur de texte ou l'afficher dans votre terminal :cat admin_password.txt
Le contenu sera sous la forme
admin:VOTRE_MOT_DE_PASSE. -
Avec Docker : Le fichier
admin_password.txtse trouve à l'intérieur du conteneur Docker, au chemin/app/admin_password.txt.
Pour lire son contenu, utilisez la commande :docker exec mwiclient cat /app/admin_password.txtCela affichera
admin:VOTRE_MOT_DE_PASSEdans votre terminal.Pour le copier sur votre machine hôte :
docker cp mwiclient:/app/admin_password.txt ./admin_password.txt
Vous pouvez également consulter les logs de démarrage du conteneur, car le mot de passe y est affiché lors de sa création :
docker logs mwiclient
Recherchez une ligne similaire à :
Mot de passe admin généré : VOTRE_MOT_DE_PASSE- Choisir votre propre mot de passe (Optionnel, lors de la première installation uniquement) :
Si vous préférez définir vous-même le mot de passe du compte
admindès la création, vous pouvez le faire en utilisant la variable d'environnementADMIN_PASSWORDavant de lancer l'application pour la première fois. L'application utilisera alors le mot de passe que vous avez fourni. Attention : Cette option n'est valable que pour la création initiale du compte. Si un compteadminexiste déjà, cette variable sera ignorée.
- Choisir votre propre mot de passe (Optionnel, lors de la première installation uniquement) :
Si vous préférez définir vous-même le mot de passe du compte
En résumé : L'application s'assure toujours qu'un compte admin existe avec un mot de passe. Si vous ne fournissez pas de mot de passe via ADMIN_PASSWORD lors du premier lancement, un mot de passe sécurisé sera automatiquement généré pour vous. L'installation ne sera pas bloquée.
Voici comment spécifier ADMIN_PASSWORD si vous choisissez cette option :
-
Avec Docker : Ajoutez
-e ADMIN_PASSWORD=VotreSuperMotDePasseà la commandedocker run. Exemple :docker run -p 80:3000 --name mwiclient -v /chemin/vers/vos/donnees/mywi:/data -e ADMIN_PASSWORD=MonMotDePasseSecret mwiclient:1.0
-
Depuis les sources (avec
yarn standalone) : Définissez la variable d'environnementADMIN_PASSWORDavant de lancer la commande. Exemple (sur Linux/macOS) :ADMIN_PASSWORD=MonMotDePasseSecret yarn standalone
Exemple (sur Windows avec PowerShell) :
$env:ADMIN_PASSWORD="MonMotDePasseSecret"; yarn standalone
Ou, vous pouvez aussi passer le mot de passe directement au script qui initialise l'administrateur (c'est un peu plus technique) :
node server/src/initAdmin.js MonMotDePasseSecret
Puis lancez
yarn standalone.
Important : Si un compte admin existe déjà, ces méthodes pour définir le mot de passe ne fonctionneront pas. Elles servent uniquement lors de la création du premier compte.
- Voir les conteneurs Docker qui tournent :
Utile pour connaître l'ID de votre conteneur
mwiclients'il est en cours d'exécution.docker ps
- Arrêter le conteneur :
docker stop mwiclient
- Redémarrer un conteneur arrêté :
docker start mwiclient
- Voir les logs (messages) du conteneur :
Si quelque chose ne va pas, les messages d'erreur sont souvent ici.
docker logs mwiclient
C'est tout ! Vous devriez maintenant être capable d'installer et de lancer MyWebClient. N'hésitez pas à relire attentivement les étapes, surtout celle concernant le chemin vers vos données (-v /chemin/vers/vos/donnees/mywi:/data) car c'est une source fréquente de petits soucis au début.