================================================================================================ SUIVI #1226 — DIAG uploads / documents (LECTURE SEULE) 2026-08-06T11:50:47+00:00 DB: mysql / hectareenvol Driver: mysql ================================================================================================ §1 TABLES DE DOCUMENTS (schéma) ------------------------------------------------------------------------------------------------ ### entity_documents colonnes présentes parmi attendues : id, documentable_type, documentable_id, nom_original, chemin, mime, taille, uploaded_by, classement, created_at listing complet : id, documentable_type, documentable_id, nom_original, chemin, mime, taille, uploaded_by, classement, contexte, reference_externe, created_at, updated_at ### avenant_documents colonnes présentes parmi attendues : id, avenant_id, nom_fichier, fichier_path, sharepoint_url, sharepoint_item_id, uploaded_by, created_at listing complet : id, avenant_id, nom_fichier, fichier_path, sharepoint_url, sharepoint_item_id, uploaded_by, created_at, updated_at ### tache_suivi_documents colonnes présentes parmi attendues : id, tache_suivi_id, nom_fichier, chemin_stockage, disk, taille, mime, created_by_user_id, created_at listing complet : id, tache_suivi_id, nom_fichier, chemin_stockage, disk, taille, mime, created_by_user_id, created_at, updated_at ### reservation_documents colonnes présentes parmi attendues : id, reservation_id, document_type, libelle, sharepoint_subfolder, fichier_url, fichier_nom, taille, created_at listing complet : id, reservation_id, document_type, libelle, sharepoint_subfolder, fichier_url, fichier_nom, taille, created_at, updated_at ### documents_factures colonnes présentes parmi attendues : id, depot_facture_id, nom_original, chemin_stockage, mime_type, taille, uploaded_by, created_at, deleted_at listing complet : id, depot_facture_id, nom_original, chemin_stockage, mime_type, taille, uploaded_by, created_at, updated_at, deleted_at ### depot_factures colonnes présentes parmi attendues : id, uuid, nom_fichier_original, chemin_stockage, taille_fichier, statut, type_source, created_at, deleted_at listing complet : id, uuid, user_id, entite_id, programme_id, marche_id, fournisseur_id, poste_budgetaire_type_id, programme_budget_id, nom_fichier_original, nom_affichage, chemin_stockage, taille_fichier, statut, type_source, numero_facture, fournisseur_nom, fournisseur_siret, date_facture, date_paiement_previsionnel, montant_ht, montant_tva, montant_ttc, doublon_detecte, doublon_de_id, ocr_raw, search_index, ocr_erreur, analyse_at, facture_id, intacct_bill_id, sans_marche, multi_fournisseur, deja_reglee, deja_valide, saisie_historique, date_reglement, date_paiement, mode_reglement_direct, created_at, updated_at, deleted_at, deleted_by_user_id, deleted_reason ### marche_documents colonnes présentes parmi attendues : id, marche_id, type_document, nom_fichier, fichier_path, sharepoint_url, sharepoint_item_id, created_at listing complet : id, marche_id, type_document, nom_fichier, fichier_path, sharepoint_url, sharepoint_item_id, date_expiration, statut, commentaire, created_at, updated_at ### marche_devis_documents colonnes présentes parmi attendues : id, marche_devis_id, chemin, mime, created_at listing complet : id, marche_devis_id, nom_fichier, chemin, taille, mime, version, uploaded_by, created_at ### pieces_jointes colonnes présentes parmi attendues : id, nom_original, created_at listing complet : id, attachable_type, attachable_id, chemin_local, nom_original, visibilite, depose_par_id, created_at, updated_at ### contact_documents colonnes présentes parmi attendues : id, contact_id, created_at listing complet : id, contact_id, nom, type, taille, fichier_path, created_at, updated_at ### aide_medias colonnes présentes parmi attendues : id, chemin, nom_original, mime, created_at listing complet : id, article_id, chemin, nom_original, mime, taille, uploaded_by, created_at, updated_at ### assistant_message_documents [ABSENT] assistant_message_documents.assistant_message_id [ABSENT] assistant_message_documents.chemin colonnes présentes parmi attendues : id, mime, created_at listing complet : id, conversation_id, message_id, nom_fichier, chemin_stockage, disk, taille, mime, created_at, updated_at ### ao_devis colonnes présentes parmi attendues : id, created_at listing complet : id, ao_consultation_id, indice, date_devis, prix_ht, commentaire, devis_pdf_local_path, devis_pdf_filename, devis_pdf_sharepoint_url, devis_pdf_sharepoint_synced_at, devis_pdf_sharepoint_error, created_by, created_at, updated_at ### ged_action_logs [ABSENT] table ged_action_logs §2 VOLUMES PAR TABLE ------------------------------------------------------------------------------------------------ ⚠️ Volumes = base courante. Stub local ≠ prod. entity_documents 4 avenant_documents 1 tache_suivi_documents 14 reservation_documents 1128 documents_factures 11 depot_factures 1302 marche_documents 78 marche_devis_documents 1 pieces_jointes 2 contact_documents 0 aide_medias 10 assistant_message_documents 10 ao_devis 106 [ABSENT] table ged_action_logs — count skip ### entity_documents par documentable_type App\Models\PromesseFonciere 4 taille cumulée (taille) : 8454013 octets top mime : application/pdf 4 ### depot_factures par type_source classique 512 deja_reglee 375 historique 162 §3 RÉPARTITION LOCAL vs SHAREPOINT (si colonnes présentes) ------------------------------------------------------------------------------------------------ ### reservation_documents total=1128 avec fichier_url=3 avec fichier_nom=3 ### marche_documents total=78 avec sharepoint_item_id=0 avec fichier_path=78 ### avenant_documents total=1 avec sharepoint_item_id=1 avec fichier_path=1 ### ao_devis total=106 [ABSENT] ao_devis.sharepoint_item_id [ABSENT] ao_devis.chemin_local [ABSENT] ao_devis.fichier_path Note code : GED programme = SharePoint pur (pas de table blob fichier). entity_documents / tache_suivi / documents_factures / depot = disque local privé. marche_documents / avenant : local public + SharePoint optionnel. §4 LIMITES / TYPES (références code) ------------------------------------------------------------------------------------------------ - DepotFactures/Index.vue:62-63 — MAX_UPLOAD_FILES=10, MAX_FILE_BYTES=20Mo - DepotFactureController::store — mimes:pdf max:20480 ; storeFromOutlook size max 20480000 - OutlookAttachmentService::MAX_BYTES — 20Mo ; Mail.Read + translateExchangeIds ews→rest ; token user - FoncierEntityDocumentService — 10Mo/fichier, 120Mo/req ; MIME map service - StoreTacheSuiviDocumentRequest — max 10Mo mimes pdf/office/images - DocumentFactureController — max 20Mo mimes pdf/images - GedController::uploadFichiers — max 30×20Mo, PAS de mimes → SharePoint - GedController::uploadOutlook — OutlookAttachmentService → temp → SharePoint - MarcheController storeDocument/avenant — max 20Mo, PAS de mimes - ReservationController storeDocument — max 50Mo, PAS de mimes → SharePoint - AoDocumentService — DCE 500Mo zip ; estimatif 50Mo pdf - EtudeFiExcelReader::MAX_OCTETS — 10Mo (import, pas GED) - config/filesystems — local=storage/app/private ; factures=…/private/factures ; public=…/public - Prod connue (#1115) — upload_max_filesize=128M post_max_size=130M (comparer §5 local) §5 VALEURS PHP RÉELLES (ini_get) ------------------------------------------------------------------------------------------------ upload_max_filesize = 512M post_max_size = 520M max_file_uploads = 20 memory_limit = 512M max_execution_time = 165 §6 ANOMALIES (échantillonnage lecture seule) ------------------------------------------------------------------------------------------------ entity_documents sample 30 : path absents/vides≈0 ; taille 0≈0 ; noms douteux≈0 (échantillon — pas un audit exhaustif) depot_factures count=1302 FIN DIAG #1226 — aucune écriture.