passage du singleton à l'abstract factory