Bonjour,

Après avoir tourné en rond pas mal de temps autour du sujet, je me décide à poser ma question sur le forum.

J'utilise le fosuserbundle pour gérer mais utilisateurs et j'aimerais customiser les vues et actions pour les adapter à mon site perso.

Via une page d'inscription, j'ai réussi sans problème à inclure le template formulaire d'inscription.

Le problème c'est que mon formulaire d'inscription, une fois la validation faite redirige par défaut vers la route /register/confirmed , or, je souhaite lorsque l'inscription est validée être redirigé vers la page que je souhaite configurer (par exemple admettons ma page d'accueil)

J'ai vu pour cela que l'on pouvait utiliser un événement "RegistrationConfirmListener", cependant, je n'arrive <u>pas du tout</u> à le mettre en place, je suis toujours redirigé vers ma page /register/confirmed

Voici l'événement que j'ai créé :

<?php
namespace MyApp\UserBundle\EventListener;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
class RegistrationConfirmListener implements EventSubscriberInterface
{
    private $router;
    public function __construct(UrlGeneratorInterface $router)
    {
        $this->router = $router;
    }
    /**
     * {@inheritDoc}
     */
    public static function getSubscribedEvents()
    {
        return array(
                FOSUserEvents::REGISTRATION_CONFIRM => 'onRegistrationConfirm'
        );
    }
    public function onRegistrationConfirm(GetResponseUserEvent $event)
    {
        $url = $this->router->generate('ma_page_d_index');
        $event->setResponse(new RedirectResponse($url));
    }
}
?>

et le service, dans MyApp/UserBundle/routing/config/services.yml :

services:
    europe_user.registration_complet:
         class: Europe\UserBundle\EventListener\RegistrationConfirmListener
         tags:
           - { name: kernel.event_suscriber }

En tout cas comme cela, ça ne fonctionne pas, il me faudrait de l'aide.

Merci par avance.

27 réponses


Est ce que tu veux toujours rediriger l'utilisateur vers la même page?

Si oui, tu peut juste modifier ton security.yml

security:
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt))/
            security: false
        main:
            pattern: .*
            form_login:
                default_target_path: /

Je ne t'ai pas mis le firewall complet, juste l'option qui gère la redirection après login (default_target_path)

En espérant que ca t'aide =)

Bonjour,

Je pense qu'il cherche à rediriger vers la page d'acceuil apres une inscription et non pas apres un login. Donc c'est pas au niveau du firewall qu'il faut le faire.
Là pour l'instant une solution assez bête me vient à l'esprit:
Il faut modifier la vue de la page de confirmation d'inscription de FOS en lui ajoutant la ligne suivante

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=LA_PAGE_VERS_LAQUELLE_TU_SOUHAITE_REDIRIGER">

Hum si tu es toujours redirigé vers la page confirmed, ça vient de la config de FOS, oui je sais, merci captain obvious.

Essaies de changer la route qui se trouve ici :

if ($confirmationEnabled) {
                $this->container->get('session')->set('fos_user_send_confirmation_email/email', $user->getEmail());
                $route = 'fos_user_registration_check_email';
            } else {
                $this->authenticateUser($user);
                <strong>$route = 'fos_user_registration_confirmed';</strong>
            }
            $this->setFlash('fos_user_success', 'registration.flash.user_created');
            $url = $this->container->get('router')->generate($route);
            return new RedirectResponse($url);
        }

Page de la doc : https://github.com/FriendsOfSymfony/FOSUserBundle/blob/1.2.0/Resources/doc/overriding\_controllers.md

Du coup en changeant la route, ça devrait t'emmener où tu veux aller :)
Par contre si tu veux changer la route, il faut la définir dans le fichier "routing" enfin si je ne dis point de connerie :)

Avec un petit truc du genre :

fos_success_registration:
    resource: "@TONSUPERBUNDLEBundle/Controller/"
    type: annotation
    prefix: /registration/success

Bon pour la route enfin le préfixe je dis pas que ça fonctionne, je donne une idée :)

vivgar
Auteur

Bonjour, merci à tous pour vos réponses, c'est sympa de vous intéresser à mon problème

alors, comme le dit hbenyoussef : je cherche à rediriger vers la page d'accueil après une inscription et non pas après un login. Donc c'est pas au niveau du firewall qu'il faut le faire.

Par contre, mon problème a légèrement changé, j'ai réussi à régler ce premier problème mais un autre est survenu <u></u>:

Pour être précis voici ce que j'essaie de faire :

j'essaie de personnaliser ma page d'inscription pour avoir ma propre page et non la page /register de symfony.

ça marche nickel quand je fais dans ma vue twig :

{{ render(controller("FOSUserBundle:Registration:register")) }}

La méthode registerAction étant la suivante prédéfinie dans le RegistrationController du FOSUserBundle :

public function registerAction(Request $request)
    {
        /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
        $formFactory = $this->container->get('fos_user.registration.form.factory');
        /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
        $userManager = $this->container->get('fos_user.user_manager');
        /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
        $dispatcher = $this->container->get('event_dispatcher');

        $user = $userManager->createUser();
        $user->setEnabled(true);

        $event = new GetResponseUserEvent($user, $request);
        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);

        if (null !== $event->getResponse()) {
            return $event->getResponse();
        }

        $form = $formFactory->createForm();
        $form->setData($user);

        if ('POST' === $request->getMethod()) {
            $form->bind($request);

            if ($form->isValid()) {
                $event = new FormEvent($form, $request);
                $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

                $userManager->updateUser($user);

                if (null === $response = $event->getResponse()) {
                    $url = $this->container->get('router')->generate('fos_user_registration_confirmed');
                    $response = new RedirectResponse($url);
                }

                $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));

                return $response;
            }

        }

        return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:register.html.'.$this->getEngine(), array(
            'form' => $form->createView(),
        ));
    }

Et la vue twig correspondante est la suivante :

{% trans_default_domain 'FOSUserBundle' %}

<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
    {{ form_widget(form) }}
    <div>
        <input type="submit" value="{{ 'registration.submit'|trans }}" />
    </div>
</form>

Le problème c'est que quand il y a une erreur de formulaire, j'arrive dans la page "/register" de symfony et ça, je veux pas.

Ce que je veux lorsqu'il y a une erreur dans l'inscription c'est revenir sur la même page que j'ai redéfini pour mon formulaire <u>MAIS</u> pouvoir afficher les messages d'erreur.

Pour le moment j'ai ajouté ceci à ma méthode RegisterAction (que j'ai surchargée dans mon UserBundle et non laissée dans le FosUserBundle bien sur !) :

if ('POST' === $request->getMethod()) {
        $form->bind($request);

        if ($form->isValid()) {
            $event = new FormEvent($form, $request);
            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

            $userManager->updateUser($user);

            if (null === $response = $event->getResponse()) {
                $url = $this->container->get('router')->generate('fos_user_registration_confirmed');
                $response = new RedirectResponse($url);
            }

            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));

            return $response;
        }

else
            {

                $referer=$request->headers->get('referer');
                return new RedirectResponse($referer);
            }

Je reviens bien vers la page sur laquelle était le formulaire, avec "$referer=$request->headers->get('referer')..."

La où ça coince avec cette méthode, c'est pour récupérer les erreurs du formulaire, et les réafficher sachant que je passe par :

{{ render(controller("FOSUserBundle:Registration:register")) }}

Bon ça fait plus de 6 mois mais je pense que ça peut en aider d'autre.

Dans ta surcharge de la méthode registerAction(), on voit bien le traitement fais si le formulaire est valide. Il passe par le isValid().
Pour rediriger vers ta page index (ou toute autre page) il faut passer dans le traitement si le formulaire n'est pas valide, qui est définit tout à la fin de la méthode en dehors du isValid().

return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:register.html.'.$this->getEngine(), array(
            'form' => $form->createView(),
        ));

Pour ton cas je pense qu'il faut simplement le remplacer par :

return $this->render('TonBundle:TonController:index.html.twig', array(
            'form' => $form->createView(),
        ));

Voila, si ça peut aider pour d'autre.

Bonjour à tous je sais que le sujet et vieux et meme limite fosilisé :) mais je viens de voir que ce sujet traite exactement du pb que je rencontre en ce moment :) mais il ne resoud malheuresement pas le mien!! :(
c'est à dire ..... pour avoir le login et la page d'incription sur ma home page j'ai surcharger les template jusqu'à la tout fonctionne parfaitement
afin de rediriger l'utilisateur une fois incrit sur la page voulu j'utilise l'evenenement REGISTRATION_SUCCESS cela fonctionne aussi :)
Mais comme Vivgar
"
le pb viens quand il y a une erreur de formulaire, j'arrive dans la page "/register" de symfony et ça, je veux pas.

Ce que je veux lorsqu'il y a une erreur dans l'inscription c'est revenir sur la même page que j'ai redéfini pour mon formulaire MAIS pouvoir afficher les messages d'erreur.
"

la solution de gaius ->

return $this->render('TonBundle:TonController:index.html.twig', array(          'form' => $form->createView(),      ));

ne fonctionne pas

ca me met une page blanche pour moi.
Je suis sur ce pb depuis plusieurs jours aprés avoir éclusé la doc de fosuer plusieurs fois et tout les forums traitant de fosuser je séche complet !
je fais appel à une ame charitale qui a trouvé une solution digne de ce nom
Merci d'avance

bonjour,

je te conseil de copier le controlleur "RegistrationController" du FosUserBundle vers ton bundle dans le dossier controlleur. Cette méthode permet de modifier le fonctionnement de fosuserBundle selon vos besoins.
Puis modifié cette fonction (dans le controlleur que tu as copié) pour avoir la redirection vers ton propre page:

 public function confirmedAction()
 {
     return $this->redirect($this->generateUrl('ton_route'));
   }

Noublié pas d'ajouter les les routes de fosuser dans le fichier routing de votre bundle sans faire la modification sur les routes.

j'espére que cette solution est fonctionnelle.

Bonjour emile01 et merci de répondre aussi rapidement
en fait j"ai déja surchargé le controlleur registercontroller dans mon userbundle mais la partie dans mon cas c'est si le formulaire n'est pas valide .

donc la methode

public function confirmedAction()
{

}

se serait pas plutot pour la fin de l'inscription? et dans ce cas le listenner de l'evement prevu a cette effet fonctionne parfaitement !!!
bon je vais quand meme essayer un redirect à la suite du $form-> isvalid()

et une autre chose quelle route doit ton reécrire exactement?
et encore merci infiniment de m'accorder ton attention :)

je pense que le probléme de redirection proviens de votre événement 'REGISTRATION_CONFIRM' dans la classe"RegistrationConfirmListener".
Ce pour cela que tu as toujours redirigé vers la route /register/confirmed, donc il faut changer par :

 return array(
                FOSUserEvents::REGISTRATION_SUCCESS => 'onRegistrationConfirm'
        );

testé ce cas sans faire la modification de la fonction" confirmedAction() " et dit moi la résultat obtenu.

pour plus d'information consulté le fichier FOSUserEvents.php de fosUser, tu trouve tous les configuration des événements

je suis pas sur d'avoir bien compris donc pour etre plus clair voici mon registrationConfirmListener

<?php

namespace BN\UserBundle\EventListener;

use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

class RegistrationConfirmListener implements EventSubscriberInterface
{
    private $router;

    public function __construct(UrlGeneratorInterface $router)
    {
        $this->router = $router;
    }

    /**
     * {@inheritDoc}
     */
    public static function getSubscribedEvents()
    {
        return array(
                FOSUserEvents::REGISTRATION_SUCCESS =>array('onFormSuccess',-10)
        );
    }

    public function onFormSuccess(FormEvent $event)
    {

        $url = $this->router->generate('bn_babyboard_accueil_utilisateur');

        $event->setResponse(new RedirectResponse($url));
    }
}
?>

j'utilise l'event REGISTRATION_SUCCESS

et je devrais donc t'apres toi prendre un autre evenement?

car une fois enregistré je suis bien redirigé vers la page que je veux "accueil_utilisateur"
le probleme c'est juste quand l'enregistrement d'un utilisateur n'est pas valide comme par exemple un email déja utilisé ou un mot de passe non confirmé correctement je suis redirigé sur un page blanche register avec les champs d'enregistrement et le message indiquant le pb de doublon ou de mot de passe etc

si tu as mis la bonne action de formulaire de fosUser tu sera redirigé vers la méme page de l'inscription (register) s'il y a un probléme.
De plus les vérification des champs depend aussi la validation des attributs dans tes classe selon les régles d'ORM (ici) Bref, passe moi ton vue d'inscription

en fait j'ai surchargé les templates pour le login et le register dans la home page
la voici :

{% extends "BNBundle::layout.html.twig" %}
{% block title  %} {{ parent() }}- Index{% endblock %}

{% block babyboard_body %}

        <h4>
          Bienvenue sur Babynotes !       </h4>
<div>
<p>Déjà membre Babynote test : </p>

</div>

{% block fos_user_content %}
<div>
<p>
{{ render(controller("FOSUserBundle:Security:login")) }}

<br>
<br>

<p>Nouveau membre</p>

{% render(controller("FOSUserBundle:Registration:register")) %}

</p> 
</div>
{% endblock fos_user_content %}

{% endblock %}

bon ton vue ne montre pas des erreurs. donc je te propose de créer tous seul le formulaire d'inscription pour voir pourquoi il ne traite pas les erreurs du formulaire. Puis, testé les cas d'echec

 {{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
    {{ form_widget(form) }}
    {{form_errors(form) }}
        {{form_rest(form) }} //
    <div>
        <input type="submit" value="{{ 'registration.submit'|trans }}" />
    </div>
{{ form_end(form) }}

petite question: tu as modifié avant la fonction register !

concernant les champs de formulaire je n'ai rien modifié, j'ai laissé le formulaire de base de fosuser
en fait à part avoir surchargé les templates, et utilisé un evenement je n'ai rien modifer d'autre mais de toute evidence je fais un truc pas bien quelque part :(

la fonction registeraction ?
non ou bien pas volontairement :)
je poste mon registercontroler pour etre sur:

<?php

/*
 * This file is part of the FOSUserBundle package.
 *
 * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace BN\UserBundle\Controller;

use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use FOS\UserBundle\Event\GetResponseUserEvent;
use FOS\UserBundle\Event\FilterUserResponseEvent;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use FOS\UserBundle\Model\UserInterface;

/**
 * Controller managing the registration
 *
 * @author Thibault Duplessis <thibault.duplessis@gmail.com>
 * @author Christophe Coevoet <stof@notk.org>
 */
class RegistrationController extends Controller
{
    public function registerAction(Request $request)
    {
        /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
        $formFactory = $this->get('fos_user.registration.form.factory');
        /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
        $userManager = $this->get('fos_user.user_manager');
        /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
        $dispatcher = $this->get('event_dispatcher');

        $user = $userManager->createUser();
        $user->setEnabled(true);

        $event = new GetResponseUserEvent($user, $request);
        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);

        if (null !== $event->getResponse()) {
            return $event->getResponse();
        }

        $form = $formFactory->createForm();
        $form->setData($user);

        $form->handleRequest($request);

        if ($form->isValid()) {
            $event = new FormEvent($form, $request);
            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

            $userManager->updateUser($user);

            if (null === $response = $event->getResponse()) {

                $this->setFlash('fos_user_success', 'registration.flash.user_created');

                $url = $this->generateUrl('fos_user_registration_confirmed');
                $response = new RedirectResponse($url);
            }

            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));

            return $response;
        }

       return $this->render('FOSUserBundle:Registration:register.html.twig', array(
            'form' => $form->createView(),
        ));

    }

    /**
     * Tell the user to check his email provider
     */
    public function checkEmailAction()
    {
        $email = $this->get('session')->get('fos_user_send_confirmation_email/email');
        $this->get('session')->remove('fos_user_send_confirmation_email/email');
        $user = $this->get('fos_user.user_manager')->findUserByEmail($email);

        if (null === $user) {
            throw new NotFoundHttpException(sprintf('The user with email "%s" does not exist', $email));
        }

        return $this->render('FOSUserBundle:Registration:checkEmail.html.twig', array(
            'user' => $user,
        ));
    }

    /**
     * Receive the confirmation token from user email provider, login the user
     */
    public function confirmAction(Request $request, $token)
    {
        /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
        $userManager = $this->get('fos_user.user_manager');

        $user = $userManager->findUserByConfirmationToken($token);

        if (null === $user) {
            throw new NotFoundHttpException(sprintf('The user with confirmation token "%s" does not exist', $token));
        }

        /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
        $dispatcher = $this->get('event_dispatcher');

        $user->setConfirmationToken(null);
        $user->setEnabled(true);

        $event = new GetResponseUserEvent($user, $request);
        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_CONFIRM, $event);

        $userManager->updateUser($user);

        if (null === $response = $event->getResponse()) {
            $url = $this->generateUrl('fos_user_registration_confirmed');
            $response = new RedirectResponse($url);
        }

        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_CONFIRMED, new FilterUserResponseEvent($user, $request, $response));

        return $response;
    }

    /**
     * Tell the user his account is now confirmed     */
    public function confirmedAction()
    {
        $user = $this->getUser();
        if (!is_object($user) || !$user instanceof UserInterface) {
            throw new AccessDeniedException('This user does not have access to this section.');
        }

        return $this->render('FOSUserBundle:Registration:confirmed.html.twig', array(
            'user' => $user,
            'targetUrl' => $this->getTargetUrlFromSession(),
        ));
    }

    private function getTargetUrlFromSession()
    {
        // Set the SecurityContext for Symfony <2.6
        if (interface_exists('Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface')) {
            $tokenStorage = $this->get('security.token_storage');
        } else {
            $tokenStorage = $this->get('security.context');
        }

        $key = sprintf('_security.%s.target_path', $tokenStorage->getToken()->getProviderKey());

        if ($this->get('session')->has($key)) {
            return $this->get('session')->get($key);
        }
    }
}

quand tu dis de tester le formulaire d'inscription seul, tu veux dire en enlevant le formulaire de login?

bon t'enleve ou te laisse le formulaire de login se change rien , mais tu dois mettre l'ouverture et le fermeture de form au bon endroit.

j'ai supprimer le render login et refait un essai, mais pas de changement
je vais relire une ennieme fois le fosuserevent pour voir si je n'ai pas loupé une subtilité et voir si il n'y pas un un event dédié a cela!

comment ca ?
en fait le form est par defaut celui de register_content.html.twig et donc je ne l'ai pas touché, les form start et end sont bien la !!! si on pas bien de la meme chose

% trans_default_domain 'FOSUserBundle' %}

{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
    {{ form_widget(form) }}
    <div>
        <input type="submit" value="{{ 'registration.submit'|trans }}" />
    </div>

{{ form_end(form) }}

Oui,
dans ton UserType tu as ajouté d'autres champs !
si ce le cas tu dois appelé le formType de la classe mére, donc rajouté çà dans UserType:

 public function getParent()
    {
        return 'fos_user_registration';
    }

Désolé j'avais pas vu la deuxieme page :)
en fait le form est par defaut celui de register_content.html.twig et donc je ne l'ai pas touché, les form start et end sont bien la !!! si on parle bien de la meme chose

% trans_default_domain 'FOSUserBundle' %}

{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
    {{ form_widget(form) }}
    <div>
        <input type="submit" value="{{ 'registration.submit'|trans }}" />
    </div>

{{ form_end(form) }}

ajouté çà dans le form de ta page register_content.html.twig :

 {{ form_errors(form) }} //gére les messages des errors
      {{ form_widget(form._token) }} //protection contre certaines attaques(csrf).

je viens d'essayéet ca change rien
mais de toute facon , j'ai bien les messages d'erreur lors d'un enregistrement qui n'est pas conforme mais le pb c'est qui me renvois sur une autre page de formulaire qui n'est pas celle du départ sur la route http://symfony/web/app_dev.php/register/

alors qu'au départ je m'incris sur la home page dont voici la route http://symfony/web/app_dev.php/

donc c'est pourquoi je me dis que c'est une redirection que je dois faire dans le controller, ou c'est un evenement que je loupe
mais pourquoi ma redirection n'est pas pris en compte si je modifie le render a la sortie de

     if ($form->isValid()) {
            $event = new FormEvent($form, $request);
            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

            $userManager->updateUser($user);

            if (null === $response = $event->getResponse()) {

                $url = $this->generateUrl('fos_user_registration_confirmed');
                $response = new RedirectResponse($url);
            }

            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));

            return $response;
        }

       return $this->render('FOSUserBundle:Registration:register.html.twig', array(
            'form' => $form->createView(),
        ));

    }

pourquoi cette modification n'est pris en compte? j'arrive pas comprendre le raisonnement

return $this->render('BNmonBundle:moncontroller:accueilr.html.twig', array(
            'form' => $form->createView(),

Il est bizarre votre probléme.
Vidé le cache de votre application avec cette commande: php app/console cache:clear

c'est la premiere chose que j'ai fait :) et pas qu'une fois mais malheuresement rien n'y fait !!! :(
c'est rageant, je ne comprend pas mais le peu de sujet traitant le pb sur les différents forum que j'ai visité, ne vont jamais au bout, comme celui que je viens de réouvrir à croire qu'il n' y a pas de solution ou alors c'est tellement bête que personne n'y revient :)
(au moins le pb a quand même déja été rencontré je ne suis pas le seule :)
je lache rien je vais finir par trouver, merci encore du temps, que vous m'avez accordé