Compare commits

...

4 Commits

Author SHA1 Message Date
Hanim
7d97de3086 feat: Add legal and privacy routes to AppRouter 2025-08-25 11:27:07 +02:00
1e9803a4a7 Merge pull request 'dev' (#51) from dev into master
Reviewed-on: #51
2025-08-22 08:26:30 +00:00
74c56b900e Fix: Version Flutter pour compatibilité Dart 3.2.6+ 2025-08-22 00:06:10 +02:00
4caec0a104 Config: Adaptation frontend pour déploiement serveur
- Dockerfile optimisé avec build multi-stage
- Configuration nginx pour ynov.ptits-pas.fr
- Correction URL API: supernounou.local → ynov.ptits-pas.fr/api
- Support SPA avec try_files pour Flutter routing
2025-08-21 23:55:43 +02:00
4 changed files with 40 additions and 4 deletions

16
frontend/Dockerfile Normal file
View File

@ -0,0 +1,16 @@
# Stage builder
FROM ghcr.io/cirruslabs/flutter:3.19.0 AS builder
WORKDIR /app
COPY pubspec.* ./
RUN flutter pub get
COPY . .
RUN flutter build web --release
# Stage production
FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/build/web /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@ -1,10 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:p_tits_pas/models/am_user_registration_data.dart'; import 'package:p_tits_pas/models/am_user_registration_data.dart';
import 'package:p_tits_pas/screens/auth/am/am_register_step1_sceen.dart'; import 'package:p_tits_pas/screens/auth/am/am_register_step1_sceen.dart';
import 'package:p_tits_pas/screens/auth/am/am_register_step2_sceen.dart'; import 'package:p_tits_pas/screens/auth/am/am_register_step2_sceen.dart';
import 'package:p_tits_pas/screens/auth/am/am_register_step3_sceen.dart'; import 'package:p_tits_pas/screens/auth/am/am_register_step3_sceen.dart';
import 'package:p_tits_pas/screens/auth/am/am_register_step4_sceen.dart'; import 'package:p_tits_pas/screens/auth/am/am_register_step4_sceen.dart';
import 'package:p_tits_pas/screens/legal/legal_page.dart';
import 'package:p_tits_pas/screens/legal/privacy_page.dart';
import '../screens/auth/login_screen.dart'; import '../screens/auth/login_screen.dart';
import '../screens/auth/register_choice_screen.dart'; import '../screens/auth/register_choice_screen.dart';
import '../screens/auth/parent/parent_register_step1_screen.dart'; import '../screens/auth/parent/parent_register_step1_screen.dart';
@ -18,6 +19,8 @@ import '../models/parent_user_registration_data.dart';
class AppRouter { class AppRouter {
static const String login = '/login'; static const String login = '/login';
static const String registerChoice = '/register-choice'; static const String registerChoice = '/register-choice';
static const String legal = '/legal';
static const String privacy = '/privacy';
static const String parentRegisterStep1 = '/parent-register/step1'; static const String parentRegisterStep1 = '/parent-register/step1';
static const String parentRegisterStep2 = '/parent-register/step2'; static const String parentRegisterStep2 = '/parent-register/step2';
static const String parentRegisterStep3 = '/parent-register/step3'; static const String parentRegisterStep3 = '/parent-register/step3';
@ -48,8 +51,12 @@ class AppRouter {
screen = const RegisterChoiceScreen(); screen = const RegisterChoiceScreen();
slideTransition = true; slideTransition = true;
break; break;
case parentRegisterStep1: case legal:
screen = const ParentRegisterStep1Screen(); screen = const LegalPage();
slideTransition = true;
break;
case privacy:
screen = const PrivacyPage();
slideTransition = true; slideTransition = true;
break; break;
case parentRegisterStep2: case parentRegisterStep2:

View File

@ -2,7 +2,7 @@ import 'package:http/http.dart' as http;
import 'dart:convert'; import 'dart:convert';
class BugReportService { class BugReportService {
static const String _apiUrl = 'https://api.supernounou.local/bug-reports'; static const String _apiUrl = 'https://ynov.ptits-pas.fr/api/bug-reports';
static Future<void> sendReport(String description) async { static Future<void> sendReport(String description) async {
try { try {

13
frontend/nginx.conf Normal file
View File

@ -0,0 +1,13 @@
server {
listen 80;
server_name ynov.ptits-pas.fr;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
# Gestion des erreurs
error_page 404 /index.html;
}