Bienvenue dans le projet React ToDo App. Ce dépôt contient une application de gestion de tâches utilisée comme base pour la mise en place d'un pipeline CI/CD complet (Intégration Continue et Déploiement Continu).
Le développement et l'exécution de ce projet sont supportés sur :
- Ubuntu (toutes versions LTS)
- MacOS
(Note : Windows n'est pas supporté pour cette configuration spécifique).
Node.js est indispensable pour faire tourner l'application. Vous pouvez retrouver toutes les méthodes d'installation via CLI sur la page officielle de Node.js.
Exécutez les commandes suivantes dans votre terminal :
sudo apt update
sudo apt install -y nodejs npmUtilisez Homebrew pour une installation simplifiée :
brew update
brew install nodegit clone [https://github.com/jamezmca/reactjs-todolist.git](https://github.com/jamezmca/reactjs-todolist.git)
cd reactjs-todolistnpm installNote pour DevOps : Toutes les dépendances nécessaires au fonctionnement du projet (librairies, outils de build, etc.) sont répertoriées dans le fichier package.json. Ce fichier est le point d'entrée unique pour comprendre l'écosystème technique de l'application.
Pour lancer l'application en mode de développement :
npm startImportant : Les commandes préfixées par npm run ne sont pas universelles. Elles dépendent entièrement de la manière dont le développeur les a configurées dans la section "scripts" du fichier package.json. En tant que DevOps, vérifiez toujours ce fichier avant d'automatiser une commande dans un pipeline.
La validation du code est essentielle pour garantir la stabilité de l'application. Il incombe au développeur d'écrire les tests unitaires et d'intégration, ainsi que de fournir les scripts nécessaires pour les exécuter.
npm testLe build transforme le code source en fichiers statiques optimisés pour le déploiement :
npm run buildUne fois le processus terminé, les fichiers compilés sont générés dans l'un des dossiers suivants selon la configuration du projet :
- build/
- dist/Ce dossier contient l'artéfact final qui sera servi par un serveur web (comme Nginx) dans notre infrastructure conteneurisée.