## Problème Erreurs TypeScript `exactOptionalPropertyTypes` et avertissements ESLint `max-lines-per-function` sur les composants de sélection de séries (ArticleEditorForm, Profile, UserArticles). ## Impacts - Blocage du `tsc --noEmit` et du lint, empêchant le déploiement. - Risque de régressions UI (sélection de série) si les props optionnelles sont mal typées. ## Cause Propagation de props optionnelles (`seriesOptions`, `onSelectSeries`, `selectedSeriesId`) sans inclure explicitement `undefined` dans les signatures avec `exactOptionalPropertyTypes: true`. ## Root cause Contrats de composants non alignés sur les exigences strictes TypeScript (exactOptionalPropertyTypes) et fonctions trop longues (>40 lignes) dans ArticleEditorForm et UserArticles. ## Corrections - Typage explicite des props optionnelles avec `| undefined` et propagation conditionnelle des props. - Refactoring des fonctions longues : extraction des handlers (SeriesSelect) et découpage de `createLayoutProps`. ## Modifications - `components/ArticleEditor.tsx`, `components/ArticleEditorForm.tsx`, `components/ProfileArticlesSection.tsx`, `components/ProfileSeriesBlock.tsx`, `components/SeriesSection.tsx`, `components/SeriesList.tsx`, `components/SeriesCard.tsx`, `components/UserArticles.tsx`, `components/UserArticlesList.tsx`, `components/ProfileView.tsx`. - Ajustements de typage et réduction des fonctions >40 lignes. ## Modalités de déploiement Pas d’action spécifique : lint et type-check passent (`npm run lint`, `npm run type-check`). Déployer via la pipeline habituelle. ## Modalités d'analyse - Vérifier `npm run lint` et `npm run type-check`. - Tester la sélection/filtrage de série dans l’éditeur d’articles et sur la page profil (navigation série).