diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml new file mode 100644 index 0000000..5b91d12 --- /dev/null +++ b/.github/workflows/deploy-pages.yml @@ -0,0 +1,48 @@ +name: Deploy GitHub Pages + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload docs directory + path: './docs' + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/README.md b/README.md index ead49f4..74dd9c3 100644 --- a/README.md +++ b/README.md @@ -126,9 +126,11 @@ Le projet utilise GitHub Actions pour l'automatisation : ## 📚 Documentation +- **🌐 [Site officiel](https://phoenixguardiantools.github.io/py-stats-toolkit/)** - Hébergé gratuitement sur GitHub Pages - [Documentation complète](https://py-stats-toolkit.readthedocs.io/) - [Exemples d'utilisation](https://github.com/PhoenixGuardianTools/py-stats-toolkit/tree/main/examples) - [Guide de contribution](CONTRIBUTING.md) +- [Guide GitHub Pages](GITHUB_PAGES_GUIDE.md) - Comment avoir un domaine gratuit comme github.io ## 🧪 Tests et Qualité du Code diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..dd80ccb --- /dev/null +++ b/docs/404.html @@ -0,0 +1,70 @@ + + + + + + Page non trouvée - Py-Stats-Toolkit + + + +
+
404
+

Page non trouvée

+

Désolé, la page que vous recherchez n'existe pas.

+ ← Retour à l'accueil +
+ + \ No newline at end of file diff --git a/docs/CNAME.example b/docs/CNAME.example new file mode 100644 index 0000000..0bd35cf --- /dev/null +++ b/docs/CNAME.example @@ -0,0 +1,3 @@ +# This file is not currently used but can be configured later +# for custom domain setup. For now, the site is available at: +# https://phoenixguardiantools.github.io/py-stats-toolkit/ \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..f69803a --- /dev/null +++ b/docs/README.md @@ -0,0 +1,64 @@ +# Documentation Site / GitHub Pages + +Ce dossier contient la documentation et le site web statique pour py-stats-toolkit, hébergé gratuitement sur GitHub Pages. + +## 🌐 Accès au site + +Le site est accessible à l'adresse : **https://phoenixguardiantools.github.io/py-stats-toolkit/** + +## 🎯 Objectif + +Ce site répond à la question : "Comment avoir un nom de domaine gratuit comme github.io?" + +GitHub Pages offre un hébergement gratuit avec un domaine automatique au format : +- `username.github.io` pour les sites utilisateur/organisation +- `username.github.io/repository-name` pour les sites de projet + +## 📁 Structure + +``` +docs/ +├── index.html # Page d'accueil principale +├── 404.html # Page d'erreur personnalisée +├── robots.txt # Configuration pour les moteurs de recherche +├── sitemap.xml # Plan du site pour SEO +├── _config.yml # Configuration Jekyll +├── CNAME.example # Exemple pour domaine personnalisé +└── README.md # Cette documentation +``` + +## 🚀 Déploiement automatique + +Le site est déployé automatiquement via GitHub Actions (`.github/workflows/deploy-pages.yml`) à chaque push sur la branche principale. + +## 🎨 Fonctionnalités du site + +- ✅ Design responsive et moderne +- ✅ Installation et exemples d'utilisation +- ✅ Liens vers PyPI et GitHub +- ✅ SEO optimisé +- ✅ Meta tags Open Graph et Twitter Card +- ✅ Favicon personnalisé +- ✅ Page 404 personnalisée + +## 📈 SEO et référencement + +- Sitemap XML pour l'indexation +- Robots.txt configuré +- Meta descriptions optimisées +- Structure HTML sémantique +- Schema.org markup + +## 💡 Domaine personnalisé (optionnel) + +Pour utiliser un domaine personnalisé : +1. Ajouter un fichier `CNAME` avec votre domaine +2. Configurer les DNS chez votre registrar +3. Activer HTTPS dans les paramètres GitHub Pages + +## 🔧 Modifications + +Pour modifier le site : +1. Éditez les fichiers dans le dossier `docs/` +2. Committez et pushez les changements +3. Le site se met à jour automatiquement \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..d29e780 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,439 @@ + + + + + + Py-Stats-Toolkit - Toolkit Python pour l'Analyse Statistique + + + + + + + + + + + + + + + + + + + + + + + +
+
+

📊 Py-Stats-Toolkit

+

Toolkit Python complet pour l'analyse statistique et le traitement des données

+ +
+ Python 3.8+ + MIT License + v1.0.4 + PyPI +
+ + +
+
+ +
+
+ +
+

🚀 Installation Rapide

+
+ + +
+ +
+
+# Installation depuis PyPI (recommandé) +pip install py-stats-toolkit==1.0.3 +
+
+ +
+
+# Installation depuis les sources +git clone https://github.com/PhoenixGuardianTools/py-stats-toolkit.git +cd py-stats-toolkit +pip install -e . +
+
+
+ + +
+

🎯 Fonctionnalités Principales

+
+
+
📈
+

Statistiques Descriptives

+

Calcul automatique de toutes les statistiques descriptives avec gestion des valeurs manquantes et validation des données.

+
+ +
+
📊
+

Régression Linéaire

+

Régression linéaire simple et multiple avec validation des hypothèses et diagnostics complets.

+
+ +
+
🔗
+

Analyse de Corrélation

+

Matrices de corrélation, tests de significativité et visualisations avancées.

+
+ +
+
🎨
+

Visualisation

+

Graphiques statistiques professionnels avec personnalisation complète et export haute qualité.

+
+
+
+ + +
+

💡 Exemple d'Utilisation

+
+from py_stats_toolkit.stats import descriptives, regression, correlation +from py_stats_toolkit.visualization import plots +import pandas as pd + +# Charger vos données +data = pd.read_csv('votre_fichier.csv') + +# Statistiques descriptives +stats = descriptives.calculate_descriptive_statistics(data) +print(stats) + +# Régression linéaire +model = regression.linear_regression(data, 'variable_cible', ['var1', 'var2']) +print(model.summary()) + +# Visualisation +plots.create_correlation_matrix(data) +
+
+ + +
+

🏆 Qualité du Code

+

Le projet suit les meilleures pratiques Python avec plusieurs outils de qualité :

+
    +
  • Black : Formatage automatique du code selon les standards PEP8
  • +
  • isort : Organisation automatique des imports
  • +
  • Flake8 : Détection des erreurs de style et de qualité
  • +
  • MyPy : Vérification statique des types
  • +
  • Bandit : Analyse de sécurité pour détecter les vulnérabilités
  • +
  • Pytest : Framework de tests complet avec couverture
  • +
+ +
+# Contrôle de qualité +black . # Formatage du code +isort . # Tri des imports +flake8 . # Linting PEP8 +mypy py_stats_toolkit/ # Vérification des types +bandit -r py_stats_toolkit/ # Analyse de sécurité +
+
+ + +
+

🔗 Liens Utiles

+
+
+
📦
+

PyPI Package

+

Installation directe via pip

+
+ +
+
💻
+

Code Source

+

Repository GitHub complet

+
+ +
+
🐛
+

Issues & Support

+

Rapporter des bugs ou demander de l'aide

+
+ +
+
📋
+

Releases

+

Historique des versions

+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/docs/robots.txt b/docs/robots.txt new file mode 100644 index 0000000..e37a5d6 --- /dev/null +++ b/docs/robots.txt @@ -0,0 +1,5 @@ +User-agent: * +Allow: / + +# Sitemap +Sitemap: https://phoenixguardiantools.github.io/py-stats-toolkit/sitemap.xml \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 0000000..09a6d78 --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,9 @@ + + + + https://phoenixguardiantools.github.io/py-stats-toolkit/ + 2024-09-15 + weekly + 1.0 + + \ No newline at end of file