Skip to content

Latest commit

 

History

History
213 lines (148 loc) · 4.82 KB

File metadata and controls

213 lines (148 loc) · 4.82 KB

Gestion des versions et mises à jour - Tekwork

Workflow de versioning

Tekwork utilise le Semantic Versioning (SemVer) : MAJOR.MINOR.PATCH

  • MAJOR (1.0.0) : Changements incompatibles avec l'API existante
  • MINOR (0.2.0) : Nouvelles fonctionnalités compatibles avec l'existant
  • PATCH (0.1.1) : Corrections de bugs et améliorations mineures

Quand Tekwork évolue

1. Faire les modifications dans le framework

cd F:\laragon\www\tekwork

# Développez vos modifications
# Testez que tout fonctionne

2. Commiter les changements

# Vérifier les fichiers modifiés
git status

# Ajouter les fichiers
git add .

# Créer le commit
git commit -m "Description claire des changements"

Exemple de messages de commit :

  • feat: Add Session management component
  • fix: Resolve Router case-sensitivity issue
  • refactor: Simplify CtrlLoader logic
  • docs: Update README with examples

3. Créer un nouveau tag de version

Pour un PATCH (0.1.1, 0.1.2, etc.) :

git tag -a v0.1.1 -m "Fix: Description du bug corrigé"

Pour un MINOR (0.2.0, 0.3.0, etc.) :

git tag -a v0.2.0 -m "Feat: Description des nouvelles fonctionnalités

- Feature 1
- Feature 2
- Feature 3"

Pour un MAJOR (1.0.0, 2.0.0, etc.) :

git tag -a v1.0.0 -m "BREAKING CHANGE: Description des changements incompatibles

Changes:
- Breaking change 1
- Breaking change 2

Migration guide: voir UPGRADE.md"

4. Pousser sur GitHub

# Pousser les commits
git push

# Pousser les tags
git push --tags

Ou en une seule commande :

git push && git push --tags

5. Vérifier sur GitHub

Allez sur https://github.com/Florian418/tekwork/releases pour voir votre nouvelle version.


Mettre à jour Tekwork dans un projet existant

Projets utilisant Composer

Mise à jour vers la dernière version compatible

cd /chemin/vers/votre-projet

# Met à jour vers la dernière version compatible avec votre constraint
composer update tekwork/framework

Mise à jour vers une version spécifique

# Modifier composer.json
"require": {
    "tekwork/framework": "^0.2.0"
}

# Puis mettre à jour
composer update tekwork/framework

Vérifier la version installée

composer show tekwork/framework

Contraintes de version dans composer.json

{
    "require": {
        "tekwork/framework": "^0.1.0"  // >= 0.1.0, < 1.0.0 (recommandé)
        "tekwork/framework": "~0.1.0"  // >= 0.1.0, < 0.2.0
        "tekwork/framework": "0.1.*"   // Toutes les versions 0.1.x
        "tekwork/framework": "*"       // Dernière version (déconseillé)
    }
}

Recommandation : Utilisez ^0.1.0 pour bénéficier des nouvelles fonctionnalités et corrections sans risque de breaking changes.


Checklist avant de créer une nouvelle version

  • Tests effectués localement
  • Code commenté et documenté
  • CLAUDE.md mis à jour si nécessaire
  • README.md mis à jour si ajout de fonctionnalités
  • Commit créé avec un message clair
  • Tag créé avec le bon numéro de version
  • Push effectué sur GitHub (commits + tags)
  • Release créée sur GitHub (optionnel mais recommandé)

Exemple de workflow complet

# 1. Développement
cd F:\laragon\www\tekwork
# ... modifications de code ...

# 2. Commit
git status
git add .
git commit -m "feat: Add CSRF protection component"

# 3. Tag
git tag -a v0.2.0 -m "Add CSRF protection

- New CsrfToken class
- Integration in Controller base
- Helper functions for token generation"

# 4. Push
git push && git push --tags

# 5. Dans votre projet domotique
cd F:\laragon\www\projet-domotique
composer update tekwork/framework

# Vérification
composer show tekwork/framework

Rollback en cas de problème

Si une version pose problème :

# Dans votre projet
composer require tekwork/framework:^0.1.0

# Ou forcer une version spécifique
composer require tekwork/framework:0.1.0

Notes importantes

  1. Ne jamais modifier directement le code de Tekwork dans /vendor de votre projet. Toutes les modifications doivent être faites dans le repo Tekwork lui-même.

  2. Toujours tester avant de créer un tag : Une fois un tag poussé, il ne doit pas être modifié (convention Git).

  3. Documenter les breaking changes : Si vous passez à une version majeure, créez un fichier UPGRADE.md expliquant la migration.

  4. Conserver composer.lock : Dans vos projets (pas dans Tekwork), commitez toujours le composer.lock pour garantir des installations reproductibles.


Support et questions

Pour toute question sur le versioning ou les mises à jour, consultez :