4NK_IA_front/test-preview.html
root 6ae698de76 feat: Implémentation de l'aperçu PDF fonctionnel
- Ajout du composant FilePreview avec iframe et viewer PDF intégré
- Correction du mapping des données API (document_id -> id)
- Ajout de previewUrl avec URL.createObjectURL pour l'aperçu
- Interface modale avec navigation et zoom
- Support des fichiers PDF avec affichage réel du contenu
- Correction de l'affichage de la taille des fichiers
- Ajout des dépendances react-pdf-js pour l'aperçu PDF
- Scripts de démarrage et fichiers de test
- Documentation complète de la fonctionnalité d'aperçu
2025-09-10 23:25:55 +02:00

289 lines
8.6 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test Aperçu 4NK_IA_front</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 1000px;
margin: 0 auto;
padding: 20px;
background: #f5f5f5;
}
.container {
background: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.status {
padding: 15px;
border-radius: 8px;
margin: 20px 0;
}
.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.info { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }
.test-section {
margin: 20px 0;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
background: #fafafa;
}
.file-test {
display: inline-block;
margin: 10px;
padding: 15px;
background: white;
border: 2px dashed #007bff;
border-radius: 8px;
text-align: center;
cursor: pointer;
transition: all 0.3s;
}
.file-test:hover {
background: #e3f2fd;
border-color: #0056b3;
}
.instructions {
background: #e3f2fd;
padding: 20px;
border-radius: 8px;
margin: 20px 0;
}
.step {
margin: 10px 0;
padding: 10px;
background: white;
border-left: 4px solid #007bff;
border-radius: 4px;
}
</style>
</head>
<body>
<div class="container">
<h1>🧪 Test de la fonctionnalité d'aperçu - 4NK_IA_front</h1>
<div class="status info">
<h3>📋 Instructions de test :</h3>
<div class="step">
<strong>Étape 1 :</strong> Ouvrez l'application frontend :
<a href="http://localhost:5173" target="_blank" style="color: #007bff; text-decoration: none;">
<strong>http://localhost:5173</strong>
</a>
</div>
<div class="step">
<strong>Étape 2 :</strong> Allez dans l'onglet "Upload" (premier onglet)
</div>
<div class="step">
<strong>Étape 3 :</strong> Testez l'upload avec les fichiers de test ci-dessous
</div>
<div class="step">
<strong>Étape 4 :</strong> Cliquez sur "Aperçu" pour voir le contenu du document
</div>
</div>
<div class="test-section">
<h2>📁 Fichiers de test disponibles</h2>
<p>Cliquez sur un fichier pour le télécharger et le tester :</p>
<div class="file-test" onclick="downloadFile('sample.txt')">
<h4>📄 sample.txt</h4>
<p>Document texte avec acte de vente</p>
<small>Format: .txt</small>
</div>
<div class="file-test" onclick="downloadFile('sample.md')">
<h4>📝 sample.md</h4>
<p>Document Markdown avec acte de vente</p>
<small>Format: .md</small>
</div>
<div class="file-test" onclick="createTestPDF()">
<h4>📋 Test PDF</h4>
<p>Créer un PDF de test</p>
<small>Format: .pdf</small>
</div>
</div>
<div class="test-section">
<h2>🎯 Types de fichiers supportés</h2>
<ul>
<li><strong>PDF</strong> (.pdf) - Aperçu avec contenu simulé</li>
<li><strong>Images</strong> (.png, .jpg, .jpeg, .tiff) - Aperçu d'image</li>
<li><strong>Texte</strong> (.txt) - Contenu textuel affiché</li>
<li><strong>Markdown</strong> (.md) - Contenu Markdown formaté</li>
<li><strong>Word</strong> (.docx) - Aperçu de document Word</li>
</ul>
</div>
<div class="test-section">
<h2>✨ Fonctionnalités d'aperçu</h2>
<ul>
<li><strong>Affichage du contenu</strong> - Aperçu du contenu du document</li>
<li><strong>Informations du fichier</strong> - Type, taille, statut</li>
<li><strong>Bouton de téléchargement</strong> - Télécharger le document</li>
<li><strong>Interface responsive</strong> - Adaptation mobile/desktop</li>
<li><strong>Gestion d'erreurs</strong> - Messages d'erreur appropriés</li>
</ul>
</div>
<div class="status success">
<h3>✅ Améliorations apportées</h3>
<ul>
<li>Support des formats TXT, MD, DOCX en plus de PDF et images</li>
<li>Composant FilePreview dédié pour l'aperçu</li>
<li>Interface utilisateur améliorée avec grille responsive</li>
<li>Bouton "Aperçu" pour chaque document uploadé</li>
<li>Affichage du contenu simulé selon le type de fichier</li>
<li>Gestion des états de chargement et d'erreur</li>
</ul>
</div>
<div class="status info">
<h3>🔧 Dépannage</h3>
<p>Si l'aperçu ne fonctionne pas :</p>
<ul>
<li>Vérifiez que l'application est accessible sur http://localhost:5173</li>
<li>Assurez-vous que le document est uploadé avec succès (statut "completed")</li>
<li>Cliquez sur le bouton "Aperçu" (icône 👁️)</li>
<li>Vérifiez la console du navigateur pour d'éventuelles erreurs</li>
</ul>
</div>
</div>
<script>
function downloadFile(filename) {
const content = getFileContent(filename);
const blob = new Blob([content], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
URL.revokeObjectURL(url);
}
function getFileContent(filename) {
if (filename === 'sample.txt') {
return `ACTE DE VENTE IMMOBILIÈRE
Entre les soussignés :
- Vendeur : Jean Dupont, né le 15/05/1980, demeurant 123 Rue de la Paix, 75001 Paris
- Acheteur : Marie Martin, née le 22/03/1985, demeurant 456 Avenue des Champs, 75008 Paris
Objet : Vente d'un appartement situé 123 Rue de la Paix, 75001 Paris
Surface : 75 m²
Prix : 250 000 euros
Clauses particulières :
- Clause de garantie des vices cachés
- Clause de condition suspensive d'obtention du prêt
- Clause de garantie d'éviction
Fait à Paris, le 15 janvier 2024
Signatures :
Jean Dupont : [Signature]
Marie Martin : [Signature]`;
} else if (filename === 'sample.md') {
return `# Acte de Vente Immobilière
## Informations générales
- **Type** : Acte de vente
- **Date** : 15 janvier 2024
- **Lieu** : Paris
## Parties contractantes
- **Vendeur** : Jean Dupont
- **Acheteur** : Marie Martin
## Objet de la vente
- **Bien** : Appartement
- **Adresse** : 123 Rue de la Paix, 75001 Paris
- **Surface** : 75 m²
- **Prix** : 250 000 €
## Clauses particulières
1. Clause de garantie des vices cachés
2. Clause de condition suspensive
3. Clause de garantie d'éviction
## Signatures
- Jean Dupont : [Signature]
- Marie Martin : [Signature]`;
}
return '';
}
function createTestPDF() {
// Créer un PDF simple pour le test
const content = `%PDF-1.4
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<<
/Type /Pages
/Kids [3 0 R]
/Count 1
>>
endobj
3 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [0 0 612 792]
/Contents 4 0 R
>>
endobj
4 0 obj
<<
/Length 44
>>
stream
BT
/F1 12 Tf
72 720 Td
(Test PDF Document) Tj
ET
endstream
endobj
xref
0 5
0000000000 65535 f
0000000009 00000 n
0000000058 00000 n
0000000115 00000 n
0000000204 00000 n
trailer
<<
/Size 5
/Root 1 0 R
>>
startxref
297
%%EOF`;
const blob = new Blob([content], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'test-document.pdf';
a.click();
URL.revokeObjectURL(url);
}
</script>
</body>
</html>