import 'package:flutter/material.dart'; import 'dart:async'; class ImageStreamWidget extends StatefulWidget { final String initialImageUrl; ImageStreamWidget({required this.initialImageUrl}); @override _ImageStreamWidgetState createState() => _ImageStreamWidgetState(); } class _ImageStreamWidgetState extends State { late String currentImageUrl; late Timer _timer; @override void initState() { super.initState(); currentImageUrl = widget.initialImageUrl; // Créez un Timer pour mettre à jour l'image toutes les secondes _timer = Timer.periodic(Duration(seconds: 1), (timer) { updateImageUrl(); }); } void updateImageUrl() { // Changez l'URL de l'image ici à chaque itération du timer // Par exemple, ajoutez un timestamp pour forcer le rafraîchissement final timestamp = DateTime.now().millisecondsSinceEpoch; setState(() { currentImageUrl = widget.initialImageUrl + '?timestamp=$timestamp'; }); } @override void dispose() { super.dispose(); // Arrêtez le timer lorsque le widget est supprimé _timer.cancel(); } @override Widget build(BuildContext context) { // Affichez l'image à partir de l'URL actuelle return Image.network(currentImageUrl); } }