📚 Updated project documentation and chat training data files
This commit is contained in:
@ -1 +1,308 @@
|
||||
|
||||
# Screenshot-Tool für Mitarbeiterschulungen
|
||||
|
||||
## Überblick
|
||||
|
||||
Das automatische Screenshot-Tool erstellt systematisch Screenshots aller Seiten Ihrer Webanwendung für Schulungszwecke und Präsentationsmaterial. Es ist speziell für die Ausarbeitung von Mitarbeiterschulungen und IHK-Präsentationen entwickelt worden.
|
||||
|
||||
## Funktionen
|
||||
|
||||
### 🎯 Kernfunktionen
|
||||
- **Automatische Routenerkennung**: Erkennt alle verfügbaren Seiten der Webanwendung
|
||||
- **Multi-Auflösung**: Screenshots in Desktop-, Tablet- und Mobile-Auflösungen
|
||||
- **Kategorisierung**: Organisiert Screenshots nach Benutzergruppen (Admin, Benutzer, Öffentlich)
|
||||
- **Automatischer Login**: Meldet sich automatisch als Administrator an
|
||||
- **Detaillierte Berichte**: Erstellt umfassende Berichte über erstellte Screenshots
|
||||
|
||||
### 📱 Unterstützte Auflösungen
|
||||
- **Desktop**: 1920x1080 (Standard)
|
||||
- **Tablet**: 1024x768
|
||||
- **Mobile**: 375x667 (iPhone-Format)
|
||||
- **Large Desktop**: 2560x1440 (4K-Display)
|
||||
|
||||
### 📂 Ordnerstruktur
|
||||
```
|
||||
docs/schulung/screenshots/
|
||||
├── admin/ # Administrator-Bereich
|
||||
│ ├── desktop/ # Desktop-Auflösung
|
||||
│ ├── tablet/ # Tablet-Auflösung
|
||||
│ └── mobile/ # Mobile-Auflösung
|
||||
├── benutzer/ # Allgemeiner Benutzerbereich
|
||||
│ ├── desktop/
|
||||
│ ├── tablet/
|
||||
│ └── mobile/
|
||||
├── oeffentlich/ # Öffentlich zugängliche Seiten
|
||||
│ ├── desktop/
|
||||
│ ├── tablet/
|
||||
│ └── mobile/
|
||||
├── berichte/ # Berichte und Statistiken
|
||||
└── wartung/ # Wartung und System-Tools
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
### Voraussetzungen
|
||||
- **Python 3.7+** installiert
|
||||
- **Google Chrome** oder **Firefox** Browser
|
||||
- **Flask-Webanwendung** läuft lokal
|
||||
|
||||
### 1. Abhängigkeiten installieren
|
||||
```bash
|
||||
pip install selenium webdriver-manager
|
||||
```
|
||||
|
||||
### 2. ChromeDriver (automatisch)
|
||||
Das Tool installiert ChromeDriver automatisch über `webdriver-manager`.
|
||||
|
||||
### 3. Tool-Dateien
|
||||
Die folgenden Dateien sollten im `scripts/` Ordner vorhanden sein:
|
||||
- `screenshot_tool.py` - Hauptprogramm
|
||||
- `screenshot_config.json` - Konfigurationsdatei
|
||||
- `run_screenshot_tool.ps1` - PowerShell-Skript für Windows
|
||||
|
||||
## Verwendung
|
||||
|
||||
### Methode 1: PowerShell-Skript (Windows - Empfohlen)
|
||||
|
||||
```powershell
|
||||
# Einfache Ausführung
|
||||
.\scripts\run_screenshot_tool.ps1
|
||||
|
||||
# Interaktiver Modus
|
||||
.\scripts\run_screenshot_tool.ps1 -Interactive
|
||||
|
||||
# Quick-Run mit benutzerdefinierten Parametern
|
||||
.\scripts\run_screenshot_tool.ps1 -QuickRun -ServerUrl "http://localhost:5000"
|
||||
```
|
||||
|
||||
### Methode 2: Direkter Python-Aufruf
|
||||
|
||||
```bash
|
||||
cd scripts
|
||||
python screenshot_tool.py
|
||||
```
|
||||
|
||||
### Methode 3: Mit Konfigurationsdatei
|
||||
|
||||
1. **Konfiguration anpassen**:
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"base_url": "http://localhost:5000",
|
||||
"admin_email": "admin@example.com",
|
||||
"admin_password": "admin123"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
2. **Tool ausführen**:
|
||||
```bash
|
||||
python screenshot_tool.py --config screenshot_config.json
|
||||
```
|
||||
|
||||
## Konfiguration
|
||||
|
||||
### Server-Einstellungen
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"base_url": "http://localhost:5000",
|
||||
"admin_email": "admin@example.com",
|
||||
"admin_password": "admin123"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Browser-Einstellungen
|
||||
```json
|
||||
{
|
||||
"browser": {
|
||||
"type": "chrome", // "chrome" oder "firefox"
|
||||
"headless": true, // Ohne GUI (für Server)
|
||||
"page_load_timeout": 15, // Sekunden
|
||||
"screenshot_delay": 2 // Wartezeit vor Screenshot
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Erweiterte Einstellungen
|
||||
```json
|
||||
{
|
||||
"advanced": {
|
||||
"take_full_page_screenshots": true,
|
||||
"wait_for_dynamic_content": true,
|
||||
"generate_thumbnails": true,
|
||||
"compress_images": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Ausgabe und Berichte
|
||||
|
||||
### Screenshot-Dateien
|
||||
- **Format**: PNG (verlustfrei)
|
||||
- **Benennung**: `seitenname_auflösung_zeitstempel.png`
|
||||
- **Beispiel**: `dashboard_desktop_20250116_143022.png`
|
||||
|
||||
### Automatische Berichte
|
||||
|
||||
#### 1. JSON-Bericht (`screenshot_report.json`)
|
||||
```json
|
||||
{
|
||||
"session_info": {
|
||||
"start_time": "2025-01-16T14:30:22",
|
||||
"duration_seconds": 125.5,
|
||||
"total_screenshots": 48
|
||||
},
|
||||
"statistics": {
|
||||
"successful_screenshots": 45,
|
||||
"failed_screenshots": 3,
|
||||
"skipped_routes": 12
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. Markdown-Bericht (`screenshot_bericht.md`)
|
||||
- Übersichtliche Darstellung aller Ergebnisse
|
||||
- Verwendungshinweise für Schulungen
|
||||
- Empfehlungen für Präsentationen
|
||||
|
||||
## Verwendung für Schulungen
|
||||
|
||||
### 1. IHK-Präsentationen
|
||||
- **Desktop-Screenshots** für Hauptpräsentationen verwenden
|
||||
- **Admin-Ordner** für Administrative Funktionen zeigen
|
||||
- **Benutzer-Ordner** für alltägliche Arbeitsabläufe
|
||||
|
||||
### 2. Mitarbeiterschulungen
|
||||
- **Schritt-für-Schritt-Anleitungen** mit Screenshots erstellen
|
||||
- **Verschiedene Auflösungen** für Responsive-Design-Demonstrationen
|
||||
- **Kategorisierte Ordner** für zielgruppenspezifische Schulungen
|
||||
|
||||
### 3. PowerPoint-Integration
|
||||
```
|
||||
1. Screenshots aus docs/schulung/screenshots/ importieren
|
||||
2. Desktop-Auflösung für Folien verwenden
|
||||
3. Mobile-Screenshots für Responsive-Design-Folien
|
||||
4. Admin-Screenshots für Administratoren-Schulungen
|
||||
5. Benutzer-Screenshots für allgemeine Mitarbeiterschulungen
|
||||
```
|
||||
|
||||
### 4. Schulungshandbuch
|
||||
- Screenshots als Illustrationen verwenden
|
||||
- Schritt-für-Schritt-Anleitungen visuell unterstützen
|
||||
- Verschiedene Benutzerrollen demonstrieren
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
### Häufige Probleme
|
||||
|
||||
#### 1. "Selenium nicht verfügbar"
|
||||
```bash
|
||||
pip install selenium
|
||||
```
|
||||
|
||||
#### 2. "ChromeDriver nicht gefunden"
|
||||
```bash
|
||||
pip install webdriver-manager
|
||||
```
|
||||
|
||||
#### 3. "Login fehlgeschlagen"
|
||||
- Admin-Zugangsdaten in Konfiguration prüfen
|
||||
- Server-URL korrekt?
|
||||
- Flask-App läuft?
|
||||
|
||||
#### 4. "Keine Screenshots erstellt"
|
||||
- Browser startet nicht → Headless-Modus deaktivieren
|
||||
- Zeitüberschreitung → Timeouts erhöhen
|
||||
- Routen nicht gefunden → Flask-App-Verbindung prüfen
|
||||
|
||||
### Debug-Modus
|
||||
```bash
|
||||
# Ausführlicher Logging
|
||||
export SCREENSHOT_DEBUG=true
|
||||
python screenshot_tool.py
|
||||
|
||||
# Nicht-Headless-Modus (zeigt Browser)
|
||||
export SCREENSHOT_HEADLESS=false
|
||||
python screenshot_tool.py
|
||||
```
|
||||
|
||||
### Log-Dateien
|
||||
- **screenshot_tool.log**: Detaillierte Ausführungslogs
|
||||
- **selenium.log**: Browser-spezifische Logs
|
||||
|
||||
## Erweiterte Verwendung
|
||||
|
||||
### 1. Benutzerdefinierte Routen
|
||||
```json
|
||||
{
|
||||
"routes": {
|
||||
"custom_routes": [
|
||||
{
|
||||
"url": "/special-demo",
|
||||
"category": "benutzer",
|
||||
"description": "Spezielle Demo-Seite"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Geplante Ausführung
|
||||
```bash
|
||||
# Windows Task Scheduler
|
||||
schtasks /create /tn "Screenshot Tool" /tr "powershell.exe .\scripts\run_screenshot_tool.ps1 -QuickRun" /sc weekly
|
||||
|
||||
# Linux Cron
|
||||
0 2 * * 0 cd /path/to/project && python scripts/screenshot_tool.py
|
||||
```
|
||||
|
||||
### 3. CI/CD-Integration
|
||||
```yaml
|
||||
# GitHub Actions Beispiel
|
||||
- name: Create Screenshots
|
||||
run: |
|
||||
pip install selenium webdriver-manager
|
||||
python scripts/screenshot_tool.py --headless --output docs/screenshots
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### 1. Vor der Ausführung
|
||||
- ✅ Server läuft und ist erreichbar
|
||||
- ✅ Admin-Account funktioniert
|
||||
- ✅ Alle Seiten sind vollständig geladen
|
||||
- ✅ Test-Daten sind vorhanden
|
||||
|
||||
### 2. Für Schulungen
|
||||
- 📸 Verwenden Sie konsistente Auflösungen
|
||||
- 📚 Organisieren Sie Screenshots thematisch
|
||||
- 🎯 Erstellen Sie zielgruppenspezifische Ordner
|
||||
- 📝 Dokumentieren Sie jeden Screenshot
|
||||
|
||||
### 3. Qualitätssicherung
|
||||
- 🔍 Überprüfen Sie Screenshots auf Vollständigkeit
|
||||
- 🎨 Achten Sie auf einheitliche Darstellung
|
||||
- 📊 Verwenden Sie Berichte zur Qualitätskontrolle
|
||||
- 🔄 Automatisieren Sie regelmäßige Updates
|
||||
|
||||
## Support und Weiterentwicklung
|
||||
|
||||
### Bei Problemen
|
||||
1. **Log-Dateien prüfen**: `screenshot_tool.log`
|
||||
2. **Konfiguration validieren**: `screenshot_config.json`
|
||||
3. **Browser-Kompatibilität testen**: Chrome vs. Firefox
|
||||
4. **Netzwerk-Konnektivität prüfen**: Server erreichbar?
|
||||
|
||||
### Erweiterungsmöglichkeiten
|
||||
- **Annotation-Tool**: Automatische Markierungen auf Screenshots
|
||||
- **Video-Recording**: Automatische Bildschirmaufnahmen
|
||||
- **Multi-Language**: Screenshots in verschiedenen Sprachen
|
||||
- **A/B-Testing**: Vergleichsscreenshots verschiedener Versionen
|
||||
|
||||
---
|
||||
|
||||
**Erstellt für**: Mitarbeiterschulungen und IHK-Präsentationen
|
||||
**Version**: 1.0
|
||||
**Datum**: 16.01.2025
|
||||
**Kompatibilität**: Windows 10+, Python 3.7+, Chrome/Firefox
|
@ -1,72 +1,32 @@
|
||||
=================================================================
|
||||
MYP Installation DEBUG Log - 2025-06-03 21:42:26
|
||||
MYP Installation DEBUG Log - 2025-06-03 21:57:48
|
||||
=================================================================
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:451
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:451
|
||||
Debian erkannt über /etc/debian_version: 12.11
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:519
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:519
|
||||
Kein Raspberry Pi erkannt. Hardware-Info:
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:520
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:520
|
||||
- Device Tree: nicht verfügbar
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:521
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:521
|
||||
- CPU Hardware: nicht verfügbar
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:561
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:561
|
||||
Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:26] DEBUG von setup.sh:617
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:617
|
||||
DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup.
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:27] DEBUG von setup.sh:718
|
||||
[2025-06-03 21:57:48] DEBUG von setup.sh:718
|
||||
Externe IP ermittelt über ifconfig.me: 163.116.179.142
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1134
|
||||
sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1190
|
||||
Sysctl-Phase abgeschlossen - fahre mit Installation fort
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1216
|
||||
systemd-networkd nicht aktiv - überspringe
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1242
|
||||
NetworkManager nicht aktiv - überspringe
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1248
|
||||
IPv6 Einträge in /etc/hosts auskommentiert
|
||||
---
|
||||
|
||||
[2025-06-03 21:42:56] DEBUG von setup.sh:1265
|
||||
Netzwerk-Sicherheit ohne Blockierung abgeschlossen
|
||||
---
|
||||
|
||||
[2025-06-03 21:44:44] DEBUG von setup.sh:1571
|
||||
SSL-Verzeichnis erstellt: /usr/local/share/ca-certificates/myp
|
||||
---
|
||||
|
||||
[2025-06-03 21:44:48] DEBUG von setup.sh:1679
|
||||
SSL-Konfiguration abgeschlossen ohne hängende Prozesse
|
||||
---
|
||||
|
||||
[2025-06-03 21:44:49] DEBUG von setup.sh:964
|
||||
flask erfolgreich importiert
|
||||
---
|
||||
|
||||
[2025-06-03 21:44:49] DEBUG von setup.sh:964
|
||||
requests erfolgreich importiert
|
||||
---
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
=================================================================
|
||||
MYP Installation FEHLER Log - 2025-06-03 21:42:26
|
||||
MYP Installation FEHLER Log - 2025-06-03 21:57:48
|
||||
=================================================================
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
=================================================================
|
||||
MYP Installation WARNUNGEN Log - 2025-06-03 21:42:26
|
||||
MYP Installation WARNUNGEN Log - 2025-06-03 21:57:48
|
||||
=================================================================
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
=================================================================
|
||||
MYP Installation Log - 2025-06-03 21:42:26
|
||||
MYP Installation Log - 2025-06-03 21:57:48
|
||||
Script Version: 4.1.0
|
||||
System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
|
||||
=================================================================
|
||||
|
||||
[0;32m[2025-06-03 21:42:26] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ===[0m
|
||||
[0;32m[2025-06-03 21:42:26] ✅ Root-Berechtigung bestätigt[0m
|
||||
[0;32m[2025-06-03 21:42:26] === SYSTEM-RESSOURCEN PRÜFUNG ===[0m
|
||||
[0;32m[2025-06-03 21:57:48] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ===[0m
|
||||
[0;32m[2025-06-03 21:57:48] ✅ Root-Berechtigung bestätigt[0m
|
||||
[0;32m[2025-06-03 21:57:48] === SYSTEM-RESSOURCEN PRÜFUNG ===[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe RAM...[0m
|
||||
[0;35m[FORTSCHRITT] Verfügbarer RAM: 15614MB[0m
|
||||
[0;36m[ERFOLG] ✅ Ausreichend RAM verfügbar (15614MB)[0m
|
||||
@ -16,10 +16,10 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
|
||||
[0;35m[FORTSCHRITT] Prüfe CPU...[0m
|
||||
[0;35m[FORTSCHRITT] CPU: 6 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz[0m
|
||||
[0;36m[ERFOLG] ✅ CPU-Information erfolgreich ermittelt[0m
|
||||
[0;32m[2025-06-03 21:42:26] ✅ System-Ressourcen-Prüfung abgeschlossen[0m
|
||||
[0;32m[2025-06-03 21:57:48] ✅ System-Ressourcen-Prüfung abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Debian/Raspbian-System...[0m
|
||||
[0;34m[DEBUG] Debian erkannt über /etc/debian_version: 12.11[0m
|
||||
[0;32m[2025-06-03 21:42:26] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)[0m
|
||||
[0;32m[2025-06-03 21:57:48] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Raspberry Pi Hardware...[0m
|
||||
[0;34m[INFO] 💻 Standard-PC/Server System (kein Raspberry Pi)[0m
|
||||
[0;34m[DEBUG] Kein Raspberry Pi erkannt. Hardware-Info:[0m
|
||||
@ -31,7 +31,7 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
|
||||
[0;35m[FORTSCHRITT] Prüfe Kernel-Version...[0m
|
||||
[0;34m[INFO] 🐧 Kernel-Version: 6.1.0-37-amd64[0m
|
||||
[0;34m[DEBUG] Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux[0m
|
||||
[0;32m[2025-06-03 21:42:26] ✅ System-Analyse abgeschlossen[0m
|
||||
[0;32m[2025-06-03 21:57:48] ✅ System-Analyse abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Internetverbindung (erweiterte Methoden)...[0m
|
||||
[0;35m[FORTSCHRITT] Teste DNS-Auflösung...[0m
|
||||
[0;34m[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. [0m
|
||||
@ -40,161 +40,5 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
|
||||
[0;35m[FORTSCHRITT] Ermittle externe IP-Adresse...[0m
|
||||
[0;34m[INFO] 🌐 Externe IP: 163.116.179.142[0m
|
||||
[0;34m[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.179.142[0m
|
||||
[0;32m[2025-06-03 21:42:27] === KONFIGURIERE HOSTNAME ===[0m
|
||||
[0;32m[2025-06-03 21:42:27] ✅ Hostname bereits korrekt: 'raspberrypi'[0m
|
||||
[0;32m[2025-06-03 21:42:48] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1[0m
|
||||
[0;32m[2025-06-03 21:42:48] === ROBUSTE SYSTEM-UPDATE ===[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit...[0m
|
||||
[0;35m[FORTSCHRITT] Validiere APT-Repositories...[0m
|
||||
[0;32m[2025-06-03 21:42:48] ✅ Source-Repositories deaktiviert (nicht benötigt)[0m
|
||||
[0;35m[FORTSCHRITT] Aktualisiere Paketlisten mit Retry...[0m
|
||||
[0;35m[FORTSCHRITT] Führe System-Upgrade durch...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere essenzielle System-Tools...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: ca-certificates[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: gnupg[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: curl[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: wget[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: git[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: nano[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: htop[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: rsync[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: unzip[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: sudo[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: systemd[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: lsb-release[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: apt-transport-https[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: software-properties-common[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: bc[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: dbus[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: systemd-timesyncd[0m
|
||||
[0;35m[FORTSCHRITT] Synchronisiere Systemzeit...[0m
|
||||
[0;32m[2025-06-03 21:42:56] ✅ Robustes System-Update abgeschlossen[0m
|
||||
[0;32m[2025-06-03 21:42:56] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT ===[0m
|
||||
[0;35m[FORTSCHRITT] Deaktiviere IPv6 (robust)...[0m
|
||||
[0;35m[FORTSCHRITT] Deaktiviere IPv6 in GRUB...[0m
|
||||
[0;34m[INFO] IPv6 bereits in GRUB deaktiviert[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle robuste sysctl-Konfiguration...[0m
|
||||
[0;36m[ERFOLG] ✅ Basis-sysctl-Konfiguration erstellt[0m
|
||||
[0;34m[DEBUG] sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf[0m
|
||||
[0;35m[FORTSCHRITT] OPTIONAL: Versuche sysctl-Einstellungen anzuwenden...[0m
|
||||
[0;36m[ERFOLG] ✅ MYP sysctl-Einstellungen angewendet[0m
|
||||
[0;34m[DEBUG] Sysctl-Phase abgeschlossen - fahre mit Installation fort[0m
|
||||
[0;35m[FORTSCHRITT] Deaktiviere IPv6 in Netzwerk-Interfaces (vorsichtig)...[0m
|
||||
[0;34m[DEBUG] systemd-networkd nicht aktiv - überspringe[0m
|
||||
[0;34m[DEBUG] NetworkManager nicht aktiv - überspringe[0m
|
||||
[0;34m[DEBUG] IPv6 Einträge in /etc/hosts auskommentiert[0m
|
||||
[0;32m[2025-06-03 21:42:56] ✅ Optionale Netzwerk-Sicherheit konfiguriert:[0m
|
||||
[0;32m[2025-06-03 21:42:56] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf[0m
|
||||
[0;32m[2025-06-03 21:42:56] ⚙️ Einstellungen werden beim nächsten Boot aktiv[0m
|
||||
[0;32m[2025-06-03 21:42:56] 🔧 Netzwerk-Konfiguration vorbereitet[0m
|
||||
[0;34m[INFO] 💡 Tipp: Netzwerk-Sicherheit kann manuell aktiviert werden:[0m
|
||||
[0;34m[INFO] → sudo sysctl -p /etc/sysctl.d/99-myp-security.conf[0m
|
||||
[0;34m[INFO] → Oder automatisch beim nächsten Neustart[0m
|
||||
[0;34m[DEBUG] Netzwerk-Sicherheit ohne Blockierung abgeschlossen[0m
|
||||
[0;32m[2025-06-03 21:42:56] === ROBUSTE PYTHON-INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Python 3 und Build-Abhängigkeiten...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-pip[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-setuptools[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-venv[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-wheel[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: build-essential[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libssl-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libffi-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libbz2-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libreadline-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libsqlite3-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libncurses5-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libncursesw5-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: zlib1g-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: sqlite3[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Python-Installation...[0m
|
||||
[0;32m[2025-06-03 21:43:02] ✅ Python Version: 3.11.2[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere pip für bessere Zuverlässigkeit...[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle systemweite pip-Konfiguration...[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere pip für alle Benutzer...[0m
|
||||
[0;32m[2025-06-03 21:43:02] ✅ pip konfiguriert für Benutzer: user[0m
|
||||
[0;35m[FORTSCHRITT] Aktualisiere pip mit Retry...[0m
|
||||
[0;32m[2025-06-03 21:43:03] ✅ pip Version: 25.1.1[0m
|
||||
[0;32m[2025-06-03 21:43:03] ✅ Robuste Python-Umgebung installiert[0m
|
||||
[0;32m[2025-06-03 21:43:03] === ROBUSTE NODE.JS UND NPM INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Bereinige alte Node.js-Installationen...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Node.js mit Fallback-Strategie...[0m
|
||||
[0;35m[FORTSCHRITT] Verwende Debian Repository als Fallback...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: nodejs npm[0m
|
||||
[0;32m[2025-06-03 21:44:37] ✅ Node.js via Debian Repository installiert[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Node.js Installation...[0m
|
||||
[0;32m[2025-06-03 21:44:37] ✅ Node.js Version: v18.19.0[0m
|
||||
[0;32m[2025-06-03 21:44:38] ✅ npm Version: 9.2.0[0m
|
||||
[0;35m[FORTSCHRITT] Optimiere npm-Konfiguration...[0m
|
||||
[0;32m[2025-06-03 21:44:42] ✅ Node.js und npm erfolgreich installiert[0m
|
||||
[0;32m[2025-06-03 21:44:42] === TIMEOUT-GESICHERTE SSL-ZERTIFIKATE KONFIGURATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere SSL-Grundkomponenten...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: ca-certificates openssl[0m
|
||||
[0;35m[FORTSCHRITT] Aktualisiere CA-Zertifikate (timeout-gesichert)...[0m
|
||||
[0;36m[ERFOLG] ✅ CA-Zertifikate erfolgreich aktualisiert[0m
|
||||
[0;34m[DEBUG] SSL-Verzeichnis erstellt: /usr/local/share/ca-certificates/myp[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Mercedes Corporate Zertifikate (timeout-gesichert)...[0m
|
||||
[0;35m[FORTSCHRITT] Lade CA-Zertifikate nach Mercedes-Import neu (timeout-gesichert)...[0m
|
||||
[0;36m[ERFOLG] ✅ Mercedes-Zertifikate erfolgreich in CA-Store integriert[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere SSL-Umgebungsvariablen...[0m
|
||||
[0;35m[FORTSCHRITT] Validiere SSL-Konfiguration...[0m
|
||||
[0;32m[2025-06-03 21:44:47] ✅ SSL-Zertifikate verfügbar: 144 CA-Zertifikate[0m
|
||||
[0;35m[FORTSCHRITT] Finalisiere SSL-Konfiguration...[0m
|
||||
[0;32m[2025-06-03 21:44:48] ✅ SSL-Zertifikate timeout-gesichert konfiguriert[0m
|
||||
[0;34m[DEBUG] SSL-Konfiguration abgeschlossen ohne hängende Prozesse[0m
|
||||
[0;32m[2025-06-03 21:44:48] === PYTHON-PAKETE INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Python-Pakete...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere requirements.txt...[0m
|
||||
[0;36m[ERFOLG] ✅ requirements.txt erfolgreich installiert[0m
|
||||
[0;35m[FORTSCHRITT] Validiere essenzielle Python-Module...[0m
|
||||
[0;34m[DEBUG] flask erfolgreich importiert[0m
|
||||
[0;34m[DEBUG] requests erfolgreich importiert[0m
|
||||
[0;36m[ERFOLG] ✅ Essenzielle Python-Module verfügbar[0m
|
||||
[0;32m[2025-06-03 21:44:49] ✅ Python-Pakete Installation abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Zeige installierte Python-Pakete...[0m
|
||||
[0;32m[2025-06-03 21:44:50] === ROBUSTES ANWENDUNGS-DEPLOYMENT ===[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle sicheres Zielverzeichnis: /opt/myp[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Source-Dateien...[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Anwendungsdateien (robust)...[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: app.py[0m
|
||||
[0;36m[ERFOLG] ✅ app.py erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: models.py[0m
|
||||
[0;36m[ERFOLG] ✅ models.py erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: requirements.txt[0m
|
||||
[0;36m[ERFOLG] ✅ requirements.txt erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: blueprints[0m
|
||||
[0;36m[ERFOLG] ✅ blueprints erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: config[0m
|
||||
[0;36m[ERFOLG] ✅ config erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: database[0m
|
||||
[0;36m[ERFOLG] ✅ database erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: static[0m
|
||||
[0;36m[ERFOLG] ✅ static erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: templates[0m
|
||||
[0;36m[ERFOLG] ✅ templates erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: uploads[0m
|
||||
[0;36m[ERFOLG] ✅ uploads erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: utils[0m
|
||||
[0;36m[ERFOLG] ✅ utils erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: logs[0m
|
||||
[0;36m[ERFOLG] ✅ logs erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: certs[0m
|
||||
[0;36m[ERFOLG] ✅ certs erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere optionale Datei: package.json[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere optionale Datei: package-lock.json[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere optionale Datei: tailwind.config.js[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere optionale Datei: postcss.config.js[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere optionale Datei: README.md[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle Verzeichnisstruktur...[0m
|
||||
[0;35m[FORTSCHRITT] Setze sichere Berechtigungen...[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere robuste Python-Umgebung...[0m
|
||||
[0;32m[2025-06-03 21:45:01] ✅ Python-Pfad konfiguriert: /usr/local/lib/python3.11/dist-packages/myp-app.pth[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere Umgebungsvariablen...[0m
|
||||
[0;35m[FORTSCHRITT] Versuche Bash-Profile zu aktualisieren (optional)...[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Application Deployment...[0m
|
||||
[0;36m[ERFOLG] ✅ Application Deployment vollständig validiert[0m
|
||||
[0;32m[2025-06-03 21:45:01] ✅ Robustes Anwendungs-Deployment abgeschlossen[0m
|
||||
[0;32m[2025-06-03 21:45:01] 📁 App-Verzeichnis: /opt/myp[0m
|
||||
[0;32m[2025-06-03 21:45:01] 🐍 Python-Pfad konfiguriert[0m
|
||||
[0;32m[2025-06-03 21:57:48] === KONFIGURIERE HOSTNAME ===[0m
|
||||
[0;32m[2025-06-03 21:57:48] ✅ Hostname bereits korrekt: 'raspberrypi'[0m
|
||||
|
@ -1 +1,88 @@
|
||||
|
||||
# 📸 Screenshot-Tool für Mitarbeiterschulungen
|
||||
|
||||
Automatisches Tool zur Erstellung von Screenshots aller Webseiten für Schulungszwecke und IHK-Präsentationen.
|
||||
|
||||
## 🚀 Schnellstart
|
||||
|
||||
### Windows (Empfohlen)
|
||||
```batch
|
||||
# Einfach per Doppelklick ausführen:
|
||||
start_screenshot_tool.bat
|
||||
```
|
||||
|
||||
### PowerShell
|
||||
```powershell
|
||||
.\run_screenshot_tool.ps1
|
||||
```
|
||||
|
||||
### Python (Direkt)
|
||||
```bash
|
||||
python screenshot_tool.py
|
||||
```
|
||||
|
||||
## 📁 Dateien
|
||||
|
||||
| Datei | Beschreibung |
|
||||
|-------|--------------|
|
||||
| `screenshot_tool.py` | Hauptprogramm (Python) |
|
||||
| `screenshot_config.json` | Konfigurationsdatei |
|
||||
| `run_screenshot_tool.ps1` | PowerShell-Skript |
|
||||
| `start_screenshot_tool.bat` | Windows Batch-Datei (Ein-Klick-Start) |
|
||||
| `README.md` | Diese Datei |
|
||||
|
||||
## ⚙️ Konfiguration
|
||||
|
||||
### Wichtige Einstellungen anpassen
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"base_url": "http://localhost:5000",
|
||||
"admin_email": "admin@example.com",
|
||||
"admin_password": "admin123"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 📂 Ausgabe
|
||||
|
||||
Screenshots werden erstellt in:
|
||||
```
|
||||
docs/schulung/screenshots/
|
||||
├── admin/ # Administrator-Bereich
|
||||
│ ├── desktop/ # 1920x1080
|
||||
│ ├── tablet/ # 1024x768
|
||||
│ └── mobile/ # 375x667
|
||||
├── benutzer/ # Benutzer-Bereich
|
||||
└── oeffentlich/ # Öffentliche Seiten
|
||||
```
|
||||
|
||||
## 🎯 Verwendung
|
||||
|
||||
### Für IHK-Präsentationen
|
||||
- Desktop-Screenshots verwenden
|
||||
- Admin-Ordner für System-Funktionen
|
||||
- Strukturierte Ordner-Organisation
|
||||
|
||||
### Für Mitarbeiterschulungen
|
||||
- Alle Auflösungen verfügbar
|
||||
- Kategorisiert nach Benutzergruppen
|
||||
- Automatische Berichte inklusive
|
||||
|
||||
## 🔧 Abhängigkeiten
|
||||
|
||||
```bash
|
||||
pip install selenium webdriver-manager
|
||||
```
|
||||
|
||||
## 📊 Berichte
|
||||
|
||||
Nach der Ausführung verfügbar:
|
||||
- `screenshot_report.json` - Technischer Bericht
|
||||
- `screenshot_bericht.md` - Menschenlesbarer Bericht
|
||||
|
||||
## 🆘 Support
|
||||
|
||||
Bei Problemen siehe: `../docs/SCHULUNG_SCREENSHOT_TOOL.md`
|
||||
|
||||
---
|
||||
**Version**: 1.0 | **Datum**: 16.01.2025
|
@ -1904,7 +1904,7 @@ EOF
|
||||
log "✅ Robustes Anwendungs-Deployment abgeschlossen"
|
||||
log " 📁 App-Verzeichnis: $APP_DIR"
|
||||
log " 🐍 Python-Pfad konfiguriert"
|
||||
log " 🔧 $profile_updated Bash-Profile aktualisiert"
|
||||
log " 🔧 Bash-Profile konfiguriert"
|
||||
log " 🛡️ Sichere Berechtigungen gesetzt"
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user