## 🚀 نشر المشروع ### 🤖 لنظام Hugging Face Spaces: 1. **تحسين packages.txt:** ``` libreoffice libreoffice-writer libreoffice-l10n-ar libreoffice-java-common openjdk-11-jre-headless fonts-liberation fonts-liberation2 fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-croscore fonts-noto-core fonts-noto-ui-core fonts-noto-mono fonts-noto-color-emoji fontconfig wget curl unzip locales ``` 2. **تحسين requirements.txt:** ``` fastapi==0.104.1 uvicorn==0.24.0 python-multipart==0.0.6 PyMuPDF==1.23.26 pdfplumber==0.10.3 ``` 3. **إعدادات README.md:** - تأكد من وجود YAML frontmatter صحيح - اضبط sdk_version على النسخة الصحيحة ### للخوادم المخصصة: 1. **تحسين الذاكرة:** ```bash export JAVA_OPTS="-Xmx2g" export SAL_DISABLE_OPENCL=1 ``` 2. **تحسين الخطوط:** ```bash fc-cache -fv fc-list | grep -i arabic ``` ## 🧪 اختبار النشر ### 1. اختبار أساسي: ```bash python test_conversion.py ``` ### 2. اختبار الخطوط العربية: ```bash fc-list | grep -i "amiri\|scheherazade\|noto.*arabic\|arial" ``` ### 3. اختبار LibreOffice: ```bash libreoffice --headless --convert-to pdf test.docx ``` ## 🔍 استكشاف أخطاء النشر ### مشكلة: LibreOffice لا يعمل **الحل:** ```bash # تحقق من التثبيت libreoffice --version # إعادة تثبيت sudo apt-get remove --purge libreoffice* sudo apt-get install libreoffice libreoffice-writer libreoffice-java-common ``` ### مشكلة: الخطوط العربية مفقودة **الحل:** ```bash # تثبيت خطوط إضافية يتم تنزيلها عبر setup_fonts.py # تحديث cache sudo fc-cache -fv # التحقق fc-list | grep -i arabic ``` ### مشكلة: أخطاء الذاكرة **الحل:** ```bash # زيادة حد الذاكرة export JAVA_OPTS="-Xmx4g" # تعطيل OpenCL export SAL_DISABLE_OPENCL=1 ``` ### مشكلة: بطء التحويل **الحل:** - قلل حجم الملفات المدخلة - استخدم خادم بمواصفات أعلى - فعل التخزين المؤقت ## 📊 مراقبة الأداء ### مؤشرات مهمة: - وقت التحويل (يجب أن يكون < 30 ثانية للملفات العادية) - استخدام الذاكرة (يجب أن يكون < 2GB) - معدل نجاح التحويل (يجب أن يكون > 95%) ### أدوات المراقبة: ```bash # مراقبة الذاكرة htop # مراقبة العمليات ps aux | grep libreoffice # مراقبة السجلات tail -f /var/log/syslog ``` ## 🔒 الأمان ### إعدادات الأمان: 1. تحديد حجم الملفات المرفوعة (< 50MB) 2. تنظيف الملفات المؤقتة تلقائياً 3. تحديد وقت انتهاء للعمليات (timeout) 4. منع تنفيذ الكود الضار في الملفات ### أفضل الممارسات: - استخدم HTTPS دائماً - فعل rate limiting - راقب استخدام الموارد - احتفظ بنسخ احتياطية من الإعدادات ## 🔄 التحديثات ### تحديث الخطوط: لتحديث الخطوط العربية، قم بتشغيل: ```bash python setup_fonts.py ``` ### تحديث التبعيات: لتحديث التبعيات، قم بتعديل requirements.txt ثم: ```bash pip install -r requirements.txt --upgrade ```