Partager via


Activer des fonctionnalités selon une planification dans une application web Go Gin

Dans ce guide, vous utilisez le filtre de fenêtre de temps pour activer une fonctionnalité selon une planification pour une application web Go Gin.

L’exemple utilisé dans cet article est basé sur l’application web Go Gin introduite dans le guide de démarrage rapide de gestion des fonctionnalités. Avant de continuer, suivez le guide de démarrage rapide pour créer une application web Go Gin avec un indicateur de fonctionnalité bêta . Une fois terminé, vous devez ajouter un filtre de fenêtre de temps à l’indicateur de fonctionnalité Bêta dans votre magasin App Configuration.

Prerequisites

Utiliser le filtre de fenêtre de temps

Vous avez ajouté un filtre de fenêtre de temps pour votre indicateur de fonctionnalité Bêta dans les conditions préalables. Ensuite, vous allez utiliser l’indicateur de fonctionnalité avec le filtre de fenêtre de temps dans votre application web Go Gin.

Lorsque vous créez un gestionnaire de fonctionnalités, les filtres de fonctionnalités intégrés sont automatiquement ajoutés à sa collection de filtres de fonctionnalités

Le code existant à partir du démarrage rapide gère déjà les filtres de fenêtre de temps via le gestionnaire de fonctionnalités :

// Create feature flag provider
featureFlagProvider, err := azappconfig.NewFeatureFlagProvider(appConfig)
if err != nil {
    log.Fatalf("Error creating feature flag provider: %v", err)
}

// Create feature manager (supports built-in filters including TimeWindowFilter)
featureManager, err := featuremanagement.NewFeatureManager(featureFlagProvider, nil)
if err != nil {
    log.Fatalf("Error creating feature manager: %v", err)
}

L’évaluation des fonctionnalités dans votre intergiciel respecte désormais le filtre de fenêtre de temps :

func (app *WebApp) featureMiddleware() gin.HandlerFunc {
    return func(c *gin.Context) {
        // Check if Beta feature is enabled (TimeWindowFilter is automatically evaluated)
        betaEnabled, err := app.featureManager.IsEnabled("Beta")
        if err != nil {
            log.Printf("Error checking Beta feature: %v", err)
        }

        // Store feature flag status for use in templates
        c.Set("betaEnabled", betaEnabled)
        c.Next()
    }
}

Le filtre de fenêtre de temps en action

Relancez l’application. Si l’heure actuelle est antérieure à l’heure de début définie pour le filtre de fenêtre de temps, l’élément de menu Bêta n’apparaît pas dans la barre d’outils. Effectivement, l’indicateur de fonctionnalité bêta est désactivé par le filtre de fenêtre de temps.

Capture d’écran de l’application web Gin avec le menu Bêta masqué.

Une fois l’heure de début passée, actualisez votre navigateur quelques fois. Vous remarquerez que désormais, l’élément de menu Bêta s'affiche. Effectivement, l’indicateur de fonctionnalité bêta est maintenant activé par le filtre de fenêtre de temps.

Capture d’écran de l’application web Gin avec le menu Bêta.

Next steps

Pour en savoir plus sur les filtres de fonctionnalités, consultez les documents suivants.

Pour un aperçu complet des fonctionnalités de la bibliothèque de gestion des fonctionnalités Go, consultez le document suivant.