{"id":49635484,"url":"https://github.com/digitaleflex/flexpress-core","last_synced_at":"2026-05-05T14:34:46.948Z","repository":{"id":299091871,"uuid":"1001962842","full_name":"digitaleflex/flexpress-core","owner":"digitaleflex","description":"FlexPress Core est un socle d'infrastructure WordPress open-source, conteneurisé avec Docker et optimisé pour la production. Il fournit un environnement de développement et de déploiement robuste, sécurisé et performant, tout en offrant un contrôle total et une modularité maximale.","archived":false,"fork":false,"pushed_at":"2026-01-29T07:04:20.000Z","size":554,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-29T22:45:05.853Z","etag":null,"topics":["content-management-system","docker","docker-compose","flexpress-core","wordpress"],"latest_commit_sha":null,"homepage":"https://digitaleflex.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitaleflex.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-14T12:18:57.000Z","updated_at":"2025-06-15T13:04:36.000Z","dependencies_parsed_at":"2025-06-14T16:43:47.083Z","dependency_job_id":"0e1a9ee5-ac53-4bd2-94bc-eeaf16f84b32","html_url":"https://github.com/digitaleflex/flexpress-core","commit_stats":null,"previous_names":["digitaleflex/flexpress-core"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/digitaleflex/flexpress-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitaleflex%2Fflexpress-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitaleflex%2Fflexpress-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitaleflex%2Fflexpress-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitaleflex%2Fflexpress-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitaleflex","download_url":"https://codeload.github.com/digitaleflex/flexpress-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitaleflex%2Fflexpress-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32653668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["content-management-system","docker","docker-compose","flexpress-core","wordpress"],"created_at":"2026-05-05T14:34:46.749Z","updated_at":"2026-05-05T14:34:46.940Z","avatar_url":"https://github.com/digitaleflex.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FlexPress Core\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/digitaleflex/flexpress-core/actions/workflows/docker-build.yml\"\u003e\u003cimg src=\"https://github.com/digitaleflex/flexpress-core/actions/workflows/docker-build.yml/badge.svg\" alt=\"Build, Scan \u0026 Push\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/digitaleflex/flexpress-core/actions/workflows/super-linter.yml\"\u003e\u003cimg src=\"https://github.com/digitaleflex/flexpress-core/actions/workflows/super-linter.yml/badge.svg\" alt=\"Linter\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://img.shields.io/github/license/digitaleflex/flexpress-core\"\u003e\u003cimg src=\"https://img.shields.io/github/license/digitaleflex/flexpress-core\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eUne infrastructure WordPress de Production, open-source et sur mesure.\u003c/strong\u003e\n\u003c/p\u003e\n\n---\n\nFlexPress Core est un socle d'infrastructure WordPress open-source, conteneurisé avec Docker et optimisé pour la production. Il fournit un environnement de développement et de déploiement robuste, sécurisé et performant, tout en offrant un contrôle total et une modularité maximale.\n\nCe projet se situe entre les hébergeurs gérés (souvent des \"boîtes noires\" rigides) et une configuration manuelle complexe. FlexPress Core offre la puissance d'une infrastructure sur mesure avec la simplicité de l'automatisation.\n\n## 📋 Table des matières\n\n1.  [✨ Fonctionnalités](#-fonctionnalités)\n2.  [🛠️ Stack Technique](#-stack-technique)\n3.  [🚀 Démarrage Rapide](#-démarrage-rapide)\n4.  [⚙️ Utilisation](#-utilisation)\n5.  [📁 Structure du Projet](#-structure-du-projet)\n6.  [🤖 CI/CD](#-cicd)\n7.  [🤝 Contribution](#-contribution)\n8.  [📜 Licence](#-licence)\n\n## ✨ Fonctionnalités\n\n-   **🚀 Performance Optimisée** : Construit avec Nginx, PHP-FPM et des optimisations de cache pour des temps de réponse rapides.\n-   **🛡️ Sécurité Renforcée** : Isolation des services, gestion automatisée des secrets via un script, permissions de fichiers sécurisées et en-têtes de sécurité Nginx.\n-   **🧩 Architecture Modulaire** : Un contrôle total sur votre stack. Ajoutez ou remplacez des composants facilement.\n-   **🤖 Automatisation \u0026 DX** : Scripts pour les tâches courantes, environnement reproductible avec Docker et configuration centralisée.\n-   **📦 Prêt pour la Production** : Inclut des healthchecks pour chaque service, une gestion des logs et une structure pensée pour la stabilité.\n-   **🔄 CI/CD Intégrée** : Workflows GitHub Actions pour le linting, les scans de sécurité (Trivy) et le build/push automatique des images Docker avec versioning sémantique.\n\n## 🛠️ Stack Technique\n\n*   **Serveur Web :** [Nginx](https://www.nginx.com/)\n*   **Application :** [WordPress](https://wordpress.org/) (via l'image officielle)\n*   **Base de données :** [MySQL](https://www.mysql.com/)\n*   **Conteneurisation :** [Docker](https://www.docker.com/) \u0026 [Docker Compose](https://docs.docker.com/compose/)\n\n## 🚀 Démarrage Rapide\n\nSuivez ces étapes pour lancer votre environnement FlexPress Core en quelques minutes.\n\n### Prérequis\n\nAssurez-vous d'avoir les outils suivants installés sur votre machine :\n*   [Git](https://git-scm.com/downloads)\n*   [Docker Engine](https://docs.docker.com/engine/install/)\n*   [Docker Compose](https://docs.docker.com/compose/install/) (généralement inclus avec Docker Desktop)\n\n### Installation\n\n1.  **Clonez le dépôt :**\n    ```bash\n    git clone https://github.com/digitaleflex/flexpress-core.git\n    cd flexpress-core\n    ```\n\n2.  **Générez le fichier de configuration :**\n    Le projet utilise un fichier `.env` pour gérer toutes les configurations (ports, mots de passe, etc.). Un script est fourni pour le générer automatiquement avec des secrets sécurisés.\n\n    *Exécutez cette commande depuis un terminal compatible Bash (comme Git Bash sur Windows).* \n    ```bash\n    ./scripts/generate-env.sh\n    ```\n    Ce script crée un fichier `.env` à la racine du projet. Vous pouvez l'éditer si vous souhaitez personnaliser les ports ou d'autres configurations.\n\n3.  **Démarrez l'infrastructure :**\n    Lancez l'ensemble des services en arrière-plan.\n    ```bash\n    docker compose up -d\n    ```\n\nVotre site WordPress est maintenant accessible ! Par défaut, vous pouvez le trouver à l'adresse [http://localhost:9000](http://localhost:9000) (ou le port que vous avez configuré dans `.env`).\n\n## ⚙️ Utilisation\n\nVoici quelques commandes utiles pour gérer votre environnement.\n\n| Commande                               | Description                                             |\n| -------------------------------------- | ------------------------------------------------------- |\n| `docker compose down`                  | Stoppe et supprime tous les conteneurs.                 |\n| `docker compose down -v`               | Stoppe et supprime les conteneurs ET les volumes (données). |\n| `docker compose logs -f wordpress`     | Affiche les logs du conteneur WordPress en temps réel.  |\n| `docker compose exec wordpress bash`   | Ouvre un terminal `bash` dans le conteneur WordPress.   |\n| `docker compose exec wordpress wp ...` | Exécute une commande [WP-CLI](https://wp-cli.org/).     |\n\n**Exemple WP-CLI :** Lister les plugins installés.\n```bash\ndocker compose exec wordpress wp plugin list\n```\n\n## 📁 Structure du Projet\n\n```\nflexpress-core/\n├── .github/                # Workflows GitHub Actions (CI/CD)\n├── config/\n│   ├── nginx/              # Configuration Nginx\n│   └── php/                # Configuration PHP (uploads.ini)\n├── scripts/\n│   ├── generate-env.sh     # Script de génération du .env\n│   └── init-mysql.sh       # Script d'initialisation de la base de données\n├── wordpress/              # Fichiers WordPress (thèmes, plugins)\n├── .gitignore\n├── docker-compose.yml      # Fichier d'orchestration des services Docker\n├── Dockerfile              # Définition de l'image WordPress personnalisée\n└── README.md\n```\n\n## 🤖 CI/CD\n\nLe projet intègre un pipeline CI/CD complet via GitHub Actions :\n\n1.  **Linting (`super-linter.yml`)** : Analyse statique du code pour garantir la qualité et la cohérence sur chaque `push`.\n2.  **Build, Scan \u0026 Push (`docker-build.yml`)** :\n    -   **Construit** les images Docker pour les services.\n    -   **Scanne** l'image WordPress avec [Trivy](https://github.com/aquasecurity/trivy) pour détecter les vulnérabilités.\n    -   **Pousse** les images vers Docker Hub avec un versioning intelligent :\n        -   `latest` pour chaque push sur `main`.\n        -   Tags sémantiques (ex: `1.0.0`, `1.0`) pour chaque tag Git `v*` poussé.\n\n## 🤝 Contribution\n\nLes contributions sont les bienvenues ! Si vous souhaitez améliorer FlexPress Core, veuillez suivre ces étapes :\n1.  Forkez le projet.\n2.  Créez une nouvelle branche (`git checkout -b feature/nouvelle-fonctionnalite`).\n3.  Commitez vos changements (`git commit -m 'feat: ajoute une nouvelle fonctionnalité'`).\n4.  Poussez vers la branche (`git push origin feature/nouvelle-fonctionnalite`).\n5.  Ouvrez une Pull Request.\n\n## 📜 Licence\n\nCe projet est distribué sous la **Licence MIT**. Consultez le fichier `LICENSE` pour plus de détails.\n    ```bash\n    docker compose exec wordpress sh\n    ```\n\n---\n\n## 🚑 Dépannage\n\n-   **Erreur : \"Port is already allocated\"**\n    -   **Cause :** Un autre service sur votre machine utilise le port défini pour Nginx (par défaut `9000`).\n    -   **Solution :** Modifiez la variable `NGINX_PORT` dans votre fichier `.env` pour un autre port (ex: `9001`) et redémarrez avec `docker compose up -d`.\n\n---\n\n## 📚 Documentation\n\nLa documentation complète du projet se trouve dans le dossier `docs/` :\n\n-   **[Guide de Configuration](docs/CONFIGURATION.md)** : Pour un aperçu détaillé de toutes les options de configuration.\n-   **[Documentation d'Architecture](docs/ARCHITECTURE.md)** : Pour comprendre le fonctionnement interne des services.\n-   **[Guide de Sécurité](docs/SECURITY.md)** : Pour comprendre les mesures de sécurité intégrées.\n-   **[Feuille de Route (Roadmap)](docs/ROADMAP.md)** : Pour voir les futures évolutions du projet.\n-   **[Changelog](CHANGELOG.md)** : Pour suivre l'historique des changements.\n\n---\n\n## 🤝 Contribution\n\nNous accueillons avec plaisir les contributions de la communauté !\n\nAvant de commencer, veuillez consulter notre **[Guide de Contribution](docs/CONTRIBUTING.md)** et notre **[Code de Conduite](docs/CODE_OF_CONDUCT.md)** pour comprendre les règles et le processus de soumission.\n\n## 📄 Licence\n\nCe projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.\n\n---\n\nDéveloppé avec ❤️ par [eflexcloud](https://github.com/digitaleflex). ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitaleflex%2Fflexpress-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitaleflex%2Fflexpress-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitaleflex%2Fflexpress-core/lists"}