Kad Dembele

L'architecture logicielle

Il y a plusieurs manifestations de l'architecture. Toute architecture est une construction, mais toute construction n'est pas de l'architecture. Pour qu'une construction, une construction mentale, matérielle, visuelle ou acoustique soit une architecture, il faut qu'elle remplisse certaines conditions.

Cette citation de Juan Gris, un artiste peintre montre la principale contrainte de toute architecture: le respect des principes liés au domaine d'application de la dite architecture.

Dans le cadre du développement logiciel, les conditions à remplir pour que votre conception soit considérée comme une architecture sont défini par la norme ISO/CEI 9126. Si le rôle d'un architecte logiciel est d'élaborer le plan de construction et de coder les grandes lignes d'architecture d'un système logiciel, sa phase de conception globale doit impérativement prendre en compte les indicateurs de qualité définis par cette norme. Ces indicateurs sont:

  • La capacité fonctionnelle : La conformité des fonctionnalités du logiciel avec celles décrites dans le cahier des charges.
  • La fiabilité : La faculté du logiciel à gérer correctement ses propres erreurs de fonctionnement en cours d'exécution.
  • La portabilité : La possibilité de porter le logiciel sur des plates-formes (machines, systèmes d'exploitation, environnements) différentes.
  • Le rendement / L'efficacité : La capacité du logiciel à exploiter au mieux les ressources offertes par la ou les machines hôtes.
  • La facilité d'utilisation : La facilité d'apprentissage et d'utilisation du logiciel par les usagers.
  • La maintenabilité : La simplicité de correction, de modification et d'extension du logiciel.

De ces six indicateurs, seuls les quatre premiers sont respectés par la plus part des architectes, et croyez moi, c'est uniquement la vision contractuelle du projet logiciel qui limite leur conception. En effet, il est clair qu'en appliquant ces quatre principes (Capacité fonctionnelle, Fiabilité, portabilité et Efficacité) au dépends des deux plus importants et plus compliqués à respecter, le contrat sera rempli, le client sera content, et même, il peut arrivé que l'utilisateur final soit aussi content après la recette (car ses cas d'utilisation marchent). En me basant sur la citation de Juan Gris suscité, je dirai que vous avez construit quelque chose qui marche, mais cette chose n'est pas de l'architecture. C'est le fameux Get It Done(GID) de la plus part des architectes.

Un architecte ne doit pas avoir comme référence le GID, mais plutôt le GIR (Get It Right). Le GIR passe par le respect inconditionnel des différents indicateurs de qualité définis par la norme ISO/CEI 9126 et par ricochet est le fruit d'une architecture basée sur l'humain. Il est évident que tout logiciel est conçu pour être utilisé et potentiellement évolué, L'utilisation et la maintenance (corrective et évolutive) sont en générale effectuées par des humains, autres que vous / votre équipe, d'où le concept de développement centré sur l'humain. Un projet de développement logiciel centré sur l'humain est un projet qui respecte les indicateurs de maintenabilité et de facilité d'utilisation et ne vous trompez pas, car pour réellement respecter ces indicateurs, il ne faut pas se limiter aux techniques de l'ingénieur classique qui vous mèneront directement au GID, il faut avoir le savoir faire, et le savoir être; et idéalement, il faut être un software craftsman.

Alors, vous me direz que tout ceci est beau, mais que la réalité reste le respect du contrat, et moi je vous dirai que vous avez raison. Et c'est tout là l'intérêt de ce post, maintenant que vous avez lu cet article, vous ferez désormais le lien entre qualité de code et conception logicielle, ce qui vous permettra de mieux penser vos estimations de budget.

Toutefois, vous devez savoir, qu'avec l’avènement de nouveaux paradigmes de programmation et principalement celui de la programmation orienté objet, du reactive programming, des méthodes de conduite de projet par l'agilité, de l'artisanat du logiciel, ... vous pouvez concevoir votre architecture GIR en respectant les valeurs et les principes prônés par ces paradigmes.

45 comments

  • KennethPrors
    KennethPrors, 19 October, 2017 02:10 Comment Link

    wh0cd4589972 retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|RETIN A|retin a|retin a|retin a|retin a|retin a|Retin A|RETIN A|Retin A|retin a|Retin A|retin a|Retin A|Retin A|retin a|RETIN A|Retin A|Retin A|Retin A|Retin A|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|Retin A|Retin A|retin a|retin a|RETIN A|Retin A|retin a|Retin A|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|Retin A|Retin A|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|Retin A|Retin A|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|RETIN A|retin a|retin a|retin a|Retin A|Retin A|retin a|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|Retin A|RETIN A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|RETIN A|retin a|RETIN A|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|RETIN A|retin a|Retin A|Retin A|retin a|RETIN A|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|RETIN A|Retin A|retin a|Retin A|Retin A|Retin A|retin a|Retin A|retin a|RETIN A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|Retin A|retin a|Retin A|retin a|RETIN A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|RETIN A|RETIN A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|Retin A|RETIN A|retin a|Retin A|retin a|Retin A|Retin A|Retin A|RETIN A|RETIN A|Retin A|retin a|retin a|Retin A|RETIN A|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|RETIN-A|NO PRESCRIPTION RETIN A|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|ORDER RETIN-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|Buy Retin-A Online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|RETIN-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|NO PRESCRIPTION RETIN A|buy retin-a online|Buy Retin-A|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|TRETINOIN 0.1 CREAM|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|Order Retin-A|Retin-A|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|ORDER RETIN-A|Retin-A|NO PRESCRIPTION RETIN A|buy retin-a online|Buy Retin-A|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|RETIN-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|BUY RETIN-A ONLINE|buy retin-a|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|BUY RETIN-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|ORDER RETIN-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|Tretinoin Gel|Order Retin-A|Retin-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|Order Retin-A|Retin-A|NO PRESCRIPTION RETIN A|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|Tretinoin 0.1 Cream|tretinoin gel|ORDER RETIN-A|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|Buy Retin-A Online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|Buy Retin-A Online|Buy Retin-A|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|Buy Retin-A|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|ORDER RETIN-A|retin-a|No Prescription Retin A|buy retin-a online|0.05 tretinoin cream|0.05 tretinoin cream|0.05 tretinoin cream|0.05 tretinoin cream|tretinoin prescription|tretinoin prescription|tretinoin prescription|tretinoin prescription|tretinoin 0.1|tretinoin 0.1|tretinoin 0.1|tretinoin 0.1|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin topical|tretinoin topical|tretinoin topical|tretinoin topical|tretinoin buy|tretinoin buy|tretinoin buy|where to buy tretinoin|where to buy tretinoin|where to buy tretinoin|retinal prescription facecream|retinal prescription facecream|retinal prescription facecream|where can i buy tretinoin|where can i buy tretinoin|where can i buy tretinoin|tretinoin cream|tretinoin cream|tretinoin cream|buy tretinoin cream|buy tretinoin cream|buy tretinoin cream|where can you buy retinol a 0.05|where can you buy retinol a 0.05|where can you buy retinol a 0.05|tretinoin cream .05|tretinoin cream .05|tretinoin cream .05|retinol a 0.025|retinol a 0.025|retinol a 0.025|purchase tretinoin|purchase tretinoin|purchase tretinoin|tretinoin 0.025|tretinoin 0.025|tretinoin 0.025|hydroquinone tretinoin|hydroquinone tretinoin|hydroquinone tretinoin|tretinoin 0.05 cream|tretinoin 0.05 cream|tretinoin 0.05 cream|buy tretinoin|buy tretinoin|buy tretinoin|tretinoin price|tretinoin price|tretinoin price|rein a non prescription|rein a non prescription|rein a non prescription|buy retinol online without prescription|buy retinol online without prescription|buy retinol online without prescription|tretinoin 0.05|tretinoin 0.05|tretinoin 0.05|0.1 tretinoin cream|0.1 tretinoin cream|0.1 tretinoin cream|tretinoin cream 0.1|tretinoin cream 0.1|tretinoin cream 0.1|topical tretinoin|topical tretinoin|topical tretinoin|cream tretinoin|cream tretinoin|cream tretinoin|where can i get tretinoin cream|where can i get tretinoin cream|where can i get tretinoin cream|tretinoin|tretinoin|tretinoin|tretinoin cream 0.025|tretinoin cream 0.025|tretinoin cream 0.025|visit your url|visit your url|info|info|go here|go here|recommended reading|recommended reading|more information|more information|more|more|click|as explained here|bonuses|i found it|helpful resources|home|explained here|click here|example here|homepage|link|website|here i found it|click for source|read more|related site|clicking here|more helpful hints|example|this site|web site|check this out|view site|found it retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|RETIN A|retin a|retin a|retin a|retin a|retin a|Retin A|RETIN A|Retin A|retin a|Retin A|retin a|Retin A|Retin A|retin a|RETIN A|Retin A|Retin A|Retin A|Retin A|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|Retin A|Retin A|retin a|retin a|RETIN A|Retin A|retin a|Retin A|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|Retin A|Retin A|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|Retin A|Retin A|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|RETIN A|retin a|retin a|retin a|Retin A|Retin A|retin a|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|Retin A|RETIN A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|RETIN A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|retin a|RETIN A|retin a|RETIN A|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|RETIN A|retin a|Retin A|Retin A|retin a|RETIN A|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|RETIN A|Retin A|retin a|Retin A|Retin A|Retin A|retin a|Retin A|retin a|RETIN A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|Retin A|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|Retin A|retin a|Retin A|Retin A|Retin A|Retin A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|retin a|retin a|Retin A|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|Retin A|retin a|Retin A|retin a|Retin A|retin a|RETIN A|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|RETIN A|retin a|Retin A|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|RETIN A|RETIN A|retin a|Retin A|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|retin a|Retin A|retin a|Retin A|Retin A|RETIN A|retin a|Retin A|retin a|Retin A|Retin A|Retin A|RETIN A|RETIN A|Retin A|retin a|retin a|Retin A|RETIN A|retin a|Retin A|Retin A|Retin A|retin a|retin a|retin a|RETIN-A|NO PRESCRIPTION RETIN A|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|ORDER RETIN-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|Buy Retin-A Online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|RETIN-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|NO PRESCRIPTION RETIN A|buy retin-a online|Buy Retin-A|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|TRETINOIN 0.1 CREAM|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|Order Retin-A|Retin-A|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|ORDER RETIN-A|Retin-A|NO PRESCRIPTION RETIN A|buy retin-a online|Buy Retin-A|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|RETIN-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|BUY RETIN-A ONLINE|buy retin-a|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|BUY RETIN-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|Buy Retin-A Online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|BUY RETIN-A|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|ORDER RETIN-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|Tretinoin Gel|Order Retin-A|Retin-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|Tretinoin Gel|Order Retin-A|Retin-A|NO PRESCRIPTION RETIN A|buy retin-a online|buy retin-a|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|RETIN-A ONLINE|Tretinoin 0.1 Cream|tretinoin gel|ORDER RETIN-A|retin-a|No Prescription Retin A|buy retin-a online|buy retin-a|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|buy retin-a online|buy retin-a|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|Tretinoin Gel|order retin-a|retin-a|no prescription retin a|buy retin-a online|Buy Retin-A|Retin-A Online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|buy retin-a online|buy retin-a|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|retin-a|No Prescription Retin A|buy retin-a online|Buy Retin-A|retin-a online|tretinoin 0.1 cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|Buy Retin-A Online|Buy Retin-A|retin-a online|Tretinoin 0.1 Cream|tretinoin gel|order retin-a|Retin-A|no prescription retin a|Buy Retin-A Online|Buy Retin-A|RETIN-A ONLINE|tretinoin 0.1 cream|tretinoin gel|Order Retin-A|retin-a|no prescription retin a|Buy Retin-A Online|Buy Retin-A|Retin-A Online|Tretinoin 0.1 Cream|tretinoin gel|ORDER RETIN-A|retin-a|No Prescription Retin A|buy retin-a online|0.05 tretinoin cream|0.05 tretinoin cream|0.05 tretinoin cream|0.05 tretinoin cream|tretinoin prescription|tretinoin prescription|tretinoin prescription|tretinoin prescription|tretinoin 0.1|tretinoin 0.1|tretinoin 0.1|tretinoin 0.1|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin cream where to buy|tretinoin topical|tretinoin topical|tretinoin topical|tretinoin topical|tretinoin buy|tretinoin buy|tretinoin buy|where to buy tretinoin|where to buy tretinoin|where to buy tretinoin|retinal prescription facecream|retinal prescription facecream|retinal prescription facecream|where can i buy tretinoin|where can i buy tretinoin|where can i buy tretinoin|tretinoin cream|tretinoin cream|tretinoin cream|buy tretinoin cream|buy tretinoin cream|buy tretinoin cream|where can you buy retinol a 0.05|where can you buy retinol a 0.05|where can you buy retinol a 0.05|tretinoin cream .05|tretinoin cream .05|tretinoin cream .05|retinol a 0.025|retinol a 0.025|retinol a 0.025|purchase tretinoin|purchase tretinoin|purchase tretinoin|tretinoin 0.025|tretinoin 0.025|tretinoin 0.025|hydroquinone tretinoin|hydroquinone tretinoin|hydroquinone tretinoin|tretinoin 0.05 cream|tretinoin 0.05 cream|tretinoin 0.05 cream|buy tretinoin|buy tretinoin|buy tretinoin|tretinoin price|tretinoin price|tretinoin price|rein a non prescription|rein a non prescription|rein a non prescription|buy retinol online without prescription|buy retinol online without prescription|buy retinol online without prescription|tretinoin 0.05|tretinoin 0.05|tretinoin 0.05|0.1 tretinoin cream|0.1 tretinoin cream|0.1 tretinoin cream|tretinoin cream 0.1|tretinoin cream 0.1|tretinoin cream 0.1|topical tretinoin|topical tretinoin|topical tretinoin|cream tretinoin|cream tretinoin|cream tretinoin|where can i get tretinoin cream|where can i get tretinoin cream|where can i get tretinoin cream|tretinoin|tretinoin|tretinoin|tretinoin cream 0.025|tretinoin cream 0.025|tretinoin cream 0.025|visit your url|visit your url|info|info|go here|go here|recommended reading|recommended reading|more information|more information|more|more|click|as explained here|bonuses|i found it|helpful resources|home|explained here|click here|example here|homepage|link|website|here i found it|click for source|read more|related site|clicking here|more helpful hints|example|this site|web site|check this out|view site|found it http://retin-a.us.org

  • CharlesCruix
    CharlesCruix, 19 October, 2017 09:10 Comment Link

    allopurinol allopurinol http://allopurinol.work

  • CharlesCruix
    CharlesCruix, 16 October, 2017 07:10 Comment Link

    allopurinol as an example http://allopurinol.work

  • CharlesCruix
    CharlesCruix, 14 October, 2017 05:10 Comment Link

    allopurinol allopurinol buy http://allopurinol.work

  • Bennyder
    Bennyder, 13 October, 2017 06:10 Comment Link

    wh0cd3869412 cytotec cytotec http://cytotec.news

  • AaronCal
    AaronCal, 13 October, 2017 01:10 Comment Link

    wh0cd3289629 albendazole for sale albendazole tablets http://buyalbendazole.reisen arimidex libido arimidex http://arimidex.tools

  • Bennyder
    Bennyder, 12 October, 2017 10:10 Comment Link

    cymbalta drug generic cymbalta 60 mg http://genericcymbalta.shop

  • Bennyder
    Bennyder, 12 October, 2017 04:10 Comment Link

    cymbalta capsules cymbalta http://genericcymbalta.shop

  • Michaelgrors
    Michaelgrors, 12 October, 2017 01:10 Comment Link

    wh0cd3027513 bentyl weight loss bentyl tablets http://bentyl20mg.us.com roxithromycin roxithromycin http://roxithromycin.world

  • Michaelgrors
    Michaelgrors, 11 October, 2017 11:10 Comment Link

    wh0cd2631662 deltasone deltasone http://deltasone.us.com CHLOROMYCETIN CHLOROMYCETIN http://chloromycetin.us.com

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.