```javascript // INITIALISATION COMPLÈTE DU SYSTÈME document.addEventListener('DOMContentLoaded', function() { console.log('🚀 Initialisation de DeepSite Enterprise...'); // Initialiser tous les systèmes dans l'ordre initializeSystems(); }); function initializeSystems() { try { // 1. Vérifier que les systèmes de base sont initialisés if (typeof securitySystem === 'undefined') { console.error('❌ SecuritySystem non initialisé'); return; } if (typeof backupSystem === 'undefined') { console.error('❌ BackupSystem non initialisé'); return; } // 2. Activer la protection enterprise if (typeof enterpriseProtection !== 'undefined') { console.log('✅ Protection Enterprise activée'); } // 3. Activer média et chat (s'il est disponible) if (typeof mediaAssistant !== 'undefined') { console.log('✅ Système média activé'); requestMediaPermissions(); } // 4. Activer générateur de codes if (typeof codeGenerator !== 'undefined') { console.log('✅ Générateur de codes activé'); } // 5. Configurer les interactions entre systèmes setupSystemIntegration(); // 6. Demander les permissions média requestMediaPermissions(); // 7. Afficher le statut final showSystemStatus(); console.log('🎉 DeepSite Enterprise - Tous systèmes activés avec succès!'); } catch (error) { console.error('❌ Erreur lors de l\'initialisation:', error); } } // Demander les permissions média async function requestMediaPermissions() { try { // Vérifier la disponibilité de l'API if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) { console.warn('⚠️ API média non supportée par ce navigateur'); return null; } // Demander l'accès au microphone et à la caméra const stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }); console.log('✅ Permissions média accordées'); // Arrêter immédiatement le stream (on ne le garde pas ouvert) stream.getTracks().forEach(track => track.stop()); return stream; } catch (error) { console.warn('⚠️ Permissions média non accordées:', error.message); // Masquer les contrôles média si pas de permissions const mediaControls = document.getElementById('media-controls'); if (mediaControls) { mediaControls.style.display = 'none'; } return null; } } // Configuration de l'intégration entre systèmes function setupSystemIntegration() { // 1. Connecter la sauvegarde au système de notification if (typeof backupSystem !== 'undefined') { const originalNotify = backupSystem.notify; backupSystem.notify = function(message, type) { // Afficher l'indicateur de sauvegarde pour les sauvegardes if (message.includes('sauvegarde')) { backupSystem.showBackupIndicator(true); } originalNotify.call(this, message, type); }; } // 2. Connecter le générateur de codes au chat if (typeof codeGenerator !== 'undefined' && typeof mediaAssistant !== 'undefined') { // Le système est déjà connecté via les événements console.log('✅ Intégration chat-codes configurée'); } // 3. Configurer les raccourcis clavier globaux setupGlobalKeyboardShortcuts(); // 4. Configurer la surveillance des performances setupPerformanceMonitoring(); } // Raccourcis clavier globaux function setupGlobalKeyboardShortcuts() { document.addEventListener('keydown', (e) => { // Ctrl+Shift+C : Générer du code rapidement if (e.ctrlKey && e.shiftKey && e.key === 'C') { e.preventDefault(); if (typeof codeGenerator !== 'undefined') { codeGenerator.showGenerateModal(); } } // Ctrl+Shift+S : Sauvegarde d'urgence if (e.ctrlKey && e.shiftKey && e.key === 'S') { e.preventDefault(); if (typeof backupSystem !== 'undefined') { backupSystem.emergencyBackup(); } } // Ctrl+Shift+M : Activer/Désactiver microphone if (e.ctrlKey && e.shiftKey && e.key === 'M') { e.preventDefault(); if (typeof mediaAssistant !== 'undefined') { const micBtn = document.getElementById('microphone-control'); if (micBtn) { micBtn.click(); } } } }); console.log('✅ Raccourcis clavier configurés'); } // Surveillance des performances function setupPerformanceMonitoring() { // Surveiller l'utilisation mémoire (si disponible) if ('memory' in performance) { setInterval(() => { const memInfo = performance.memory; const memUsage = Math.round(memInfo.usedJSHeapSize / 1024 / 1024); // Alerter si utilisation élevée if (memUsage > 100) { console.warn(`⚠️ Utilisation mémoire élevée: ${memUsage}MB`); } }, 30000); // Toutes les 30 secondes } // Surveiller les erreurs JavaScript window.addEventListener('error', (e) => { console.error('❌ Erreur JavaScript:', e.error); // Notifier l'utilisateur en cas d'erreur critique if (typeof securitySystem !== 'undefined') { securitySystem.notify('Une erreur est survenue. Vérifiez la console.', 'warning'); } }); console.log('✅ Surveillance des performances activée'); } // Afficher le statut des systèmes function showSystemStatus() { const statusInfo = { security: typeof securitySystem !== 'undefined' ? '✅' : '❌', backup: typeof backupSystem !== 'undefined' ? '✅' : '❌', voice: typeof voiceSystem !== 'undefined' ? '✅' : '❌', media: typeof mediaAssistant !== 'undefined' ? '✅' : '❌', codes: typeof codeGenerator !== 'undefined' ? '✅' : '❌' }; console.table(statusInfo); // Créer un élément de statut visible const statusElement = document.createElement('div'); statusElement.className = 'system-status'; statusElement.innerHTML = `
Code HTML généré
${this.escapeHtml(codeData.content).substring(0, 300)}${codeData.content.length > 300 ? '...' : ''}
Aucun code généré
Utilisez le chat pour demander la génération de code// Code généré par Rosalinda IA
function exemple() {
console.log("Hello World!");
}(.*?)<\/code>/s);
if (codeMatch) {
const codeContent = codeMatch[1].replace(/
/g, '\n').replace(/ /g, ' ');
// Ajouter au panneau de codes si le générateur existe
if (typeof window.codeGenerator !== 'undefined') {
window.codeGenerator.addCodeToPanel({
language: 'JavaScript',
content: codeContent,
timestamp: new Date()
});
}
}
}
showQuickMessage() {
const quickMessage = prompt('Message rapide pour Rosalinda IA:');
if (quickMessage) {
this.addMessage(quickMessage, 'user');
this.processWithAI(quickMessage);
}
}
showNotification(message, type) {
// Utiliser le système de notification existant
if (typeof window.securitySystem !== 'undefined') {
window.securitySystem.notify(message, type);
} else {
console.log(`[${type.toUpperCase()}] ${message}`);
}
}
}
// Initialiser le système média
const mediaAssistant = new MediaAssistant();
```
Mon Entreprise - Système Protégé
Système de Sécurité Actif
Protection des actifs de l'entreprise
Sauvegarde Automatique
ACTIF
Protection Contre les Réinitialisations
ACTIF
Surveillance 24/7
ACTIF