Ce projet utilise Next.js et a été créé avec la commande create-next-app.
- Typescript et ESLint sont configurés.
- TailwindCSS est utilisé.
- Le router App de Next est utilisé (migrer des pages router vers l'app router).
Cette application nécessite l'environnement NodeJS et npm, vous pouvez les télécharger ici en suivant les instructions pour votre environnement.
Par exemple sur linux, l'utilitaire nvm est conseillé pour gérer les versions de node facilement.
# Télécharger et installer nvm :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Télécharger et installer Node.js :
nvm install 22
# Vérifier la version de Node.js :
node -v # Doit afficher "v22.14.0".
nvm current # Doit afficher "v22.14.0".
# Vérifier la version de npm :
npm -v # Doit afficher "10.9.2".
Sur windows, l'utilitaire fnm est conseillé.
# Télécharger et installer fnm :
winget install Schniz.fnm
# Télécharger et installer Node.js :
fnm install 22
# Vérifier la version de Node.js :
node -v # Doit afficher "v22.14.0".
# Vérifier la version de npm :
npm -v # Doit afficher "10.9.2".Pour windows, il faudra ajouter les variables d'environnement pour pouvoir utiliser node après avoir ouvert un nouveau terminal.
# Vérifier la version de Node.js :
node -v # Affichera une erreur car Node n'est pas reconnu
fnm env --use-on-cd
# Vérifier la version de Node.js :
node -v # Doit afficher "v22.14.0".Pour éviter d'avoir à jouer cette commande à chaque fois, on peut l'ajouter au fichier de profil du terminal.
Cela se produit parce que fnm doit modifier votre PATH de manière dynamique lors du changement de version de Node. Définir un PATH statique dans les variables d'environnement de Windows ne suffit pas.
Il existe différentes façon de faire selon le terminal utilisé (voir shell setup).
La version de Node doit être supérieure à la version 18.18 (version minimum requise), il est conseillé d'utiliser une version LTS (Long Term Support).
Il faut se placer dans le dossier application du projet.
cd applicationIl faut installer les dépendances du projet grâce au gestionnaire de paquets. Ces dépendances sont listées dans le fichier package.json.
npm installVisual studio code est recommandé pour le développement de l'application.
-
Suivre le processus d'installation sur le site officiel - https://code.visualstudio.com/
-
Installer l'extension Prettier
Modifier les paramètres pour utiliser Prettier comme formatteur par défaut et activer le formattage à la sauvegarde.
Configuration à placer dans les paramètres
settings.json:{ //... autres configurations "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true } -
(Conseillé) Installer les autres extensions recommandées pour le projet :
- Un linter - ESLint
- Intégration de règles de formattage standardisé - EditorConfig for VS Code
- Suggestion de code pour Tailwind - Tailwind CSS IntelliSense
- Affichage amélioré des erreurs typescript - Pretty TypeScript Errors
# lancer la commande depuis le répertoire application
docker create --name 13_potentiel_solaire_data_tmp ghcr.io/dataforgoodfr/13_potentiel_solaire_db:0.2.0.20251016 /bin/true && \
docker cp 13_potentiel_solaire_data_tmp:/app/output/db/data.duckdb ./database && \
docker cp 13_potentiel_solaire_data_tmp:/app/output/geojson/. ./public/data && \
docker rm -f 13_potentiel_solaire_data_tmp- Créer un fichier
.envà partir du fichier.env.template(dans le même répertoire). - Renseigner les variables manquantes :
DATABASE_PATH => le chemin absolu vers la base de donnée duckdb
Ex: DATABASE_PATH=/path/to/data.duckdb
NEXT_PUBLIC_BASE_URL => le host de l'application
Ex: NEXT_PUBLIC_BASE_URL=http://localhost:3000
Pour lancer le serveur de dev
npm run devOuvrir http://localhost:3000 dans le navigateur pour accéder à l'application.
Lorsque vous sauvegarderez des modifications, le serveur redémarrera avec vos modifications.
Pour en savoir plus sur Next.js, consultez les ressources suivantes :
- Documentation Next.js – découvrez les fonctionnalités et l'API de Next.js.
- Apprendre Next.js – un tutoriel interactif sur Next.js.
- Examples Next.js - Examples de patterns de code avec Next et d'intégration avec d'autres librairies
Pour compiler l'application en mode production :
npm run buildLe build générera un dossier .next contenant les fichiers optimisés pour la production.
Après avoir construit le projet, lancez-le avec :
npm run startIl faut s'assurer qu'un fichier .env est présent à la racine du dossier application. Il contient :
NEXT_PUBLIC_BASE_URL=http://localhost:3000
Utile pour la production seulement :
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID => l'id de google tag manager
NEXT_PUBLIC_GOOGLE_ANALYTICS_ID => l'id de google analytics
# on lance cette commande depuis le répertoire `application`
docker compose up --build# on lance cette commande depuis le répertoire `application`
docker compose up