Todo-list complète avant de lancer une application desktop.
- Tests unitaires passent (
cargo test) - Tests d'intégration passent
- Couverture de code acceptable (> 60%)
- Tests manuels sur chaque plateforme cible
-
cargo fmtappliqué -
cargo clippysans warnings - Pas de
TODOouFIXMEbloquants - Documentation Rust (
cargo doc) - Pas de
unwrap()en production - Gestion d'erreurs complète
- Pas de secrets dans le code
- Dépendances auditées (
cargo audit) - Données sensibles chiffrées
- Validation des entrées utilisateur
- Premier lancement guidé (onboarding)
- États de chargement (skeleton, spinner)
- Messages d'erreur compréhensibles
- Confirmation avant actions destructrices
- Undo/Redo pour actions critiques
- Sauvegarde automatique
- Backup des données utilisateur
- Migration de données (versions précédentes)
- Export des données (portabilité)
- Démarrage < 2 secondes
- Pas de freeze UI
- Mémoire raisonnable (< 200MB idle)
- Binaire compilé (x86_64)
- Icône d'application
- Installer MSI ou NSIS
- Signature du code (optionnel mais recommandé)
- Test sur Windows 10 et 11
- Universal binary (Intel + Apple Silicon)
- App bundle (.app)
- DMG pour distribution
- Signature Developer ID
- Notarization Apple
- Test sur macOS récent
- AppImage
- Paquet .deb (Debian/Ubuntu)
- Test sur Ubuntu LTS
- Landing page
- Page de téléchargement
- Documentation utilisateur
- FAQ
- Politique de confidentialité
- Conditions d'utilisation
- Version définie (semver)
- CHANGELOG.md à jour
- Tag Git pour la release
- URLs de téléchargement fonctionnelles
- Checksums publiés (SHA256)
- Détection automatique de l'OS
- Télémétrie (opt-in) configurée
- Crash reporting actif
- Alertes configurées
- Canal de support (email, Discord, forum)
- Feedback widget fonctionnel
- Process de traitement des bugs
- Auto-update configuré et testé
- Notification de nouvelle version
- Rollback possible
- Description claire du produit
- Screenshots de qualité
- Vidéo de démo (optionnel)
- Comparaison avec concurrents
- Meta tags corrects
- Open Graph pour réseaux sociaux
- Schema.org pour rich snippets
- Annonce préparée
- Thread Twitter/X
- Post LinkedIn
- Post sur Reddit/HackerNews (si approprié)
- Licence logicielle définie
- EULA si nécessaire
- Politique de confidentialité
- Conformité RGPD (si EU)
- Nom de marque vérifié
- Logo original
- Assets tiers sous licence correcte
# v1.0.0 - Lancement Initial
Date: YYYY-MM-DD
## Nouveautés
- Gestion des clients
- Création de factures
- Export PDF
- Thème sombre/clair
## Corrections
- N/A (première version)
## Notes
- Configuration système requise: Windows 10+, macOS 12+, Ubuntu 22.04+
- Cette version requiert une nouvelle installation
## Téléchargement
- [Windows (MSI)](https://...)
- [macOS (DMG)](https://...)
- [Linux (AppImage)](https://...)
Checksums SHA256:
- mon-app-1.0.0.msi: abc123...
- mon-app-1.0.0.dmg: def456...
- mon-app-1.0.0.AppImage: ghi789...#!/bin/bash
# scripts/release.sh
VERSION=$1
if [ -z "$VERSION" ]; then
echo "Usage: ./release.sh 1.0.0"
exit 1
fi
echo "🚀 Releasing version $VERSION"
# Vérifications
echo "📋 Running checks..."
cargo test || exit 1
cargo clippy -- -D warnings || exit 1
cargo fmt --check || exit 1
# Build
echo "🔨 Building..."
cargo build --release
# Tag
echo "🏷️ Creating tag..."
git tag -a "v$VERSION" -m "Release v$VERSION"
# Package (à adapter selon vos scripts)
echo "📦 Packaging..."
./scripts/build-windows.ps1
./scripts/build-macos.sh
./scripts/build-linux.sh
echo "✅ Release $VERSION ready!"
echo "Next steps:"
echo " 1. Push tag: git push origin v$VERSION"
echo " 2. Upload packages to GitHub Releases"
echo " 3. Update website download page"
echo " 4. Announce on social media"