diff --git a/pom.xml b/pom.xml
index 384780f..9375d26 100755
--- a/pom.xml
+++ b/pom.xml
@@ -73,6 +73,7 @@
runtime
+
net.sf.jasperreports
jasperreports
@@ -155,7 +156,14 @@
1.7.6
-
+
+ org.apache.httpcomponents.client5
+ httpclient5
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+
diff --git a/src/main/java/io/gmss/fiscad/configuration/ApplicationConfig.java b/src/main/java/io/gmss/fiscad/configuration/ApplicationConfig.java
index 88bf47c..21c6797 100644
--- a/src/main/java/io/gmss/fiscad/configuration/ApplicationConfig.java
+++ b/src/main/java/io/gmss/fiscad/configuration/ApplicationConfig.java
@@ -1,9 +1,13 @@
package io.gmss.fiscad.configuration;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import io.gmss.fiscad.security.CustomUserDetailsService;
import io.gmss.fiscad.security.JwtAuthenticationFilter;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
@@ -63,4 +67,7 @@ public class ApplicationConfig {
return authenticationManagerBuilder.build();
}
+
+
+
}
diff --git a/src/main/java/io/gmss/fiscad/configuration/RestTemplateConfig.java b/src/main/java/io/gmss/fiscad/configuration/RestTemplateConfig.java
new file mode 100644
index 0000000..7839d2c
--- /dev/null
+++ b/src/main/java/io/gmss/fiscad/configuration/RestTemplateConfig.java
@@ -0,0 +1,48 @@
+package io.gmss.fiscad.configuration;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class RestTemplateConfig {
+
+ @Bean
+ public ObjectMapper objectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.registerModule(new JavaTimeModule());
+ mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ return mapper;
+ }
+
+ @Bean
+ public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
+ return builder -> {
+ builder.modules(new JavaTimeModule());
+ builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ };
+ }
+
+ @Bean
+ public RestTemplate restTemplate(ObjectMapper mapper) {
+
+ mapper.registerModule(new JavaTimeModule());
+ mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+
+ MappingJackson2HttpMessageConverter converter =
+ new MappingJackson2HttpMessageConverter(mapper);
+
+ RestTemplate restTemplate = new RestTemplate();
+ restTemplate.getMessageConverters().removeIf(
+ c -> c instanceof MappingJackson2HttpMessageConverter
+ );
+ restTemplate.getMessageConverters().add(converter);
+
+ return restTemplate;
+ }
+}
diff --git a/src/main/java/io/gmss/fiscad/configuration/SecurityConfig.java b/src/main/java/io/gmss/fiscad/configuration/SecurityConfig.java
new file mode 100755
index 0000000..fb00672
--- /dev/null
+++ b/src/main/java/io/gmss/fiscad/configuration/SecurityConfig.java
@@ -0,0 +1,120 @@
+//package io.gmss.fiscad.configuration;
+//
+//import com.backend.api.security.CustomUserDetailsService;
+//import com.backend.api.security.JwtAuthenticationEntryPoint;
+//import com.backend.api.security.JwtAuthenticationFilter;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.http.HttpMethod;
+//import org.springframework.security.authentication.AuthenticationManager;
+//import org.springframework.security.config.BeanIds;
+//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+//import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+//import org.springframework.security.config.http.SessionCreationPolicy;
+//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+//import org.springframework.security.crypto.password.PasswordEncoder;
+//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+//
+//@Configuration
+//@EnableWebSecurity // active la sécurité web sur le projet
+//@EnableGlobalMethodSecurity( // est utilisé pour définir la sécurité sur les méthodes
+// securedEnabled = true, // est activé pour protéger un controlleur ou un service
+// jsr250Enabled = true, // active le role qui doit être utilisé
+// prePostEnabled = true // active le controle avant et après l'execution de la requête
+//)
+//public class SecurityConfig extends WebSecurityConfigurerAdapter {
+//
+// /**
+// * Est utilisé pour authentifier un utlisateur ou pour définir un role
+// */
+// @Autowired
+// CustomUserDetailsService customUserDetailsService;
+//
+// @Autowired
+// private JwtAuthenticationEntryPoint unauthorizedHandler;
+//
+// @Bean
+// public JwtAuthenticationFilter jwtAuthenticationFilter() {
+// return new JwtAuthenticationFilter();
+// }
+//
+//
+//
+// private static final String[] AUTH_WHITELIST = {
+//
+// // -- swagger ui
+// "/swagger-resources/**",
+// "/swagger-ui.html",
+// "/v3/api-docs",
+// "/swagger-ui/**",
+// "/webjars/**",
+// "/api/**",
+//// "/api/synonym/**",
+// "/api/auth/**"
+// };
+// @Override
+// public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
+// authenticationManagerBuilder
+// .userDetailsService(customUserDetailsService)
+// .passwordEncoder(passwordEncoder());
+// }
+//
+// @Bean(BeanIds.AUTHENTICATION_MANAGER)
+// @Override
+// public AuthenticationManager authenticationManagerBean() throws Exception {
+// return super.authenticationManagerBean();
+// }
+//
+// @Bean
+// public PasswordEncoder passwordEncoder() {
+// return new BCryptPasswordEncoder();
+// }
+//
+// /**
+// *
+// * @param http
+// * @throws Exception
+// */
+// @Override
+// protected void configure(HttpSecurity http) throws Exception {
+// http
+// .cors()
+// .and()
+// .csrf()
+// .disable()
+// .exceptionHandling()
+// .authenticationEntryPoint(unauthorizedHandler)
+// .and()
+// .sessionManagement()
+// .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+// .and()
+// .authorizeRequests()
+// .antMatchers("/",
+// "/favicon.ico",
+// "/**/*.png",
+// "/**/*.gif",
+// "/**/*.svg",
+// "/**/*.jpg",
+// "/**/*.html",
+// "/**/*.css",
+// "/**/*.js")
+// .permitAll()
+// .antMatchers(AUTH_WHITELIST).permitAll()
+// .antMatchers("/api/auth/**")
+// .permitAll()
+// .antMatchers("/api/user/checkUsernameAvailability", "/api/user/checkEmailAvailability")
+// .permitAll()
+// .antMatchers(HttpMethod.GET, "/api/polls/**", "/api/users/**")
+// .permitAll()
+// .anyRequest()
+// .authenticated();
+//
+// // Add our custom JWT security filter
+// http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
+//
+// }
+//}
diff --git a/src/main/java/io/gmss/fiscad/configuration/SpringSecurityConfig.java b/src/main/java/io/gmss/fiscad/configuration/SpringSecurityConfig.java
index 9d15097..3ce0192 100755
--- a/src/main/java/io/gmss/fiscad/configuration/SpringSecurityConfig.java
+++ b/src/main/java/io/gmss/fiscad/configuration/SpringSecurityConfig.java
@@ -1,11 +1,113 @@
package io.gmss.fiscad.configuration;
-
-
import io.gmss.fiscad.security.JwtAuthenticationEntryPoint;
import io.gmss.fiscad.security.JwtAuthenticationFilter;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpMethod;
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
+import org.springframework.security.config.http.SessionCreationPolicy;
+import org.springframework.security.web.SecurityFilterChain;
+import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.CorsConfigurationSource;
+
+import java.util.List;
+
+@EnableWebSecurity
+@Configuration
+@EnableMethodSecurity(securedEnabled = true, jsr250Enabled = true, prePostEnabled = true)
+@RequiredArgsConstructor
+public class SpringSecurityConfig {
+
+ private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
+ private final AuthenticationProvider authenticationProvider;
+ private final JwtAuthenticationFilter jwtAuthenticationFilter;
+
+ private static final String[] PUBLIC_ENDPOINTS = {
+ "/api/auth/login",
+ "/api/open/**",
+ "/api/synchronisation/references",
+ "/v3/api-docs/**",
+ "/swagger-ui/**",
+ "/swagger-ui.html",
+ "/error",
+ "/api/**" // A ENLEVER AVANT LA MISE EN PRODUCTION
+ };
+
+ @Bean
+ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+
+ http
+ // Désactivation CSRF car JWT stateless
+ .csrf(AbstractHttpConfigurer::disable)
+
+ // CORS configuration propre
+ .cors(cors -> cors.configurationSource(corsConfigurationSource()))
+
+ // Gestion des exceptions d’authentification
+ .exceptionHandling(exception ->
+ exception.authenticationEntryPoint(jwtAuthenticationEntryPoint)
+ )
+
+ // Stateless session
+ .sessionManagement(session ->
+ session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+ )
+
+ // Configuration des autorisations
+ .authorizeHttpRequests(auth -> auth
+ // Autoriser les requêtes OPTIONS (CORS preflight)
+ .requestMatchers(HttpMethod.OPTIONS, "/**").permitAll()
+
+ // Endpoints publics
+ .requestMatchers(PUBLIC_ENDPOINTS).permitAll()
+
+ // Tout le reste nécessite authentification
+ .anyRequest().authenticated()
+ )
+
+ // Provider d’authentification
+ .authenticationProvider(authenticationProvider)
+
+ // Ajout du filtre JWT avant UsernamePasswordAuthenticationFilter
+ .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
+
+ return http.build();
+ }
+
+ /**
+ * Configuration CORS centralisée.
+ * ⚠️ En production, remplacer "*" par ton domaine frontend.
+ */
+ @Bean
+ public CorsConfigurationSource corsConfigurationSource() {
+ return request -> {
+ CorsConfiguration configuration = new CorsConfiguration();
+
+ configuration.setAllowedOrigins(List.of("*")); // ⚠️ restreindre en prod
+ configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"));
+ configuration.setAllowedHeaders(List.of("*"));
+ configuration.setAllowCredentials(false);
+
+ return configuration;
+ };
+ }
+}
+
+
+
+/*
+import io.gmss.fiscad.security.JwtAuthenticationEntryPoint;
+import io.gmss.fiscad.security.JwtAuthenticationFilter;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -27,16 +129,15 @@ public class SpringSecurityConfig {
private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
private final AuthenticationProvider authenticationProvider;
private final JwtAuthenticationFilter jwtAuthenticationFilter;
-
-
private static final String[] AUTH_WHITELIST = {
- "/api/**",
+ // "/api/**",
"/api/auth/login",
"/api/open/**",
"/api/synchronisation/references",
"/v3/api-docs/**",
"/swagger-ui/**",
- "/swagger-ui.html"
+ "/swagger-ui.html",
+ "/error"
};
@@ -58,7 +159,7 @@ public class SpringSecurityConfig {
.exceptionHandling(ex -> ex.authenticationEntryPoint(jwtAuthenticationEntryPoint))
.authorizeHttpRequests(req ->
req
- //.requestMatchers(HttpMethod.OPTIONS, "/**").permitAll()
+ .requestMatchers(HttpMethod.OPTIONS, "/**").permitAll()
.requestMatchers(AUTH_WHITELIST).permitAll()
.anyRequest()
.authenticated()
@@ -66,11 +167,8 @@ public class SpringSecurityConfig {
.authenticationProvider(authenticationProvider)
.sessionManagement(session -> session.sessionCreationPolicy(STATELESS))
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
-
;
-
return http.build();
}
+}*/
-
-}
\ No newline at end of file
diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java
index 2451d05..adb55ee 100644
--- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java
+++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java
@@ -10,10 +10,14 @@ import io.gmss.fiscad.paylaods.dto.PersonneCompletDTO;
import io.gmss.fiscad.paylaods.request.RecherchePersonneResquestBody;
import io.gmss.fiscad.paylaods.request.crudweb.EnquetePayLoadWeb;
import io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb;
+import io.gmss.fiscad.security.CurrentUser;
+import io.gmss.fiscad.security.UserPrincipal;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@@ -37,9 +41,9 @@ public class PersonneController {
@PostMapping("/create")
public ResponseEntity> createPersonne(@RequestBody @Valid @Validated PersonnePayLoadWeb personnePayLoadWeb) {
try {
- Personne personne = personneService.createPersonne(personnePayLoadWeb);
+ personnePayLoadWeb = personneService.createPersonne(personnePayLoadWeb);
return new ResponseEntity<>(
- new ApiResponse<>(true, personne, "Contribuable créé avec succès."),
+ new ApiResponse<>(true, personnePayLoadWeb, "Contribuable créé avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -100,7 +104,7 @@ public class PersonneController {
@GetMapping("/id/{id}")
public ResponseEntity> getPersonneById(@PathVariable Long id) {
try{
- Optional optionalPersonne= personneService.getPersonneById(id);
+ Optional optionalPersonne= personneService.getPersonneById(id);
return new ResponseEntity<>(
new ApiResponse<>(true, optionalPersonne.orElse(null), "Personne retrouvée avec succès."),
HttpStatus.OK
@@ -128,4 +132,54 @@ public class PersonneController {
);
}
}
+
+
+ @GetMapping("/all")
+ public ResponseEntity> getAllPersonne() {
+ try {
+
+ return new ResponseEntity<>(
+ new ApiResponse<>(true, personneService.getPersonneList(), "Liste des personnes chargée avec succès."),
+ HttpStatus.OK
+ );
+ } catch (HttpClientErrorException.MethodNotAllowed e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
+ } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
+ FileStorageException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
+ } catch (NullPointerException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
+ }
+ }
+
+ @GetMapping("/all-paged")
+ public ResponseEntity> getAllPersonnePaged(@CurrentUser UserPrincipal currentUser,@RequestParam int pageNo, @RequestParam int pageSize) {
+ try {
+ Pageable pageable = PageRequest.of(pageNo, pageSize);
+
+ return new ResponseEntity<>(
+ new ApiResponse<>(true, personneService.getPersonneList(pageable), "Liste des personnes chargée avec succès."),
+ HttpStatus.OK
+ );
+ } catch (HttpClientErrorException.MethodNotAllowed e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
+ } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
+ FileStorageException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
+ } catch (NullPointerException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
+ }
+ }
}
diff --git a/src/main/java/io/gmss/fiscad/controllers/user/ProfileController.java b/src/main/java/io/gmss/fiscad/controllers/user/ProfileController.java
index 78be4ad..fcdf407 100755
--- a/src/main/java/io/gmss/fiscad/controllers/user/ProfileController.java
+++ b/src/main/java/io/gmss/fiscad/controllers/user/ProfileController.java
@@ -22,7 +22,7 @@ import org.springframework.web.client.HttpClientErrorException;
@RestController
-@RequestMapping(value = "api/profile", produces = MediaType.APPLICATION_JSON_VALUE)
+@RequestMapping(value = "api/profil", produces = MediaType.APPLICATION_JSON_VALUE)
@SecurityRequirement(name = "bearer")
@Tag(name = "Profile")
@CrossOrigin(origins = "*")
diff --git a/src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java b/src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java
index d98ad71..2d91809 100755
--- a/src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java
+++ b/src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java
@@ -4,5 +4,6 @@ public enum EtatIdentificationPersonne {
IFU,
NPI,
IFU_NPI,
- NEANT;
+ NEANT,
+ RFU;
}
diff --git a/src/main/java/io/gmss/fiscad/enums/Origine.java b/src/main/java/io/gmss/fiscad/enums/Origine.java
index c20a1eb..7ea4edf 100644
--- a/src/main/java/io/gmss/fiscad/enums/Origine.java
+++ b/src/main/java/io/gmss/fiscad/enums/Origine.java
@@ -2,8 +2,5 @@ package io.gmss.fiscad.enums;
public enum Origine {
WEB,
- MOBILE,
- SIGIBE,
- RFU_LOGIL,
- ANIP
+ MOBILE
}
diff --git a/src/main/java/io/gmss/fiscad/enums/ParametersType.java b/src/main/java/io/gmss/fiscad/enums/ParametersType.java
index 5ae184a..91815e9 100755
--- a/src/main/java/io/gmss/fiscad/enums/ParametersType.java
+++ b/src/main/java/io/gmss/fiscad/enums/ParametersType.java
@@ -11,5 +11,6 @@ public enum ParametersType {
OBJET_RESET_PASSWORD,
CORPS_RESET_PASSWORD,
OBJET_CREATE_ACCOUNT,
- CORPS_CREATE_ACCOUNT;
+ CORPS_CREATE_ACCOUNT,
+ TOKEN_IFU_EN_LIGNE ;
}
diff --git a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/PersonneServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/PersonneServiceImpl.java
index fb5609d..3a87de7 100644
--- a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/PersonneServiceImpl.java
+++ b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/PersonneServiceImpl.java
@@ -2,13 +2,17 @@ package io.gmss.fiscad.implementations.infocad.metier;
import io.gmss.fiscad.entities.infocad.parametre.*;
+import io.gmss.fiscad.enums.EtatIdentificationPersonne;
+import io.gmss.fiscad.enums.Origine;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.interfaces.infocad.metier.PersonneService;
import io.gmss.fiscad.paylaods.dto.*;
+import io.gmss.fiscad.paylaods.request.IfuEnLigneRechercheBody;
import io.gmss.fiscad.paylaods.request.RecherchePersonneResquestBody;
import io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb;
+import io.gmss.fiscad.paylaods.response.ifuenligne.IfuEnLigneContribuableResponse;
import io.gmss.fiscad.persistence.repositories.decoupage.CommuneRepository;
import io.gmss.fiscad.persistence.repositories.decoupage.NationaliteRepository;
import io.gmss.fiscad.persistence.repositories.infocad.metier.MembreGroupeRepository;
@@ -27,10 +31,12 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Optional;
-
+import java.time.ZoneId;
@Service
@RequiredArgsConstructor
public class PersonneServiceImpl implements PersonneService {
@@ -47,25 +53,17 @@ public class PersonneServiceImpl implements PersonneService {
private final EntityFromPayLoadService entityFromPayLoadService;
private final CallAPIService callAPIService;
+
@Override
- public Personne createPersonne(PersonnePayLoadWeb personnePayLoadWeb) throws BadRequestException {
-// Optional optionalTypePersonne = typePersonneRepository.findById(personnePayLoadWeb.getTypePersonneId());
-//
-// Optional optionalCommune = communeRepository.findById(personnePayLoadWeb.getCommuneId());
-//
-//
-// Optional optionalNationalite = nationaliteRepository.findById(personnePayLoadWeb.getNationaliteId());
-//
-// Optional optionalQuartier = situationMatrimonialeRepository.findById(personnePayLoadWeb.getSituationMatrimonialeId());
-//
-// Optional optionalProfession = professionRepository.findById(personnePayLoadWeb.getProfessionId());
-//
+ public PersonnePayLoadWeb createPersonne(PersonnePayLoadWeb personnePayLoadWeb) throws BadRequestException {
+
Personne personne = entityFromPayLoadService.getPersonneFromPayLoadWeb(personnePayLoadWeb);
- return personneRepository.save(personne);
+ personne =personneRepository.save(personne);
+ return personneRepository.findBypersonneId(personne.getId()).orElse(null);
}
@Override
- public Personne updatePersonne(Long id, PersonnePayLoadWeb personnePayLoadWeb) throws NotFoundException {
+ public PersonnePayLoadWeb updatePersonne(Long id, PersonnePayLoadWeb personnePayLoadWeb) throws NotFoundException {
if (personnePayLoadWeb.getId() == null) {
throw new BadRequestException("Impossible de mettre à jour une enquête ayant un id null.");
}
@@ -74,7 +72,8 @@ public class PersonneServiceImpl implements PersonneService {
}
Personne personne = entityFromPayLoadService.getPersonneFromPayLoadWeb(personnePayLoadWeb);
- return personneRepository.save(personne);
+ personne =personneRepository.save(personne);
+ return personneRepository.findBypersonneId(personne.getId()).orElse(null);
}
@Override
@@ -83,18 +82,18 @@ public class PersonneServiceImpl implements PersonneService {
}
@Override
- public Page getPersonneList(Pageable pageable) {
+ public Page getPersonneList(Pageable pageable) {
return null;
}
@Override
- public List getPersonneList() {
+ public List getPersonneList() {
return null;
}
@Override
- public Optional getPersonneById(Long id) {
- return personneRepository.findById(id);
+ public Optional getPersonneById(Long id) {
+ return personneRepository.findBypersonneId(id);
}
@Override
@@ -195,15 +194,118 @@ public class PersonneServiceImpl implements PersonneService {
);
}
+// @Override
+// public List recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody) {
+//
+//
+//
+// List personnePayLoadWebsRfuLoggil = new ArrayList<>();
+// personnePayLoadWebsRfuLoggil = recherchePersonneLocal(recherchePersonneResquestBody);
+//
+// try{
+//
+// LocalDate date = recherchePersonneResquestBody.getDateNaissance();
+// String dateNaissance = date != null
+// ? date.format(DateTimeFormatter.ISO_LOCAL_DATE)
+// : null;
+//
+// IfuEnLigneRechercheBody ifuEnLigneRechercheBody =new IfuEnLigneRechercheBody();
+// // ifuEnLigneRechercheBody.setIfu(recherchePersonneResquestBody.getIfu());
+// ifuEnLigneRechercheBody.setNom(recherchePersonneResquestBody.getNom());
+// ifuEnLigneRechercheBody.setPrenom(recherchePersonneResquestBody.getPrenom());
+// ifuEnLigneRechercheBody.setDateNaissance(dateNaissance);
+//
+// List ifuEnLigneContribuableResponses =callAPIService.callApiRechercheContribIfuEnLigne(ifuEnLigneRechercheBody);
+// System.out.println(ifuEnLigneContribuableResponses);
+// if(ifuEnLigneContribuableResponses!=null && !ifuEnLigneContribuableResponses.isEmpty()){
+// //List finalPersonnePayLoadWebsRfuLoggil = personnePayLoadWebsRfuLoggil;
+// ifuEnLigneContribuableResponses.forEach(ifuEnLigneContribuableResponse -> {
+// PersonnePayLoadWeb personnePayLoadWeb=new PersonnePayLoadWeb();
+// personnePayLoadWeb.setSource(Origine.SIGIBE);
+// personnePayLoadWeb.setNpi(ifuEnLigneContribuableResponse.getNpi());
+// personnePayLoadWeb.setIfu(ifuEnLigneContribuableResponse.getIfu());
+// personnePayLoadWeb.setNomMere(ifuEnLigneContribuableResponse.getMotherlastname());
+// personnePayLoadWeb.setNom(ifuEnLigneContribuableResponse.getLastname());
+// personnePayLoadWeb.setPrenom(ifuEnLigneContribuableResponse.getFirstname());
+// personnePayLoadWeb.setPrenomMere(ifuEnLigneContribuableResponse.getBjmotherfirstname());
+//
+// Date birthdate = ifuEnLigneContribuableResponse.getBirthdate();
+// LocalDate localDate = birthdate != null
+// ? birthdate.toInstant()
+// .atZone(ZoneId.systemDefault())
+// .toLocalDate()
+// : null;
+// personnePayLoadWeb.setDateNaissanceOuConsti(localDate);
+// personnePayLoadWeb.setTel1(ifuEnLigneContribuableResponse.getPhonenumber());
+// personnePayLoadWeb.setLieuNaissance(ifuEnLigneContribuableResponse.getBirthplace());
+// personnePayLoadWeb.setSexe(ifuEnLigneContribuableResponse.getSexe());
+//
+// personnePayLoadWebsRfuLoggil.add(personnePayLoadWeb);
+// });
+// }
+// }catch (Exception e){
+// e.printStackTrace();
+// }
+//
+// return personnePayLoadWebsRfuLoggil;
+// }
+
+
@Override
- public List recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody) {
- // callAPIService.callGetIfuEnLigneToken();
- List personnePayLoadWebsRfuLoggil = new ArrayList<>();
- personnePayLoadWebsRfuLoggil = recherchePersonneLocal(recherchePersonneResquestBody);
+ public List recherchePersonne(RecherchePersonneResquestBody request) {
+ List result = new ArrayList<>(
+ recherchePersonneLocal(request)
+ );
+ try {
+ // Conversion date en String format yyyy-MM-dd
+ String dateNaissance = Optional.ofNullable(request.getDateNaissance())
+ .map(d -> d.format(DateTimeFormatter.ISO_LOCAL_DATE))
+ .orElse(null);
+ // Construction du body IFU
+ IfuEnLigneRechercheBody ifuRequest = new IfuEnLigneRechercheBody();
+ ifuRequest.setNom(request.getNom());
+ ifuRequest.setPrenom(request.getPrenom());
+ ifuRequest.setDateNaissance(dateNaissance);
- return personnePayLoadWebsRfuLoggil;
+ List responses =
+ callAPIService.callApiRechercheContribIfuEnLigne(ifuRequest);
+
+ if (responses == null || responses.isEmpty()) {
+ return result;
+ }
+
+ for (IfuEnLigneContribuableResponse r : responses) {
+
+ PersonnePayLoadWeb personne = new PersonnePayLoadWeb();
+ personne.setEtatIdentificationPersonne(EtatIdentificationPersonne.IFU);
+ personne.setNpi(r.getNpi());
+ personne.setIfu(r.getIfu());
+ personne.setNomMere(r.getMotherlastname());
+ personne.setNom(r.getLastname());
+ personne.setPrenom(r.getFirstname());
+ personne.setPrenomMere(r.getBjmotherfirstname());
+ personne.setTel1(r.getPhonenumber());
+ personne.setLieuNaissance(r.getBirthplace());
+ personne.setSexe(r.getSexe());
+
+ // Conversion Date → LocalDate
+ Date birthdate = r.getBirthdate();
+ LocalDate localDate = birthdate != null
+ ? birthdate.toInstant()
+ .atZone(ZoneId.systemDefault())
+ .toLocalDate()
+ : null;
+ personne.setDateNaissanceOuConsti(localDate);
+ personne.setEtatIdentificationPersonne(EtatIdentificationPersonne.IFU);
+ result.add(personne);
+ }
+
+ } catch (Exception e) {
+ // logger.error("Erreur appel IFU EN LIGNE", e);
+ }
+ return result;
}
diff --git a/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/PersonneService.java b/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/PersonneService.java
index e0a2f0d..7eff463 100755
--- a/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/PersonneService.java
+++ b/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/PersonneService.java
@@ -14,17 +14,17 @@ import java.util.Optional;
public interface PersonneService {
- Personne createPersonne(PersonnePayLoadWeb personnePayLoadWeb) throws BadRequestException;
+ PersonnePayLoadWeb createPersonne(PersonnePayLoadWeb personnePayLoadWeb) throws BadRequestException;
- Personne updatePersonne(Long id, PersonnePayLoadWeb personnePayLoadWeb) throws NotFoundException;
+ PersonnePayLoadWeb updatePersonne(Long id, PersonnePayLoadWeb personnePayLoadWeb) throws NotFoundException;
void deletePersonne(Long id) throws NotFoundException;
- Page getPersonneList(Pageable pageable);
+ Page getPersonneList(Pageable pageable);
- List getPersonneList();
+ List getPersonneList();
- Optional getPersonneById(Long id);
+ Optional getPersonneById(Long id);
PersonneCompletDTO getPersonneComplete(Long id);
List recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody);
}
diff --git a/src/main/java/io/gmss/fiscad/paylaods/ApiResponse.java b/src/main/java/io/gmss/fiscad/paylaods/ApiResponse.java
index ee2a311..dce9a50 100755
--- a/src/main/java/io/gmss/fiscad/paylaods/ApiResponse.java
+++ b/src/main/java/io/gmss/fiscad/paylaods/ApiResponse.java
@@ -11,7 +11,7 @@ public class ApiResponse {
private boolean success;
private T object;
private String message;
-
+ private int statusCode;
public ApiResponse(boolean success, String message) {
this.success = success;
@@ -23,4 +23,9 @@ public class ApiResponse {
this.object = object;
}
+ public ApiResponse(boolean success, T object, String message) {
+ this.success = success;
+ this.object = object;
+ this.message = message;
+ }
}
diff --git a/src/main/java/io/gmss/fiscad/paylaods/request/IfuEnLigneRechercheBody.java b/src/main/java/io/gmss/fiscad/paylaods/request/IfuEnLigneRechercheBody.java
index 4b928ae..c2d7cfa 100644
--- a/src/main/java/io/gmss/fiscad/paylaods/request/IfuEnLigneRechercheBody.java
+++ b/src/main/java/io/gmss/fiscad/paylaods/request/IfuEnLigneRechercheBody.java
@@ -1,7 +1,13 @@
package io.gmss.fiscad.paylaods.request;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
public class IfuEnLigneRechercheBody {
- private String ifu;
+ // private String ifu;
private String nom;
private String prenom;
private String dateNaissance;
diff --git a/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/PersonnePayLoadWeb.java b/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/PersonnePayLoadWeb.java
index f6b03aa..0cbfc68 100644
--- a/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/PersonnePayLoadWeb.java
+++ b/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/PersonnePayLoadWeb.java
@@ -1,15 +1,17 @@
package io.gmss.fiscad.paylaods.request.crudweb;
import io.gmss.fiscad.enums.Categorie;
+import io.gmss.fiscad.enums.EtatIdentificationPersonne;
import io.gmss.fiscad.enums.Origine;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.Data;
+import lombok.NoArgsConstructor;
import org.hibernate.annotations.ColumnDefault;
import java.time.LocalDate;
-
+@NoArgsConstructor
@Data
public class PersonnePayLoadWeb {
private Long id;
@@ -46,9 +48,9 @@ public class PersonnePayLoadWeb {
private String indicatifTel2;
private String sexe;
@Enumerated(EnumType.STRING)
- private Origine source;
+ private EtatIdentificationPersonne etatIdentificationPersonne;
- public PersonnePayLoadWeb(Long id, String ifu, String nom, String prenom, String raisonSociale, String numRavip, String npi, LocalDate dateNaissanceOuConsti, String lieuNaissance, String tel1, String nomJeuneFille, String nomMere,Origine source) {
+ public PersonnePayLoadWeb(Long id, String ifu, String nom, String prenom, String raisonSociale, String numRavip, String npi, LocalDate dateNaissanceOuConsti, String lieuNaissance, String tel1, String nomJeuneFille, String nomMere,EtatIdentificationPersonne source) {
this.id = id;
this.ifu = ifu;
this.nom = nom;
@@ -61,6 +63,6 @@ public class PersonnePayLoadWeb {
this.tel1 = tel1;
this.nomJeuneFille = nomJeuneFille;
this.nomMere = nomMere;
- this.source = source;
+ this.etatIdentificationPersonne = source;
}
}
diff --git a/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneContribuableResponse.java b/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneContribuableResponse.java
new file mode 100644
index 0000000..def76ee
--- /dev/null
+++ b/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneContribuableResponse.java
@@ -0,0 +1,47 @@
+package io.gmss.fiscad.paylaods.response.ifuenligne;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class IfuEnLigneContribuableResponse {
+ private String npi;
+ private String ifu;
+
+ private String mothernpi;
+ private String motherlastname;
+ private String bjfatherlastname;
+ private String bjfatherfirstname;
+ private String bjmotherfirstname;
+ private String fathernpi;
+
+ private String lastname;
+ private String firstname;
+ private String maritalname;
+
+ private Date birthdate;
+
+ private String birthcountrycode;
+ private String birthdepartment;
+ private String birthtown;
+ private String birthdistrict;
+ private String birthvillage;
+ private String birthplace;
+
+ private String residencecountrycode;
+ private String residencedepartment;
+ private String residencetown;
+ private String residencedistrict;
+ private String residencevillage;
+ private String residenceaddress;
+
+ private String phonenumber;
+ private String email;
+ private String nationality;
+
+ private String sexe;
+
+ private String phonenumberindicatif;
+ private String idPhoto;
+}
diff --git a/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneLoginResponse.java b/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneLoginResponse.java
new file mode 100644
index 0000000..cfb2f15
--- /dev/null
+++ b/src/main/java/io/gmss/fiscad/paylaods/response/ifuenligne/IfuEnLigneLoginResponse.java
@@ -0,0 +1,9 @@
+package io.gmss.fiscad.paylaods.response.ifuenligne;
+
+import lombok.Data;
+
+@Data
+public class IfuEnLigneLoginResponse {
+ private String accessToken;
+ private String tokenType ;
+}
diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/infocad/parametre/PersonneRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/infocad/parametre/PersonneRepository.java
index cce74f9..6379f04 100755
--- a/src/main/java/io/gmss/fiscad/persistence/repositories/infocad/parametre/PersonneRepository.java
+++ b/src/main/java/io/gmss/fiscad/persistence/repositories/infocad/parametre/PersonneRepository.java
@@ -5,10 +5,13 @@ import io.gmss.fiscad.paylaods.request.crudweb.DeclarationNcPayloadWeb;
import io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb;
import io.gmss.fiscad.paylaods.response.statistique.StatistiqueTypeNombreResponse;
import io.gmss.fiscad.paylaods.response.restoration.PersonnePayLoad;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
+import javax.swing.text.html.Option;
import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
@@ -80,7 +83,7 @@ public interface PersonneRepository extends JpaRepository {
p.tel1,
p.nomJeuneFille,
p.nomMere,
- io.gmss.fiscad.enums.Origine.RFU_LOGIL
+ io.gmss.fiscad.enums.EtatIdentificationPersonne.RFU
)
FROM Personne p
WHERE
@@ -91,7 +94,7 @@ public interface PersonneRepository extends JpaRepository {
AND (:prenom IS NULL OR LOWER(trim(p.prenom)) LIKE (CONCAT('%', :prenom, '%')))
AND (:raisonSociale IS NULL OR LOWER(trim(p.raisonSociale)) LIKE (CONCAT('%', :raisonSociale, '%')))
AND (:nomMere IS NULL OR LOWER(trim(p.nomMere)) LIKE (CONCAT('%', :nomMere, '%')))
- AND (:dateNaissance IS NULL OR p.dateNaissanceOuConsti = :dateNaissance)
+ AND p.dateNaissanceOuConsti =COALESCE(:dateNaissance, p.dateNaissanceOuConsti)
"""
)
List findByFiltersInBaseIfuNpiCorrecte(
@@ -105,4 +108,82 @@ public interface PersonneRepository extends JpaRepository {
);
+ // AND (:dateNaissance IS NULL OR p.dateNaissanceOuConsti = :dateNaissance)
+
+
+ @Query( """
+ SELECT new io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb(
+ p.id,
+ p.ifu,
+ p.nom,
+ p.prenom,
+ p.raisonSociale,
+ p.numRavip,
+ p.npi,
+ p.dateNaissanceOuConsti,
+ p.lieuNaissance,
+ p.tel1,
+ p.nomJeuneFille,
+ p.nomMere,
+ p.etatIdentificationPersonne
+ )
+ FROM Personne p
+ WHERE p.id = :personneId
+
+ """
+ )
+ Optional findBypersonneId(
+ @Param("personneId") Long personneId
+ );
+
+
+ @Query( """
+ SELECT new io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb(
+ p.id,
+ p.ifu,
+ p.nom,
+ p.prenom,
+ p.raisonSociale,
+ p.numRavip,
+ p.npi,
+ p.dateNaissanceOuConsti,
+ p.lieuNaissance,
+ p.tel1,
+ p.nomJeuneFille,
+ p.nomMere,
+ p.etatIdentificationPersonne
+ )
+ FROM Personne p
+ """
+ )
+ List findAllPersonneToDto();
+
+ @Query(
+ value = """
+ SELECT new io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb(
+ p.id,
+ p.ifu,
+ p.nom,
+ p.prenom,
+ p.raisonSociale,
+ p.numRavip,
+ p.npi,
+ p.dateNaissanceOuConsti,
+ p.lieuNaissance,
+ p.tel1,
+ p.nomJeuneFille,
+ p.nomMere,
+ p.etatIdentificationPersonne
+ )
+ FROM Personne p
+ """,
+ countQuery = """
+ SELECT COUNT(p)
+ FROM Personne p
+ """
+ )
+ Page findAllPersonneToDto(Pageable pageable);
+
+
+
}
diff --git a/src/main/java/io/gmss/fiscad/service/CallAPIService.java b/src/main/java/io/gmss/fiscad/service/CallAPIService.java
index 212bdd0..26e49f2 100755
--- a/src/main/java/io/gmss/fiscad/service/CallAPIService.java
+++ b/src/main/java/io/gmss/fiscad/service/CallAPIService.java
@@ -1,27 +1,35 @@
package io.gmss.fiscad.service;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.gmss.fiscad.entities.Parameters;
+import io.gmss.fiscad.enums.ParametersType;
import io.gmss.fiscad.interfaces.ParametersRepository;
+import io.gmss.fiscad.paylaods.ApiResponse;
import io.gmss.fiscad.paylaods.request.IfuEnLigneLoginBoby;
import io.gmss.fiscad.paylaods.request.IfuEnLigneRechercheBody;
+import io.gmss.fiscad.paylaods.response.ifuenligne.IfuEnLigneContribuableResponse;
+import io.gmss.fiscad.paylaods.response.ifuenligne.IfuEnLigneLoginResponse;
import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.server.MethodNotAllowedException;
import java.util.List;
+import java.util.Optional;
@Service
public class CallAPIService {
-
+ @Autowired
+ private RestTemplate restTemplate ;
private static final Logger logger = LoggerFactory.getLogger(CallAPIService.class);
@@ -34,10 +42,11 @@ public class CallAPIService {
private String ifuEnLigneUserName;
@Value("${ifu-en-ligne.api.password}")
private String ifuEnLignePassWord;
- private String ifuEnLigneToken ;
+ private String ifuEnLigneToken=null ;
public RestTemplate executeRestemplate(String localTokenName,String accessToken){
RestTemplate restTemplate = new RestTemplateBuilder(rt-> rt.getInterceptors().add((request, body, execution) -> {
+
if(localTokenName!=null) {
request.getHeaders().add(localTokenName, accessToken);
}
@@ -48,37 +57,69 @@ public class CallAPIService {
return restTemplate;
}
- public String callGetIfuEnLigneToken(){
- try {
- String url = ifuEnLigneBaseUrl+"/api/auth/signin" ;
- IfuEnLigneLoginBoby ifuEnLigneLoginBoby=new IfuEnLigneLoginBoby();
- ifuEnLigneLoginBoby.setUsernameOrEmail(ifuEnLigneUserName);
- ifuEnLigneLoginBoby.setPassword(ifuEnLignePassWord);
- System.out.println("JE SUIS DANS LE CALL API : "+url);
- HttpEntity request = new HttpEntity<>(ifuEnLigneLoginBoby);
+// public RestTemplate executeRestemplate(String accessToken) {
+//
+// RestTemplate restTemplate = new RestTemplate();
+//
+// restTemplate.getInterceptors().add((request, body, execution) -> {
+// System.out.println("LE TOKEN dans execute");
+// System.out.println(accessToken);
+// if (accessToken != null && !accessToken.isBlank()) {
+// request.getHeaders().setBearerAuth(accessToken);
+// }
+//
+// request.getHeaders().setAccept(List.of(MediaType.APPLICATION_JSON));
+// request.getHeaders().setContentType(MediaType.APPLICATION_JSON);
+//
+// return execution.execute(request, body);
+// });
+//
+// return restTemplate;
+// }
+
+
+
+ public IfuEnLigneLoginResponse callGetIfuEnLigneToken() {
+
+ try {
+
+ String url = ifuEnLigneBaseUrl + "api/auth/signin";
+
+ IfuEnLigneLoginBoby body = new IfuEnLigneLoginBoby();
+ body.setUsernameOrEmail(ifuEnLigneUserName);
+ body.setPassword(ifuEnLignePassWord);
+
+ HttpHeaders headers = new HttpHeaders();
+ headers.setBearerAuth(ifuEnLigneToken);
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ headers.setAccept(List.of(MediaType.APPLICATION_JSON));
+
+ HttpEntity request =
+ new HttpEntity<>(body, headers);
+
RestTemplate restTemplate = executeRestemplate(null, null);
- ResponseEntity response = restTemplate.postForEntity(url, request, String.class);
- if(response.getStatusCodeValue()==200){
- return response.getBody() ;
- }else{
- System.out.println(response.getStatusCodeValue());
+ ResponseEntity response =
+ restTemplate.exchange(
+ url,
+ HttpMethod.POST,
+ request,
+ IfuEnLigneLoginResponse.class
+ );
- // sygmApiResponse.setStatut(false);
-
-// sygmApiResponse.setMessage("HttpStatus "+response.getStatusCodeValue()+" --- "
-// +response.getBody().toString());
-// return sygmApiResponse;
- return null;
+ if (response.getStatusCode().is2xxSuccessful()) {
+ return response.getBody();
}
- }catch (Exception e ){
- System.out.println("IFU EN LIGNE : "+e.getMessage()) ;
- e.printStackTrace();
- //throw new Exception(e.getMessage()) ;
- return null;
+
+ throw new RuntimeException("Erreur IFU : " + response.getStatusCode());
+
+ } catch (Exception e) {
+
+ throw new RuntimeException("IFU EN LIGNE ERREUR : " + e.getMessage(), e);
}
- }
+ }
+
@@ -107,32 +148,105 @@ public class CallAPIService {
// }
- public void callApiRechercheContribIfuEnLigne(IfuEnLigneRechercheBody ifuEnLigneRechercheBody) {
+// public void callApiRechercheContribIfuEnLigne(IfuEnLigneRechercheBody ifuEnLigneRechercheBody) {
+// try {
+// String url = ifuEnLigneBaseUrl+"/api/contribuable/fiscad";
+// //ApiResponse
+// RestTemplate restTemplate = executeRestemplate("Authorization",ifuEnLigneToken);
+// ResponseEntity> response = restTemplate.getForEntity(url,ifuEnLigneRechercheBody, IfuEnLigneContribuableResponse.class);
+// if(response.getStatusCode().value()==200){
+// System.out.println(response.getBody());
+// }
+// } catch (
+// MethodNotAllowedException ex) {
+// logger.error(ex.toString());
+// //return new ResponseEntity(null, HttpStatus.METHOD_NOT_ALLOWED);
+// } catch (Exception e) {
+// logger.error(e.toString());
+// // return new ResponseEntity(null, HttpStatus.INTERNAL_SERVER_ERROR);
+// }
+// }
+
+
+ public List callApiRechercheContribIfuEnLigne(
+ IfuEnLigneRechercheBody requestBody) {
+
+ ensureToken();
+
+ String url = ifuEnLigneBaseUrl + "/api/contribuable/fiscad";
+
+ HttpHeaders headers = new HttpHeaders();
+ headers.setBearerAuth(ifuEnLigneToken);
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ headers.setAccept(List.of(MediaType.APPLICATION_JSON));
+
+ HttpEntity httpEntity= new HttpEntity<>(requestBody,headers);
+
+ System.out.println(httpEntity.getBody());
+
+ System.out.println("BODY SENT:"+ requestBody);
+
+ ObjectMapper mapper = new ObjectMapper();
try {
- String url = ifuEnLigneBaseUrl+"/api/contribuable/fiscad";
- String token = callGetIfuEnLigneToken();
- RestTemplate restTemplate = executeRestemplate(null,null);
- ResponseEntity response = restTemplate.getForEntity(url, String.class);
- if(response.getStatusCode().value()==200){
- System.out.println(response.getBody());
- }
- } catch (
- MethodNotAllowedException ex) {
- logger.error(ex.toString());
- //return new ResponseEntity(null, HttpStatus.METHOD_NOT_ALLOWED);
- } catch (Exception e) {
- logger.error(e.toString());
- // return new ResponseEntity(null, HttpStatus.INTERNAL_SERVER_ERROR);
+ System.out.println("JSON REAL SENT = " + mapper.writeValueAsString(requestBody));
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
}
+
+ ResponseEntity>> response =
+ restTemplate.exchange(
+ url,
+ HttpMethod.POST,
+ httpEntity,
+ new ParameterizedTypeReference<>() {}
+ );
+
+ ApiResponse> body = response.getBody();
+
+ if (body == null) {
+ throw new RuntimeException("Réponse API IFU vide");
+ }
+
+ if (!body.isSuccess()) {
+ throw new RuntimeException("API IFU erreur : " + body.getMessage());
+ }
+
+ return body.getObject();
}
- @PostConstruct
- public void init(){
+ // @PostConstruct
+ private synchronized void ensureToken() {
+
+ if (ifuEnLigneToken != null && !ifuEnLigneToken.isBlank()) {
+ return;
+ }
+
+ Optional optional =
+ parametersRepository.findFirstByName(ParametersType.TOKEN_IFU_EN_LIGNE);
+
+ if (optional.isPresent()) {
+ ifuEnLigneToken = optional.get().getValue();
+ return;
+ }
+
+ IfuEnLigneLoginResponse loginResponse = callGetIfuEnLigneToken();
+
+ if (loginResponse == null || loginResponse.getAccessToken() == null) {
+ throw new RuntimeException("Impossible d'obtenir le token IFU");
+ }
+
+ ifuEnLigneToken = loginResponse.getAccessToken();
+
+ Parameters parameters = new Parameters();
+ parameters.setName(ParametersType.TOKEN_IFU_EN_LIGNE);
+ parameters.setValue(ifuEnLigneToken);
+ parametersRepository.save(parameters);
}
+
}
diff --git a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java
index 30b0bc7..2644d9c 100644
--- a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java
+++ b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java
@@ -496,6 +496,7 @@ public class EntityFromPayLoadService {
personne.setNumRavip(personnePayLoadWeb.getNumRavip());
personne.setObservation(personnePayLoadWeb.getObservation());
personne.setSexe(personnePayLoadWeb.getSexe());
+ personne.setEtatIdentificationPersonne(personnePayLoadWeb.getEtatIdentificationPersonne());
return personne ;
}
diff --git a/uploads/._ATD SIGIBE-1.png b/uploads/._ATD SIGIBE-1.png
deleted file mode 100644
index 5a5aec8..0000000
Binary files a/uploads/._ATD SIGIBE-1.png and /dev/null differ
diff --git a/uploads/._ATD SIGIBE.png b/uploads/._ATD SIGIBE.png
deleted file mode 100644
index 5a5aec8..0000000
Binary files a/uploads/._ATD SIGIBE.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.33.55-1.png b/uploads/._Capture d’écran 2024-03-22 à 12.33.55-1.png
deleted file mode 100644
index d4901ed..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.33.55-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.33.55.png b/uploads/._Capture d’écran 2024-03-22 à 12.33.55.png
deleted file mode 100644
index d4901ed..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.33.55.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.50.55-1.png b/uploads/._Capture d’écran 2024-03-22 à 12.50.55-1.png
deleted file mode 100644
index 5bbcb7a..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.50.55-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.50.55.png b/uploads/._Capture d’écran 2024-03-22 à 12.50.55.png
deleted file mode 100644
index 5bbcb7a..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.50.55.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.52.09-1.png b/uploads/._Capture d’écran 2024-03-22 à 12.52.09-1.png
deleted file mode 100644
index 6626bae..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.52.09-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-22 à 12.52.09.png b/uploads/._Capture d’écran 2024-03-22 à 12.52.09.png
deleted file mode 100644
index 6626bae..0000000
Binary files a/uploads/._Capture d’écran 2024-03-22 à 12.52.09.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-25 à 10.47.36-1.png b/uploads/._Capture d’écran 2024-03-25 à 10.47.36-1.png
deleted file mode 100644
index 79c0805..0000000
Binary files a/uploads/._Capture d’écran 2024-03-25 à 10.47.36-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-03-25 à 10.47.36.png b/uploads/._Capture d’écran 2024-03-25 à 10.47.36.png
deleted file mode 100644
index 79c0805..0000000
Binary files a/uploads/._Capture d’écran 2024-03-25 à 10.47.36.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-09 à 18.29.17-1.png b/uploads/._Capture d’écran 2024-04-09 à 18.29.17-1.png
deleted file mode 100644
index b8e50e3..0000000
Binary files a/uploads/._Capture d’écran 2024-04-09 à 18.29.17-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-09 à 18.29.17.png b/uploads/._Capture d’écran 2024-04-09 à 18.29.17.png
deleted file mode 100644
index b8e50e3..0000000
Binary files a/uploads/._Capture d’écran 2024-04-09 à 18.29.17.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-09 à 18.29.43-1.png b/uploads/._Capture d’écran 2024-04-09 à 18.29.43-1.png
deleted file mode 100644
index c08e4e0..0000000
Binary files a/uploads/._Capture d’écran 2024-04-09 à 18.29.43-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-09 à 18.29.43.png b/uploads/._Capture d’écran 2024-04-09 à 18.29.43.png
deleted file mode 100644
index c08e4e0..0000000
Binary files a/uploads/._Capture d’écran 2024-04-09 à 18.29.43.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.18.22-1.png b/uploads/._Capture d’écran 2024-04-16 à 23.18.22-1.png
deleted file mode 100644
index ffe5212..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.18.22-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.18.22.png b/uploads/._Capture d’écran 2024-04-16 à 23.18.22.png
deleted file mode 100644
index ffe5212..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.18.22.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.23.07-1.png b/uploads/._Capture d’écran 2024-04-16 à 23.23.07-1.png
deleted file mode 100644
index 69ddf34..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.23.07-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.23.07.png b/uploads/._Capture d’écran 2024-04-16 à 23.23.07.png
deleted file mode 100644
index 69ddf34..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.23.07.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.28.53-1.png b/uploads/._Capture d’écran 2024-04-16 à 23.28.53-1.png
deleted file mode 100644
index 07ecd73..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.28.53-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-16 à 23.28.53.png b/uploads/._Capture d’écran 2024-04-16 à 23.28.53.png
deleted file mode 100644
index 07ecd73..0000000
Binary files a/uploads/._Capture d’écran 2024-04-16 à 23.28.53.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-19 à 11.39.47-1.png b/uploads/._Capture d’écran 2024-04-19 à 11.39.47-1.png
deleted file mode 100644
index 43ff6b5..0000000
Binary files a/uploads/._Capture d’écran 2024-04-19 à 11.39.47-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-19 à 11.39.47.png b/uploads/._Capture d’écran 2024-04-19 à 11.39.47.png
deleted file mode 100644
index 43ff6b5..0000000
Binary files a/uploads/._Capture d’écran 2024-04-19 à 11.39.47.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-19 à 13.22.58-1.png b/uploads/._Capture d’écran 2024-04-19 à 13.22.58-1.png
deleted file mode 100644
index acf26f0..0000000
Binary files a/uploads/._Capture d’écran 2024-04-19 à 13.22.58-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-19 à 13.22.58.png b/uploads/._Capture d’écran 2024-04-19 à 13.22.58.png
deleted file mode 100644
index acf26f0..0000000
Binary files a/uploads/._Capture d’écran 2024-04-19 à 13.22.58.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-25 à 10.52.53-1.png b/uploads/._Capture d’écran 2024-04-25 à 10.52.53-1.png
deleted file mode 100644
index 30b6948..0000000
Binary files a/uploads/._Capture d’écran 2024-04-25 à 10.52.53-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-04-25 à 10.52.53.png b/uploads/._Capture d’écran 2024-04-25 à 10.52.53.png
deleted file mode 100644
index 30b6948..0000000
Binary files a/uploads/._Capture d’écran 2024-04-25 à 10.52.53.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-05-22 à 13.55.18-1.png b/uploads/._Capture d’écran 2024-05-22 à 13.55.18-1.png
deleted file mode 100644
index e3e1e5d..0000000
Binary files a/uploads/._Capture d’écran 2024-05-22 à 13.55.18-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-05-22 à 13.55.18.png b/uploads/._Capture d’écran 2024-05-22 à 13.55.18.png
deleted file mode 100644
index e3e1e5d..0000000
Binary files a/uploads/._Capture d’écran 2024-05-22 à 13.55.18.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-17 à 20.10.57-1.png b/uploads/._Capture d’écran 2024-06-17 à 20.10.57-1.png
deleted file mode 100644
index c339808..0000000
Binary files a/uploads/._Capture d’écran 2024-06-17 à 20.10.57-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-17 à 20.10.57.png b/uploads/._Capture d’écran 2024-06-17 à 20.10.57.png
deleted file mode 100644
index c339808..0000000
Binary files a/uploads/._Capture d’écran 2024-06-17 à 20.10.57.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-18 à 14.32.03-1.png b/uploads/._Capture d’écran 2024-06-18 à 14.32.03-1.png
deleted file mode 100644
index aa6b505..0000000
Binary files a/uploads/._Capture d’écran 2024-06-18 à 14.32.03-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-18 à 14.32.03.png b/uploads/._Capture d’écran 2024-06-18 à 14.32.03.png
deleted file mode 100644
index aa6b505..0000000
Binary files a/uploads/._Capture d’écran 2024-06-18 à 14.32.03.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-18 à 14.40.25-1.png b/uploads/._Capture d’écran 2024-06-18 à 14.40.25-1.png
deleted file mode 100644
index 8999c80..0000000
Binary files a/uploads/._Capture d’écran 2024-06-18 à 14.40.25-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-18 à 14.40.25.png b/uploads/._Capture d’écran 2024-06-18 à 14.40.25.png
deleted file mode 100644
index 8999c80..0000000
Binary files a/uploads/._Capture d’écran 2024-06-18 à 14.40.25.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-23 à 16.49.53-1.png b/uploads/._Capture d’écran 2024-06-23 à 16.49.53-1.png
deleted file mode 100644
index 5711a1f..0000000
Binary files a/uploads/._Capture d’écran 2024-06-23 à 16.49.53-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-23 à 16.49.53.png b/uploads/._Capture d’écran 2024-06-23 à 16.49.53.png
deleted file mode 100644
index 5711a1f..0000000
Binary files a/uploads/._Capture d’écran 2024-06-23 à 16.49.53.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-27 à 16.00.10-1.png b/uploads/._Capture d’écran 2024-06-27 à 16.00.10-1.png
deleted file mode 100644
index 5480784..0000000
Binary files a/uploads/._Capture d’écran 2024-06-27 à 16.00.10-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-27 à 16.00.10.png b/uploads/._Capture d’écran 2024-06-27 à 16.00.10.png
deleted file mode 100644
index 5480784..0000000
Binary files a/uploads/._Capture d’écran 2024-06-27 à 16.00.10.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-28 à 12.21.48-1.png b/uploads/._Capture d’écran 2024-06-28 à 12.21.48-1.png
deleted file mode 100644
index 829c186..0000000
Binary files a/uploads/._Capture d’écran 2024-06-28 à 12.21.48-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-28 à 12.21.48.png b/uploads/._Capture d’écran 2024-06-28 à 12.21.48.png
deleted file mode 100644
index 829c186..0000000
Binary files a/uploads/._Capture d’écran 2024-06-28 à 12.21.48.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-28 à 13.49.50-1.png b/uploads/._Capture d’écran 2024-06-28 à 13.49.50-1.png
deleted file mode 100644
index 266b52a..0000000
Binary files a/uploads/._Capture d’écran 2024-06-28 à 13.49.50-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-06-28 à 13.49.50.png b/uploads/._Capture d’écran 2024-06-28 à 13.49.50.png
deleted file mode 100644
index 266b52a..0000000
Binary files a/uploads/._Capture d’écran 2024-06-28 à 13.49.50.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-11 à 19.22.51-1.png b/uploads/._Capture d’écran 2024-07-11 à 19.22.51-1.png
deleted file mode 100644
index b0d6e01..0000000
Binary files a/uploads/._Capture d’écran 2024-07-11 à 19.22.51-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-11 à 19.22.51.png b/uploads/._Capture d’écran 2024-07-11 à 19.22.51.png
deleted file mode 100644
index b0d6e01..0000000
Binary files a/uploads/._Capture d’écran 2024-07-11 à 19.22.51.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-25 à 15.52.34-1.png b/uploads/._Capture d’écran 2024-07-25 à 15.52.34-1.png
deleted file mode 100644
index e08022a..0000000
Binary files a/uploads/._Capture d’écran 2024-07-25 à 15.52.34-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-25 à 15.52.34.png b/uploads/._Capture d’écran 2024-07-25 à 15.52.34.png
deleted file mode 100644
index e08022a..0000000
Binary files a/uploads/._Capture d’écran 2024-07-25 à 15.52.34.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-25 à 15.53.06-1.png b/uploads/._Capture d’écran 2024-07-25 à 15.53.06-1.png
deleted file mode 100644
index 405eb0c..0000000
Binary files a/uploads/._Capture d’écran 2024-07-25 à 15.53.06-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-07-25 à 15.53.06.png b/uploads/._Capture d’écran 2024-07-25 à 15.53.06.png
deleted file mode 100644
index 405eb0c..0000000
Binary files a/uploads/._Capture d’écran 2024-07-25 à 15.53.06.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-02 à 11.04.00-1.png b/uploads/._Capture d’écran 2024-08-02 à 11.04.00-1.png
deleted file mode 100644
index 91f0510..0000000
Binary files a/uploads/._Capture d’écran 2024-08-02 à 11.04.00-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-02 à 11.04.00.png b/uploads/._Capture d’écran 2024-08-02 à 11.04.00.png
deleted file mode 100644
index 91f0510..0000000
Binary files a/uploads/._Capture d’écran 2024-08-02 à 11.04.00.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-14 à 16.51.47-1.png b/uploads/._Capture d’écran 2024-08-14 à 16.51.47-1.png
deleted file mode 100644
index 8bb02e6..0000000
Binary files a/uploads/._Capture d’écran 2024-08-14 à 16.51.47-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-14 à 16.51.47.png b/uploads/._Capture d’écran 2024-08-14 à 16.51.47.png
deleted file mode 100644
index 8bb02e6..0000000
Binary files a/uploads/._Capture d’écran 2024-08-14 à 16.51.47.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-14 à 17.54.15-1.png b/uploads/._Capture d’écran 2024-08-14 à 17.54.15-1.png
deleted file mode 100644
index 7442ff0..0000000
Binary files a/uploads/._Capture d’écran 2024-08-14 à 17.54.15-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-14 à 17.54.15.png b/uploads/._Capture d’écran 2024-08-14 à 17.54.15.png
deleted file mode 100644
index 7442ff0..0000000
Binary files a/uploads/._Capture d’écran 2024-08-14 à 17.54.15.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-19 à 09.55.21-1.png b/uploads/._Capture d’écran 2024-08-19 à 09.55.21-1.png
deleted file mode 100644
index e5bf481..0000000
Binary files a/uploads/._Capture d’écran 2024-08-19 à 09.55.21-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-19 à 09.55.21.png b/uploads/._Capture d’écran 2024-08-19 à 09.55.21.png
deleted file mode 100644
index e5bf481..0000000
Binary files a/uploads/._Capture d’écran 2024-08-19 à 09.55.21.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 13.38.08-1.png b/uploads/._Capture d’écran 2024-08-23 à 13.38.08-1.png
deleted file mode 100644
index 9600570..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 13.38.08-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 13.38.08.png b/uploads/._Capture d’écran 2024-08-23 à 13.38.08.png
deleted file mode 100644
index 9600570..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 13.38.08.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 13.38.28-1.png b/uploads/._Capture d’écran 2024-08-23 à 13.38.28-1.png
deleted file mode 100644
index 42ecbe6..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 13.38.28-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 13.38.28.png b/uploads/._Capture d’écran 2024-08-23 à 13.38.28.png
deleted file mode 100644
index 42ecbe6..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 13.38.28.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 14.01.57-1.png b/uploads/._Capture d’écran 2024-08-23 à 14.01.57-1.png
deleted file mode 100644
index 1f9d668..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 14.01.57-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-23 à 14.01.57.png b/uploads/._Capture d’écran 2024-08-23 à 14.01.57.png
deleted file mode 100644
index 1f9d668..0000000
Binary files a/uploads/._Capture d’écran 2024-08-23 à 14.01.57.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-26 à 23.56.22-1.png b/uploads/._Capture d’écran 2024-08-26 à 23.56.22-1.png
deleted file mode 100644
index c721729..0000000
Binary files a/uploads/._Capture d’écran 2024-08-26 à 23.56.22-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-08-26 à 23.56.22.png b/uploads/._Capture d’écran 2024-08-26 à 23.56.22.png
deleted file mode 100644
index c721729..0000000
Binary files a/uploads/._Capture d’écran 2024-08-26 à 23.56.22.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-04 à 10.50.55-1.png b/uploads/._Capture d’écran 2024-09-04 à 10.50.55-1.png
deleted file mode 100644
index 4301019..0000000
Binary files a/uploads/._Capture d’écran 2024-09-04 à 10.50.55-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-04 à 10.50.55.png b/uploads/._Capture d’écran 2024-09-04 à 10.50.55.png
deleted file mode 100644
index 4301019..0000000
Binary files a/uploads/._Capture d’écran 2024-09-04 à 10.50.55.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-04 à 10.55.04-1.png b/uploads/._Capture d’écran 2024-09-04 à 10.55.04-1.png
deleted file mode 100644
index 563e896..0000000
Binary files a/uploads/._Capture d’écran 2024-09-04 à 10.55.04-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-04 à 10.55.04.png b/uploads/._Capture d’écran 2024-09-04 à 10.55.04.png
deleted file mode 100644
index 563e896..0000000
Binary files a/uploads/._Capture d’écran 2024-09-04 à 10.55.04.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.31.22-1.png b/uploads/._Capture d’écran 2024-09-10 à 11.31.22-1.png
deleted file mode 100644
index 6e381e6..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.31.22-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.31.22.png b/uploads/._Capture d’écran 2024-09-10 à 11.31.22.png
deleted file mode 100644
index 6e381e6..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.31.22.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.34.24-1.png b/uploads/._Capture d’écran 2024-09-10 à 11.34.24-1.png
deleted file mode 100644
index 7e55381..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.34.24-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.34.24.png b/uploads/._Capture d’écran 2024-09-10 à 11.34.24.png
deleted file mode 100644
index 7e55381..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.34.24.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.39.44-1.png b/uploads/._Capture d’écran 2024-09-10 à 11.39.44-1.png
deleted file mode 100644
index f697018..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.39.44-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 11.39.44.png b/uploads/._Capture d’écran 2024-09-10 à 11.39.44.png
deleted file mode 100644
index f697018..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 11.39.44.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 13.07.36-1.png b/uploads/._Capture d’écran 2024-09-10 à 13.07.36-1.png
deleted file mode 100644
index 96188ae..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 13.07.36-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-10 à 13.07.36.png b/uploads/._Capture d’écran 2024-09-10 à 13.07.36.png
deleted file mode 100644
index 96188ae..0000000
Binary files a/uploads/._Capture d’écran 2024-09-10 à 13.07.36.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-18 à 13.07.22-1.png b/uploads/._Capture d’écran 2024-09-18 à 13.07.22-1.png
deleted file mode 100644
index c23c8ab..0000000
Binary files a/uploads/._Capture d’écran 2024-09-18 à 13.07.22-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-18 à 13.07.22.png b/uploads/._Capture d’écran 2024-09-18 à 13.07.22.png
deleted file mode 100644
index c23c8ab..0000000
Binary files a/uploads/._Capture d’écran 2024-09-18 à 13.07.22.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-26 à 19.22.52-1.png b/uploads/._Capture d’écran 2024-09-26 à 19.22.52-1.png
deleted file mode 100644
index 78c0def..0000000
Binary files a/uploads/._Capture d’écran 2024-09-26 à 19.22.52-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-26 à 19.22.52.png b/uploads/._Capture d’écran 2024-09-26 à 19.22.52.png
deleted file mode 100644
index 78c0def..0000000
Binary files a/uploads/._Capture d’écran 2024-09-26 à 19.22.52.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-30 à 18.02.08-1.png b/uploads/._Capture d’écran 2024-09-30 à 18.02.08-1.png
deleted file mode 100644
index adcbd9e..0000000
Binary files a/uploads/._Capture d’écran 2024-09-30 à 18.02.08-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-09-30 à 18.02.08.png b/uploads/._Capture d’écran 2024-09-30 à 18.02.08.png
deleted file mode 100644
index adcbd9e..0000000
Binary files a/uploads/._Capture d’écran 2024-09-30 à 18.02.08.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-10-16 à 11.12.01-1.png b/uploads/._Capture d’écran 2024-10-16 à 11.12.01-1.png
deleted file mode 100644
index 41f2e33..0000000
Binary files a/uploads/._Capture d’écran 2024-10-16 à 11.12.01-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-10-16 à 11.12.01.png b/uploads/._Capture d’écran 2024-10-16 à 11.12.01.png
deleted file mode 100644
index 41f2e33..0000000
Binary files a/uploads/._Capture d’écran 2024-10-16 à 11.12.01.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-10-26 à 16.34.28-1.png b/uploads/._Capture d’écran 2024-10-26 à 16.34.28-1.png
deleted file mode 100644
index 75b50be..0000000
Binary files a/uploads/._Capture d’écran 2024-10-26 à 16.34.28-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-10-26 à 16.34.28.png b/uploads/._Capture d’écran 2024-10-26 à 16.34.28.png
deleted file mode 100644
index 75b50be..0000000
Binary files a/uploads/._Capture d’écran 2024-10-26 à 16.34.28.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-05 à 00.01.54-1.png b/uploads/._Capture d’écran 2024-11-05 à 00.01.54-1.png
deleted file mode 100644
index fa911ec..0000000
Binary files a/uploads/._Capture d’écran 2024-11-05 à 00.01.54-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-05 à 00.01.54.png b/uploads/._Capture d’écran 2024-11-05 à 00.01.54.png
deleted file mode 100644
index fa911ec..0000000
Binary files a/uploads/._Capture d’écran 2024-11-05 à 00.01.54.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-08 à 18.32.31-1.png b/uploads/._Capture d’écran 2024-11-08 à 18.32.31-1.png
deleted file mode 100644
index 55f3f36..0000000
Binary files a/uploads/._Capture d’écran 2024-11-08 à 18.32.31-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-08 à 18.32.31.png b/uploads/._Capture d’écran 2024-11-08 à 18.32.31.png
deleted file mode 100644
index 55f3f36..0000000
Binary files a/uploads/._Capture d’écran 2024-11-08 à 18.32.31.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-08 à 18.40.58-1.png b/uploads/._Capture d’écran 2024-11-08 à 18.40.58-1.png
deleted file mode 100644
index b1bf8eb..0000000
Binary files a/uploads/._Capture d’écran 2024-11-08 à 18.40.58-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-08 à 18.40.58.png b/uploads/._Capture d’écran 2024-11-08 à 18.40.58.png
deleted file mode 100644
index b1bf8eb..0000000
Binary files a/uploads/._Capture d’écran 2024-11-08 à 18.40.58.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-11 à 10.06.29-1.png b/uploads/._Capture d’écran 2024-11-11 à 10.06.29-1.png
deleted file mode 100644
index 78a7e6d..0000000
Binary files a/uploads/._Capture d’écran 2024-11-11 à 10.06.29-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-11 à 10.06.29.png b/uploads/._Capture d’écran 2024-11-11 à 10.06.29.png
deleted file mode 100644
index 78a7e6d..0000000
Binary files a/uploads/._Capture d’écran 2024-11-11 à 10.06.29.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-15 à 12.02.55-1.png b/uploads/._Capture d’écran 2024-11-15 à 12.02.55-1.png
deleted file mode 100644
index 28d69de..0000000
Binary files a/uploads/._Capture d’écran 2024-11-15 à 12.02.55-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-15 à 12.02.55.png b/uploads/._Capture d’écran 2024-11-15 à 12.02.55.png
deleted file mode 100644
index 28d69de..0000000
Binary files a/uploads/._Capture d’écran 2024-11-15 à 12.02.55.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-21 à 14.45.29-1.png b/uploads/._Capture d’écran 2024-11-21 à 14.45.29-1.png
deleted file mode 100644
index 8ac0d92..0000000
Binary files a/uploads/._Capture d’écran 2024-11-21 à 14.45.29-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-21 à 14.45.29.png b/uploads/._Capture d’écran 2024-11-21 à 14.45.29.png
deleted file mode 100644
index 8ac0d92..0000000
Binary files a/uploads/._Capture d’écran 2024-11-21 à 14.45.29.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-23 à 10.16.55-1.png b/uploads/._Capture d’écran 2024-11-23 à 10.16.55-1.png
deleted file mode 100644
index f50a9de..0000000
Binary files a/uploads/._Capture d’écran 2024-11-23 à 10.16.55-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-23 à 10.16.55.png b/uploads/._Capture d’écran 2024-11-23 à 10.16.55.png
deleted file mode 100644
index f50a9de..0000000
Binary files a/uploads/._Capture d’écran 2024-11-23 à 10.16.55.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-23 à 11.10.13-1.png b/uploads/._Capture d’écran 2024-11-23 à 11.10.13-1.png
deleted file mode 100644
index b39ee6d..0000000
Binary files a/uploads/._Capture d’écran 2024-11-23 à 11.10.13-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-11-23 à 11.10.13.png b/uploads/._Capture d’écran 2024-11-23 à 11.10.13.png
deleted file mode 100644
index b39ee6d..0000000
Binary files a/uploads/._Capture d’écran 2024-11-23 à 11.10.13.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-11 à 14.28.35-1.png b/uploads/._Capture d’écran 2024-12-11 à 14.28.35-1.png
deleted file mode 100644
index e1baed8..0000000
Binary files a/uploads/._Capture d’écran 2024-12-11 à 14.28.35-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-11 à 14.28.35.png b/uploads/._Capture d’écran 2024-12-11 à 14.28.35.png
deleted file mode 100644
index e1baed8..0000000
Binary files a/uploads/._Capture d’écran 2024-12-11 à 14.28.35.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-14 à 11.24.42-1.png b/uploads/._Capture d’écran 2024-12-14 à 11.24.42-1.png
deleted file mode 100644
index 390d161..0000000
Binary files a/uploads/._Capture d’écran 2024-12-14 à 11.24.42-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-14 à 11.24.42.png b/uploads/._Capture d’écran 2024-12-14 à 11.24.42.png
deleted file mode 100644
index 390d161..0000000
Binary files a/uploads/._Capture d’écran 2024-12-14 à 11.24.42.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-19 à 20.50.04-1.png b/uploads/._Capture d’écran 2024-12-19 à 20.50.04-1.png
deleted file mode 100644
index be1caa3..0000000
Binary files a/uploads/._Capture d’écran 2024-12-19 à 20.50.04-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-19 à 20.50.04.png b/uploads/._Capture d’écran 2024-12-19 à 20.50.04.png
deleted file mode 100644
index be1caa3..0000000
Binary files a/uploads/._Capture d’écran 2024-12-19 à 20.50.04.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-19 à 20.56.21-1.png b/uploads/._Capture d’écran 2024-12-19 à 20.56.21-1.png
deleted file mode 100644
index f665777..0000000
Binary files a/uploads/._Capture d’écran 2024-12-19 à 20.56.21-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-19 à 20.56.21.png b/uploads/._Capture d’écran 2024-12-19 à 20.56.21.png
deleted file mode 100644
index f665777..0000000
Binary files a/uploads/._Capture d’écran 2024-12-19 à 20.56.21.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-27 à 12.11.30-1.png b/uploads/._Capture d’écran 2024-12-27 à 12.11.30-1.png
deleted file mode 100644
index 49d80a1..0000000
Binary files a/uploads/._Capture d’écran 2024-12-27 à 12.11.30-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2024-12-27 à 12.11.30.png b/uploads/._Capture d’écran 2024-12-27 à 12.11.30.png
deleted file mode 100644
index 49d80a1..0000000
Binary files a/uploads/._Capture d’écran 2024-12-27 à 12.11.30.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-14 à 16.29.46-1.png b/uploads/._Capture d’écran 2025-01-14 à 16.29.46-1.png
deleted file mode 100644
index 02db39e..0000000
Binary files a/uploads/._Capture d’écran 2025-01-14 à 16.29.46-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-14 à 16.29.46.png b/uploads/._Capture d’écran 2025-01-14 à 16.29.46.png
deleted file mode 100644
index 02db39e..0000000
Binary files a/uploads/._Capture d’écran 2025-01-14 à 16.29.46.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-14 à 16.33.58-1.png b/uploads/._Capture d’écran 2025-01-14 à 16.33.58-1.png
deleted file mode 100644
index 8708cf7..0000000
Binary files a/uploads/._Capture d’écran 2025-01-14 à 16.33.58-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-14 à 16.33.58.png b/uploads/._Capture d’écran 2025-01-14 à 16.33.58.png
deleted file mode 100644
index 8708cf7..0000000
Binary files a/uploads/._Capture d’écran 2025-01-14 à 16.33.58.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-16 à 23.10.19-1.png b/uploads/._Capture d’écran 2025-01-16 à 23.10.19-1.png
deleted file mode 100644
index a29c851..0000000
Binary files a/uploads/._Capture d’écran 2025-01-16 à 23.10.19-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-16 à 23.10.19.png b/uploads/._Capture d’écran 2025-01-16 à 23.10.19.png
deleted file mode 100644
index a29c851..0000000
Binary files a/uploads/._Capture d’écran 2025-01-16 à 23.10.19.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-27 à 09.43.47-1.png b/uploads/._Capture d’écran 2025-01-27 à 09.43.47-1.png
deleted file mode 100644
index 04a618b..0000000
Binary files a/uploads/._Capture d’écran 2025-01-27 à 09.43.47-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-27 à 09.43.47.png b/uploads/._Capture d’écran 2025-01-27 à 09.43.47.png
deleted file mode 100644
index 04a618b..0000000
Binary files a/uploads/._Capture d’écran 2025-01-27 à 09.43.47.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-28 à 16.57.17-1.png b/uploads/._Capture d’écran 2025-01-28 à 16.57.17-1.png
deleted file mode 100644
index 2b757ba..0000000
Binary files a/uploads/._Capture d’écran 2025-01-28 à 16.57.17-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-28 à 16.57.17.png b/uploads/._Capture d’écran 2025-01-28 à 16.57.17.png
deleted file mode 100644
index 2b757ba..0000000
Binary files a/uploads/._Capture d’écran 2025-01-28 à 16.57.17.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-29 à 10.19.09-1.png b/uploads/._Capture d’écran 2025-01-29 à 10.19.09-1.png
deleted file mode 100644
index 72ab1c0..0000000
Binary files a/uploads/._Capture d’écran 2025-01-29 à 10.19.09-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-29 à 10.19.09.png b/uploads/._Capture d’écran 2025-01-29 à 10.19.09.png
deleted file mode 100644
index 72ab1c0..0000000
Binary files a/uploads/._Capture d’écran 2025-01-29 à 10.19.09.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-31 à 12.48.01-1.png b/uploads/._Capture d’écran 2025-01-31 à 12.48.01-1.png
deleted file mode 100644
index 72e584d..0000000
Binary files a/uploads/._Capture d’écran 2025-01-31 à 12.48.01-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-01-31 à 12.48.01.png b/uploads/._Capture d’écran 2025-01-31 à 12.48.01.png
deleted file mode 100644
index 72e584d..0000000
Binary files a/uploads/._Capture d’écran 2025-01-31 à 12.48.01.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-03 à 13.21.51-1.png b/uploads/._Capture d’écran 2025-02-03 à 13.21.51-1.png
deleted file mode 100644
index 80285b8..0000000
Binary files a/uploads/._Capture d’écran 2025-02-03 à 13.21.51-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-03 à 13.21.51.png b/uploads/._Capture d’écran 2025-02-03 à 13.21.51.png
deleted file mode 100644
index 80285b8..0000000
Binary files a/uploads/._Capture d’écran 2025-02-03 à 13.21.51.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-08 à 21.22.43-1.png b/uploads/._Capture d’écran 2025-02-08 à 21.22.43-1.png
deleted file mode 100644
index 5dac8d0..0000000
Binary files a/uploads/._Capture d’écran 2025-02-08 à 21.22.43-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-08 à 21.22.43.png b/uploads/._Capture d’écran 2025-02-08 à 21.22.43.png
deleted file mode 100644
index 5dac8d0..0000000
Binary files a/uploads/._Capture d’écran 2025-02-08 à 21.22.43.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-09 à 15.55.53-1.png b/uploads/._Capture d’écran 2025-02-09 à 15.55.53-1.png
deleted file mode 100644
index 6d5237b..0000000
Binary files a/uploads/._Capture d’écran 2025-02-09 à 15.55.53-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-09 à 15.55.53.png b/uploads/._Capture d’écran 2025-02-09 à 15.55.53.png
deleted file mode 100644
index 6d5237b..0000000
Binary files a/uploads/._Capture d’écran 2025-02-09 à 15.55.53.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-19 à 12.26.10-1.png b/uploads/._Capture d’écran 2025-02-19 à 12.26.10-1.png
deleted file mode 100644
index 89b7d3f..0000000
Binary files a/uploads/._Capture d’écran 2025-02-19 à 12.26.10-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-19 à 12.26.10.png b/uploads/._Capture d’écran 2025-02-19 à 12.26.10.png
deleted file mode 100644
index 89b7d3f..0000000
Binary files a/uploads/._Capture d’écran 2025-02-19 à 12.26.10.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 12.56.42-1.png b/uploads/._Capture d’écran 2025-02-20 à 12.56.42-1.png
deleted file mode 100644
index e647937..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 12.56.42-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 12.56.42.png b/uploads/._Capture d’écran 2025-02-20 à 12.56.42.png
deleted file mode 100644
index e647937..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 12.56.42.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 12.58.58-1.png b/uploads/._Capture d’écran 2025-02-20 à 12.58.58-1.png
deleted file mode 100644
index a48f23f..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 12.58.58-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 12.58.58.png b/uploads/._Capture d’écran 2025-02-20 à 12.58.58.png
deleted file mode 100644
index a48f23f..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 12.58.58.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 14.19.14-1.png b/uploads/._Capture d’écran 2025-02-20 à 14.19.14-1.png
deleted file mode 100644
index 800d222..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 14.19.14-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-20 à 14.19.14.png b/uploads/._Capture d’écran 2025-02-20 à 14.19.14.png
deleted file mode 100644
index 800d222..0000000
Binary files a/uploads/._Capture d’écran 2025-02-20 à 14.19.14.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-25 à 00.57.42-1.png b/uploads/._Capture d’écran 2025-02-25 à 00.57.42-1.png
deleted file mode 100644
index 870056d..0000000
Binary files a/uploads/._Capture d’écran 2025-02-25 à 00.57.42-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-02-25 à 00.57.42.png b/uploads/._Capture d’écran 2025-02-25 à 00.57.42.png
deleted file mode 100644
index 870056d..0000000
Binary files a/uploads/._Capture d’écran 2025-02-25 à 00.57.42.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-06 à 11.31.52-1.png b/uploads/._Capture d’écran 2025-03-06 à 11.31.52-1.png
deleted file mode 100644
index be19bd1..0000000
Binary files a/uploads/._Capture d’écran 2025-03-06 à 11.31.52-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-06 à 11.31.52.png b/uploads/._Capture d’écran 2025-03-06 à 11.31.52.png
deleted file mode 100644
index be19bd1..0000000
Binary files a/uploads/._Capture d’écran 2025-03-06 à 11.31.52.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-11 à 20.39.17-1.png b/uploads/._Capture d’écran 2025-03-11 à 20.39.17-1.png
deleted file mode 100644
index 2e83f01..0000000
Binary files a/uploads/._Capture d’écran 2025-03-11 à 20.39.17-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-11 à 20.39.17.png b/uploads/._Capture d’écran 2025-03-11 à 20.39.17.png
deleted file mode 100644
index 2e83f01..0000000
Binary files a/uploads/._Capture d’écran 2025-03-11 à 20.39.17.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-19 à 09.32.37-1.png b/uploads/._Capture d’écran 2025-03-19 à 09.32.37-1.png
deleted file mode 100644
index 0c54747..0000000
Binary files a/uploads/._Capture d’écran 2025-03-19 à 09.32.37-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-19 à 09.32.37.png b/uploads/._Capture d’écran 2025-03-19 à 09.32.37.png
deleted file mode 100644
index 0c54747..0000000
Binary files a/uploads/._Capture d’écran 2025-03-19 à 09.32.37.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-19 à 11.08.14-1.png b/uploads/._Capture d’écran 2025-03-19 à 11.08.14-1.png
deleted file mode 100644
index e36cccf..0000000
Binary files a/uploads/._Capture d’écran 2025-03-19 à 11.08.14-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-19 à 11.08.14.png b/uploads/._Capture d’écran 2025-03-19 à 11.08.14.png
deleted file mode 100644
index e36cccf..0000000
Binary files a/uploads/._Capture d’écran 2025-03-19 à 11.08.14.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-20 à 12.04.00-1.png b/uploads/._Capture d’écran 2025-03-20 à 12.04.00-1.png
deleted file mode 100644
index caaf1ff..0000000
Binary files a/uploads/._Capture d’écran 2025-03-20 à 12.04.00-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-20 à 12.04.00.png b/uploads/._Capture d’écran 2025-03-20 à 12.04.00.png
deleted file mode 100644
index caaf1ff..0000000
Binary files a/uploads/._Capture d’écran 2025-03-20 à 12.04.00.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-29 à 22.46.10-1.png b/uploads/._Capture d’écran 2025-03-29 à 22.46.10-1.png
deleted file mode 100644
index 64f5c51..0000000
Binary files a/uploads/._Capture d’écran 2025-03-29 à 22.46.10-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-29 à 22.46.10.png b/uploads/._Capture d’écran 2025-03-29 à 22.46.10.png
deleted file mode 100644
index 64f5c51..0000000
Binary files a/uploads/._Capture d’écran 2025-03-29 à 22.46.10.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-29 à 22.46.29-1.png b/uploads/._Capture d’écran 2025-03-29 à 22.46.29-1.png
deleted file mode 100644
index 9378382..0000000
Binary files a/uploads/._Capture d’écran 2025-03-29 à 22.46.29-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-03-29 à 22.46.29.png b/uploads/._Capture d’écran 2025-03-29 à 22.46.29.png
deleted file mode 100644
index 9378382..0000000
Binary files a/uploads/._Capture d’écran 2025-03-29 à 22.46.29.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-07 à 08.53.37-1.png b/uploads/._Capture d’écran 2025-04-07 à 08.53.37-1.png
deleted file mode 100644
index 8908126..0000000
Binary files a/uploads/._Capture d’écran 2025-04-07 à 08.53.37-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-07 à 08.53.37.png b/uploads/._Capture d’écran 2025-04-07 à 08.53.37.png
deleted file mode 100644
index 8908126..0000000
Binary files a/uploads/._Capture d’écran 2025-04-07 à 08.53.37.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-09 à 13.36.19-1.png b/uploads/._Capture d’écran 2025-04-09 à 13.36.19-1.png
deleted file mode 100644
index e0efb82..0000000
Binary files a/uploads/._Capture d’écran 2025-04-09 à 13.36.19-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-09 à 13.36.19.png b/uploads/._Capture d’écran 2025-04-09 à 13.36.19.png
deleted file mode 100644
index e0efb82..0000000
Binary files a/uploads/._Capture d’écran 2025-04-09 à 13.36.19.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-09 à 13.40.31-1.png b/uploads/._Capture d’écran 2025-04-09 à 13.40.31-1.png
deleted file mode 100644
index 992c886..0000000
Binary files a/uploads/._Capture d’écran 2025-04-09 à 13.40.31-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-09 à 13.40.31.png b/uploads/._Capture d’écran 2025-04-09 à 13.40.31.png
deleted file mode 100644
index 992c886..0000000
Binary files a/uploads/._Capture d’écran 2025-04-09 à 13.40.31.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 09.34.27-1.png b/uploads/._Capture d’écran 2025-04-14 à 09.34.27-1.png
deleted file mode 100644
index f7fd1e7..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 09.34.27-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 09.34.27.png b/uploads/._Capture d’écran 2025-04-14 à 09.34.27.png
deleted file mode 100644
index f7fd1e7..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 09.34.27.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 09.42.44-1.png b/uploads/._Capture d’écran 2025-04-14 à 09.42.44-1.png
deleted file mode 100644
index ed4a105..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 09.42.44-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 09.42.44.png b/uploads/._Capture d’écran 2025-04-14 à 09.42.44.png
deleted file mode 100644
index ed4a105..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 09.42.44.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 11.13.06-1.png b/uploads/._Capture d’écran 2025-04-14 à 11.13.06-1.png
deleted file mode 100644
index 6dc6796..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 11.13.06-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-04-14 à 11.13.06.png b/uploads/._Capture d’écran 2025-04-14 à 11.13.06.png
deleted file mode 100644
index 6dc6796..0000000
Binary files a/uploads/._Capture d’écran 2025-04-14 à 11.13.06.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-19 à 09.53.35-1.png b/uploads/._Capture d’écran 2025-05-19 à 09.53.35-1.png
deleted file mode 100644
index bef6e85..0000000
Binary files a/uploads/._Capture d’écran 2025-05-19 à 09.53.35-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-19 à 09.53.35.png b/uploads/._Capture d’écran 2025-05-19 à 09.53.35.png
deleted file mode 100644
index bef6e85..0000000
Binary files a/uploads/._Capture d’écran 2025-05-19 à 09.53.35.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-22 à 11.24.11-1.png b/uploads/._Capture d’écran 2025-05-22 à 11.24.11-1.png
deleted file mode 100644
index 3509671..0000000
Binary files a/uploads/._Capture d’écran 2025-05-22 à 11.24.11-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-22 à 11.24.11.png b/uploads/._Capture d’écran 2025-05-22 à 11.24.11.png
deleted file mode 100644
index 3509671..0000000
Binary files a/uploads/._Capture d’écran 2025-05-22 à 11.24.11.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-23 à 13.13.50-1.png b/uploads/._Capture d’écran 2025-05-23 à 13.13.50-1.png
deleted file mode 100644
index 7d3e669..0000000
Binary files a/uploads/._Capture d’écran 2025-05-23 à 13.13.50-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-23 à 13.13.50.png b/uploads/._Capture d’écran 2025-05-23 à 13.13.50.png
deleted file mode 100644
index 7d3e669..0000000
Binary files a/uploads/._Capture d’écran 2025-05-23 à 13.13.50.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-28 à 11.10.04-1.png b/uploads/._Capture d’écran 2025-05-28 à 11.10.04-1.png
deleted file mode 100644
index 21931ce..0000000
Binary files a/uploads/._Capture d’écran 2025-05-28 à 11.10.04-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-05-28 à 11.10.04.png b/uploads/._Capture d’écran 2025-05-28 à 11.10.04.png
deleted file mode 100644
index 21931ce..0000000
Binary files a/uploads/._Capture d’écran 2025-05-28 à 11.10.04.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-03 à 17.26.41-1.png b/uploads/._Capture d’écran 2025-06-03 à 17.26.41-1.png
deleted file mode 100644
index 4e6812a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-03 à 17.26.41-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-03 à 17.26.41.png b/uploads/._Capture d’écran 2025-06-03 à 17.26.41.png
deleted file mode 100644
index 4e6812a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-03 à 17.26.41.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.06.23-1.png b/uploads/._Capture d’écran 2025-06-06 à 21.06.23-1.png
deleted file mode 100644
index 28bf671..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.06.23-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.06.23.png b/uploads/._Capture d’écran 2025-06-06 à 21.06.23.png
deleted file mode 100644
index 28bf671..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.06.23.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.06.39-1.png b/uploads/._Capture d’écran 2025-06-06 à 21.06.39-1.png
deleted file mode 100644
index 90dcf8d..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.06.39-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.06.39.png b/uploads/._Capture d’écran 2025-06-06 à 21.06.39.png
deleted file mode 100644
index 90dcf8d..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.06.39.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.25.37-1.png b/uploads/._Capture d’écran 2025-06-06 à 21.25.37-1.png
deleted file mode 100644
index 0d5dcf6..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.25.37-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-06 à 21.25.37.png b/uploads/._Capture d’écran 2025-06-06 à 21.25.37.png
deleted file mode 100644
index 0d5dcf6..0000000
Binary files a/uploads/._Capture d’écran 2025-06-06 à 21.25.37.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-10 à 17.02.57-1.png b/uploads/._Capture d’écran 2025-06-10 à 17.02.57-1.png
deleted file mode 100644
index 5eabe0e..0000000
Binary files a/uploads/._Capture d’écran 2025-06-10 à 17.02.57-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-10 à 17.02.57.png b/uploads/._Capture d’écran 2025-06-10 à 17.02.57.png
deleted file mode 100644
index 5eabe0e..0000000
Binary files a/uploads/._Capture d’écran 2025-06-10 à 17.02.57.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-11 à 19.08.50-1.png b/uploads/._Capture d’écran 2025-06-11 à 19.08.50-1.png
deleted file mode 100644
index d83004a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-11 à 19.08.50-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-11 à 19.08.50.png b/uploads/._Capture d’écran 2025-06-11 à 19.08.50.png
deleted file mode 100644
index d83004a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-11 à 19.08.50.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-11 à 19.09.38-1.png b/uploads/._Capture d’écran 2025-06-11 à 19.09.38-1.png
deleted file mode 100644
index e9604ea..0000000
Binary files a/uploads/._Capture d’écran 2025-06-11 à 19.09.38-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-11 à 19.09.38.png b/uploads/._Capture d’écran 2025-06-11 à 19.09.38.png
deleted file mode 100644
index e9604ea..0000000
Binary files a/uploads/._Capture d’écran 2025-06-11 à 19.09.38.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-13 à 13.04.47-1.png b/uploads/._Capture d’écran 2025-06-13 à 13.04.47-1.png
deleted file mode 100644
index e90aff0..0000000
Binary files a/uploads/._Capture d’écran 2025-06-13 à 13.04.47-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-13 à 13.04.47.png b/uploads/._Capture d’écran 2025-06-13 à 13.04.47.png
deleted file mode 100644
index e90aff0..0000000
Binary files a/uploads/._Capture d’écran 2025-06-13 à 13.04.47.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.26.43-1.png b/uploads/._Capture d’écran 2025-06-18 à 14.26.43-1.png
deleted file mode 100644
index c297c41..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.26.43-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.26.43.png b/uploads/._Capture d’écran 2025-06-18 à 14.26.43.png
deleted file mode 100644
index c297c41..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.26.43.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.37.48-1.png b/uploads/._Capture d’écran 2025-06-18 à 14.37.48-1.png
deleted file mode 100644
index 4c9bb29..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.37.48-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.37.48.png b/uploads/._Capture d’écran 2025-06-18 à 14.37.48.png
deleted file mode 100644
index 4c9bb29..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.37.48.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.47.05-1.png b/uploads/._Capture d’écran 2025-06-18 à 14.47.05-1.png
deleted file mode 100644
index 0b0ce6a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.47.05-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 14.47.05.png b/uploads/._Capture d’écran 2025-06-18 à 14.47.05.png
deleted file mode 100644
index 0b0ce6a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 14.47.05.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 16.07.14-1.png b/uploads/._Capture d’écran 2025-06-18 à 16.07.14-1.png
deleted file mode 100644
index 9e9127a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 16.07.14-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 16.07.14.png b/uploads/._Capture d’écran 2025-06-18 à 16.07.14.png
deleted file mode 100644
index 9e9127a..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 16.07.14.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 23.16.28-1.png b/uploads/._Capture d’écran 2025-06-18 à 23.16.28-1.png
deleted file mode 100644
index 647e86c..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 23.16.28-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-18 à 23.16.28.png b/uploads/._Capture d’écran 2025-06-18 à 23.16.28.png
deleted file mode 100644
index 647e86c..0000000
Binary files a/uploads/._Capture d’écran 2025-06-18 à 23.16.28.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-19 à 00.07.35-1.png b/uploads/._Capture d’écran 2025-06-19 à 00.07.35-1.png
deleted file mode 100644
index b9b70db..0000000
Binary files a/uploads/._Capture d’écran 2025-06-19 à 00.07.35-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-19 à 00.07.35.png b/uploads/._Capture d’écran 2025-06-19 à 00.07.35.png
deleted file mode 100644
index b9b70db..0000000
Binary files a/uploads/._Capture d’écran 2025-06-19 à 00.07.35.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 10.34.04-1.png b/uploads/._Capture d’écran 2025-06-24 à 10.34.04-1.png
deleted file mode 100644
index cae08fa..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 10.34.04-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 10.34.04.png b/uploads/._Capture d’écran 2025-06-24 à 10.34.04.png
deleted file mode 100644
index cae08fa..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 10.34.04.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.14.26-1.png b/uploads/._Capture d’écran 2025-06-24 à 21.14.26-1.png
deleted file mode 100644
index e82a4a9..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.14.26-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.14.26.png b/uploads/._Capture d’écran 2025-06-24 à 21.14.26.png
deleted file mode 100644
index e82a4a9..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.14.26.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.27.22-1.png b/uploads/._Capture d’écran 2025-06-24 à 21.27.22-1.png
deleted file mode 100644
index 250f216..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.27.22-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.27.22.png b/uploads/._Capture d’écran 2025-06-24 à 21.27.22.png
deleted file mode 100644
index 250f216..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.27.22.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.29.38-1.png b/uploads/._Capture d’écran 2025-06-24 à 21.29.38-1.png
deleted file mode 100644
index e3f7bfc..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.29.38-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-24 à 21.29.38.png b/uploads/._Capture d’écran 2025-06-24 à 21.29.38.png
deleted file mode 100644
index e3f7bfc..0000000
Binary files a/uploads/._Capture d’écran 2025-06-24 à 21.29.38.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-27 à 16.05.25-1.png b/uploads/._Capture d’écran 2025-06-27 à 16.05.25-1.png
deleted file mode 100644
index 6cd6a34..0000000
Binary files a/uploads/._Capture d’écran 2025-06-27 à 16.05.25-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-27 à 16.05.25.png b/uploads/._Capture d’écran 2025-06-27 à 16.05.25.png
deleted file mode 100644
index 6cd6a34..0000000
Binary files a/uploads/._Capture d’écran 2025-06-27 à 16.05.25.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-28 à 14.01.37-1.png b/uploads/._Capture d’écran 2025-06-28 à 14.01.37-1.png
deleted file mode 100644
index f8ddd53..0000000
Binary files a/uploads/._Capture d’écran 2025-06-28 à 14.01.37-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-06-28 à 14.01.37.png b/uploads/._Capture d’écran 2025-06-28 à 14.01.37.png
deleted file mode 100644
index f8ddd53..0000000
Binary files a/uploads/._Capture d’écran 2025-06-28 à 14.01.37.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-01 à 12.33.27-1.png b/uploads/._Capture d’écran 2025-07-01 à 12.33.27-1.png
deleted file mode 100644
index 3b75adc..0000000
Binary files a/uploads/._Capture d’écran 2025-07-01 à 12.33.27-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-01 à 12.33.27.png b/uploads/._Capture d’écran 2025-07-01 à 12.33.27.png
deleted file mode 100644
index 3b75adc..0000000
Binary files a/uploads/._Capture d’écran 2025-07-01 à 12.33.27.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-08 à 10.04.06-1.png b/uploads/._Capture d’écran 2025-07-08 à 10.04.06-1.png
deleted file mode 100644
index 239f8b3..0000000
Binary files a/uploads/._Capture d’écran 2025-07-08 à 10.04.06-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-08 à 10.04.06.png b/uploads/._Capture d’écran 2025-07-08 à 10.04.06.png
deleted file mode 100644
index 239f8b3..0000000
Binary files a/uploads/._Capture d’écran 2025-07-08 à 10.04.06.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-08 à 10.15.34-1.png b/uploads/._Capture d’écran 2025-07-08 à 10.15.34-1.png
deleted file mode 100644
index e45bd1c..0000000
Binary files a/uploads/._Capture d’écran 2025-07-08 à 10.15.34-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-08 à 10.15.34.png b/uploads/._Capture d’écran 2025-07-08 à 10.15.34.png
deleted file mode 100644
index e45bd1c..0000000
Binary files a/uploads/._Capture d’écran 2025-07-08 à 10.15.34.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-09 à 18.48.39-1.png b/uploads/._Capture d’écran 2025-07-09 à 18.48.39-1.png
deleted file mode 100644
index edb8f2c..0000000
Binary files a/uploads/._Capture d’écran 2025-07-09 à 18.48.39-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-09 à 18.48.39.png b/uploads/._Capture d’écran 2025-07-09 à 18.48.39.png
deleted file mode 100644
index edb8f2c..0000000
Binary files a/uploads/._Capture d’écran 2025-07-09 à 18.48.39.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-11 à 19.30.43-1.png b/uploads/._Capture d’écran 2025-07-11 à 19.30.43-1.png
deleted file mode 100644
index 0d65a78..0000000
Binary files a/uploads/._Capture d’écran 2025-07-11 à 19.30.43-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-11 à 19.30.43.png b/uploads/._Capture d’écran 2025-07-11 à 19.30.43.png
deleted file mode 100644
index 0d65a78..0000000
Binary files a/uploads/._Capture d’écran 2025-07-11 à 19.30.43.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-17 à 15.20.17-1.png b/uploads/._Capture d’écran 2025-07-17 à 15.20.17-1.png
deleted file mode 100644
index 77396c2..0000000
Binary files a/uploads/._Capture d’écran 2025-07-17 à 15.20.17-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-17 à 15.20.17.png b/uploads/._Capture d’écran 2025-07-17 à 15.20.17.png
deleted file mode 100644
index 77396c2..0000000
Binary files a/uploads/._Capture d’écran 2025-07-17 à 15.20.17.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-22 à 11.27.29-1.png b/uploads/._Capture d’écran 2025-07-22 à 11.27.29-1.png
deleted file mode 100644
index 2096016..0000000
Binary files a/uploads/._Capture d’écran 2025-07-22 à 11.27.29-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-22 à 11.27.29.png b/uploads/._Capture d’écran 2025-07-22 à 11.27.29.png
deleted file mode 100644
index 2096016..0000000
Binary files a/uploads/._Capture d’écran 2025-07-22 à 11.27.29.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-28 à 17.54.53-1.png b/uploads/._Capture d’écran 2025-07-28 à 17.54.53-1.png
deleted file mode 100644
index 1d07105..0000000
Binary files a/uploads/._Capture d’écran 2025-07-28 à 17.54.53-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-07-28 à 17.54.53.png b/uploads/._Capture d’écran 2025-07-28 à 17.54.53.png
deleted file mode 100644
index 1d07105..0000000
Binary files a/uploads/._Capture d’écran 2025-07-28 à 17.54.53.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-11 à 14.01.52-1.png b/uploads/._Capture d’écran 2025-08-11 à 14.01.52-1.png
deleted file mode 100644
index 85986ef..0000000
Binary files a/uploads/._Capture d’écran 2025-08-11 à 14.01.52-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-11 à 14.01.52.png b/uploads/._Capture d’écran 2025-08-11 à 14.01.52.png
deleted file mode 100644
index 85986ef..0000000
Binary files a/uploads/._Capture d’écran 2025-08-11 à 14.01.52.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-15 à 21.03.57-1.png b/uploads/._Capture d’écran 2025-08-15 à 21.03.57-1.png
deleted file mode 100644
index 1124b37..0000000
Binary files a/uploads/._Capture d’écran 2025-08-15 à 21.03.57-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-15 à 21.03.57.png b/uploads/._Capture d’écran 2025-08-15 à 21.03.57.png
deleted file mode 100644
index 1124b37..0000000
Binary files a/uploads/._Capture d’écran 2025-08-15 à 21.03.57.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-15 à 21.04.52-1.png b/uploads/._Capture d’écran 2025-08-15 à 21.04.52-1.png
deleted file mode 100644
index 3d77c15..0000000
Binary files a/uploads/._Capture d’écran 2025-08-15 à 21.04.52-1.png and /dev/null differ
diff --git a/uploads/._Capture d’écran 2025-08-15 à 21.04.52.png b/uploads/._Capture d’écran 2025-08-15 à 21.04.52.png
deleted file mode 100644
index 3d77c15..0000000
Binary files a/uploads/._Capture d’écran 2025-08-15 à 21.04.52.png and /dev/null differ
diff --git a/uploads/._logo 3F-1.png b/uploads/._logo 3F-1.png
deleted file mode 100644
index 77caaf4..0000000
Binary files a/uploads/._logo 3F-1.png and /dev/null differ
diff --git a/uploads/._logo 3F.png b/uploads/._logo 3F.png
deleted file mode 100644
index 77caaf4..0000000
Binary files a/uploads/._logo 3F.png and /dev/null differ