Skip to content

Améliorer la structure et configuration du projet avec Next.js 15, tests modernes et outils de qualité#78

Open
Copilot wants to merge 3 commits into
mainfrom
copilot/fix-15bfa7d0-15c4-4dd3-a224-604c49d9aef9
Open

Améliorer la structure et configuration du projet avec Next.js 15, tests modernes et outils de qualité#78
Copilot wants to merge 3 commits into
mainfrom
copilot/fix-15bfa7d0-15c4-4dd3-a224-604c49d9aef9

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Aug 19, 2025

Cette PR modernise complètement l'infrastructure de développement du projet LaVidaLuca-App en implémentant les meilleures pratiques modernes pour un projet Next.js/React/TypeScript.

🚀 Améliorations principales

Mise à jour des dépendances

  • Next.js 14.0.4 → 15.4.7 (dernière version stable)
  • React 18.2.0 → 19.1.1 (dernière version stable)
  • @types/node, @types/react, @types/react-dom vers les dernières versions
  • Correction de toutes les vulnérabilités de sécurité

Structure de dossiers reorganisée

Nouvelle architecture modulaire dans /src:

src/
├── components/        # Composants réutilisables
│   ├── ui/           # Composants UI de base (Button, Card, Badge)
│   ├── layout/       # Composants de mise en page (Header, Footer)
│   └── common/       # Composants communs
├── hooks/            # Hooks React personnalisés
├── lib/              # Fonctions utilitaires
├── styles/           # Styles globaux et utilitaires CSS
├── types/            # Types TypeScript centralisés
└── monitoring/       # Outils de monitoring existants

Configuration robuste des outils

TypeScript strict mode activé avec:

  • Path mapping configuré (@/* vers src/*)
  • Vérifications de types strictes
  • Support complet pour Next.js 15

ESLint + Prettier intégrés:

  • Configuration Next.js 15 compatible
  • Règles de formatage automatiques
  • Vérification de l'ordre des imports
  • 16 nouveaux scripts npm disponibles

Jest + Testing Library modernisés:

  • Environment jsdom pour les tests de composants
  • Support complet TypeScript/JSX
  • 16 tests de composants UI ajoutés
  • Configuration de couverture de code

🧪 Tests et qualité

Nouveaux scripts disponibles:

  • npm run quality - Vérification complète (types, lint, format, tests)
  • npm run test:ui - Tests des composants uniquement
  • npm run format / npm run lint:fix - Corrections automatiques
  • npm run test:coverage - Tests avec couverture

Tests de composants UI créés:

  • Button component - 8 tests (variants, interactions, accessibilité)
  • Card & Badge components - 8 tests (styles, props, rendu)

🛠 Composants UI de base

Nouveaux composants réutilisables:

  • Button avec variants (primary, secondary, neutral) et tailles
  • Card avec support hover et classes personnalisées
  • Badge avec variants de couleur et tailles
  • Layout components (Header, Footer, PageLayout)

📚 Documentation mise à jour

Le README.md a été complètement restructuré avec:

  • Nouveaux scripts documentés (16 au lieu de 5)
  • Structure des dossiers détaillée
  • Configuration des outils expliquée
  • Guide de développement amélioré

🔧 Corrections techniques

  • Configuration Jest corrigée pour Next.js 15
  • Support jsdom pour les tests de composants React
  • Path mapping TypeScript fonctionnel
  • Sitemap compatible avec les nouvelles exigences Next.js
  • Types Jest DOM ajoutés pour Testing Library

Cette modernisation établit une base solide pour le développement futur avec toutes les meilleures pratiques actuelles en place.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • o1.ingest.sentry.io
    • Triggering command: node /home/REDACTED/work/LaVidaLuca-App/LaVidaLuca-App/node_modules/.bin/next build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@vercel
Copy link
Copy Markdown

vercel Bot commented Aug 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
la-vida-luca-app Error Error Aug 19, 2025 8:02pm
la-vida-luca-app-zd4o Error Error Aug 19, 2025 8:02pm

…ng setup, and strict configurations

Co-authored-by: vidaluca77-cloud <226796821+vidaluca77-cloud@users.noreply.github.com>
…s, fix configurations, and update documentation

Co-authored-by: vidaluca77-cloud <226796821+vidaluca77-cloud@users.noreply.github.com>
Copilot AI changed the title [WIP] Structure et configuration de base Améliorer la structure et configuration du projet avec Next.js 15, tests modernes et outils de qualité Aug 19, 2025
Copilot AI requested a review from vidaluca77-cloud August 19, 2025 20:03
@vidaluca77-cloud vidaluca77-cloud marked this pull request as ready for review August 19, 2025 22:18
Copilot AI review requested due to automatic review settings August 19, 2025 22:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modernizes the LaVidaLuca-App project infrastructure by implementing modern development best practices for a Next.js/React/TypeScript application.

  • Updates Next.js from 14.0.4 to 15.4.7 and React to 19.1.1
  • Implements strict TypeScript configuration with path mapping
  • Adds comprehensive ESLint + Prettier integration with automatic code formatting

Reviewed Changes

Copilot reviewed 35 out of 42 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package.json Updated dependencies to latest versions and added development scripts
src/types/index.ts Added TypeScript types for application domain models
src/styles/globals.css Created comprehensive CSS utility classes and component styles
src/lib/utils.ts Implemented utility functions and activity matching algorithm
src/lib/logger.ts Added structured logging utility with development/production modes
src/hooks/index.ts Created custom React hooks for application state management
src/components/ui/ Added reusable UI components (Button, Card, Badge) with tests
src/components/layout/ Implemented layout components for page structure
src/app/ Updated Next.js App Router pages with consistent formatting
.eslintrc.json Configured ESLint with Next.js and Prettier integration
.prettierrc.js Added Prettier configuration for consistent code formatting
jest.setup.js Enhanced Jest configuration with Testing Library support
monitoring files Applied consistent formatting to monitoring utilities
README.md Updated documentation with new project structure and scripts
Comments suppressed due to low confidence (2)

src/app/page.tsx:1

  • This function duplicates logic found in src/lib/utils.ts. The same matching algorithm exists in both files, which could lead to inconsistencies. Consider using the utility function from src/lib/utils.ts instead.
'use client';

src/app/page.tsx:910

  • The formatDuration function is duplicated across multiple components (SuggestionsPage, ActivityCatalog). This should be moved to src/lib/utils.ts and imported where needed to maintain consistency.
  const formatDuration = (minutes: number) => {
    const hours = Math.floor(minutes / 60);
    const mins = minutes % 60;
    if (hours > 0) {
      return `${hours}h${mins > 0 ? mins.toString().padStart(2, '0') : ''}`;
    }
    return `${mins}min`;
  };

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/lib/utils.ts
"Vérifier la présence de l'encadrant",
"S'assurer d'avoir tous les matériels nécessaires",
'Prendre connaissance des consignes de sécurité',
];
Copy link

Copilot AI Aug 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function contains duplicate logic that also exists in SuggestionsPage component. Consider extracting this into a shared utility to avoid code duplication and ensure consistency.

Copilot uses AI. Check for mistakes.
Comment thread src/app/page.tsx
return 'Non défini';
}
};

Copy link

Copilot AI Aug 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The getSafetyColor and getSafetyText functions are duplicated across multiple components. These utility functions should be centralized in src/lib/utils.ts to avoid code duplication.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants