Ces vecteurs sont le moyen essentiel de communication entre la ROM et la RAM . Ils occupent la zone RAM de &B900 à &BDCA . Chaque vecteur est composé de 3 octets déterminant un Restart ou un saut (3octets) à une adresse donnée. Je m'explique : Quelque soit le langage de programmation employé , votre programme se trouve toujours dans la RAM alors que le système d'exploitation qui gère le CPC est dans la ROM . Lorsque vous avez besoin d'afficher un caractère , d'accéder au drive , ou d'accomplir toute autre action , les routines qui permettent ceci sont en ROM et la table des vecteurs est le moyen le plus commode d'accéder à la routine appropriée . Par exemple , lorsque vous faites en basic : CALL &BB06 , ce vecteur commute la ROM , exécute la routine ROM qui attend l'appui sur une touche et lorsque la touche à été enfoncée revient dans la RAM et le programme reprend son cours . Un autre exemple : POKE &BB5A,&C9 . Un code RETour est mis dans le 1er octet du vecteur qui ne peut donc plus activer la ROM . Après cette instruction , vous constaterez que la commande PRINT est totalement inopérante . Plus de détails : Les routines ROM peuvent aussi être commutées par d'autres moyens mais il faut connaître l'adresse exacte de la routine et celle ci-diffère selon le type de CPC (464 - 664 - 6128) alors que la position en RAM des vecteurs est la même sur tous les CPC . En revanche , le contenu de ces vecteurs diffère et si l'on veut les modifier comme précédement , puis les restaurer , il faudra préserver le contenu originel pour le restituer par la suite . Exemple : 10 a=PEEK(&BB5A) 'Preserver contenu de &BB5A 20 POKE &BB5A,&C9 'Interdire affichage 30 PRINT"AFFICHAGE" 'Le texte ne s'affichera pas 40 END 50 POKE &BB5A,A 'Restaurer le vecteur 60 GOTO 20 'Cette fois le texte s'afficheD'autres exemples de ces possibilités vous seront donnés au fil de la description des routines . Paramètres des routines : La plupart des vecteurs ont besoin de valeurs données pour fonctionner . Par exemple #BB75 qui correspond à LOCATE à besoin de savoir ou l'on veut mettre le curseur , dans ce cas on dit que la routine à besoin de PARAMETRES D'ENTREE . D'autres routines fournissent des informations après exécution , ce sont les PARAMETRES DE SORTIE . Ces paramètres sont transmis et reçus par le biais des registres du Z80 , ces registres sont donc modifiés par la routine et il convient de les préserver si leur contenu originel doit être réutilisé en sortie . Certaines routines modifient des registres sans prévenir , la même règle devra alors être appliquée . ----------------------------------- — DESCRIPTION ET USAGE DES ROUTINES - ----------------------------------- Dans cette première description , se trouvent de nombreux 'blancs', pour commencer , je ne décrirai que les routines les plus usuelles , dans le numéro suivant , vous aurez droit aux routines moins courantes et dans le dernier numéro de l'année vous pourrez étudier les routines que l'on utilise pour ainsi dire jamais . La description est classée par nature d'usage (Texte , Graphisme , Etc ...) et suit toujours la forme suivante . Adresse routine en ROM est l'adresse ROM activée par le vecteur décrit . ADRESSE : ; Equivalent Basic : EFFET : PARAMETRES D'ENTREE : PARAMETRES DE SORTIE : REGISTRES MODIFIES : ETAT DES FLAGS EN SORTIE : ADRESSE ROUTINE EN ROM CPC 464 : 664 : ;6128 En fin de chapitre , quelques exemples d'usage des vecteurs vous seront proposés .
------------------ — ROUTINES CLAVIER - ------------------ ADRESSE : &BB06 Equivalent Basic : A$="":WHILE A$="":A$=INKEYS:WEND EFFET : Attend l'appui sur une touche si aucun caractère n'est dans le buffer de clavier . Le caractère trouvé est mis dans le registre A . Si aucune touche n'est enfoncée , c'est le dernier caractère du buffer clavier qui est renvoyé dans A . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Code ASCII de la touche enfoncée ou du buffer . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Carry toujours mis . ADRESSE ROUTINE EN ROM CPC 464 : &1A3C - 664 - 6128 : &1BBF ADRESSE : &BB09 Equivalent Basic : A$=INKEYS EFFET : Comme &BB06 mais n'attend pas l'appui sur une touche . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Caractère . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Carry mis SI un caractère à pu être lu . ADRESSE ROUTINE EN ROM CPC 464 : &1A42 - 664 - 6128 : &1BC5 ADRESSE : &BB18 Equivalent Basic : Comme &BB06 EFFET : Comme &BB06 mais ne tient pas compte du buffer de clavier seul l'appui sur une touche peut déclencher la routine . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Caractère . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Carry toujours mis . ADRESSE ROUTINE EN ROM CPC 464 : &1B56 - 664 - 6128 : &1CDB ADRESSE : &BB1B ;Equivalent Basic : Comme &BB09 EFFET : Comme &BB09 mais ne tient pas compte du buffer de clavier seul l'appui sur une touche peut stocker un caractère . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=caractère . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Carry toujours mis . ADRESSE ROUTINE EN ROM CPC 464 : &1B5C - 664 - 6128 : &1CE1 ----------------------ADRESSE : &BB1E Equivalent Basic : INKEY (n) EFFET : Teste si la touche dont le numéro est donné dans A est pressée . Il ne s'agit pas ici d'un code ASCII mais du numéro physique de la touche . La liste de ces numéros figure dans le manuel de votre CPC . PARAMETRES D'ENTREE : A=Numéro de touche PARAMETRES DE SORTIE : A=0 Si la touche à été pressée , <> de 0 sinon . Le registre C informe si CTRL ou SHIFT étaient pressés simultanément . Si CTRL est pressé , le bit 7 de C est mis , si SHIFT est pressé , le bit 5 de C est mis . REGISTRES MODIFIES : AF , HL , BC ETAT DES FLAGS EN SORTIE : Z mis si touche pressée , NZ Sinon . ADRESSE ROUTINE EN ROM CPC 464 : &1CBD - 664 - 6128 : &1E45 ADRESSE : &BB24 Equivalent Basic : JOY (n) EFFET : Teste l'état du joystick . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=JOY(0) , H=JOY(0) , L=JOY(1) REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1BB3 - 664 - 6128 : &1D83 Voici quels bits seront mis dans A , H , L selon la commande joystyck donnée . Si plusieurs actions sont effectuées simultanément , plusieurs bits de ces registres seront mis en sortie . Si le registre revient avec 0 comme contenu , le joystick n'a pas bougé . Bit 0 mis = HAUT . Bit 1 mis = BAS . Bit 2 mis = GAUCHE Bit 3 mis = DROITE Bit 4 mis = FIRE . Ex : A=%00011001 = Diagonal haut , droite et fire . -------------------------- ADRESSE : &BB3F Equivalent Basic : SPEED KEY a,b EFFET : Modifie la vitesse de réaction et de répétition des touches comme en basic . PARAMETRES D'ENTREE : H=a , L=b . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1CA6 - 664 - 6128 : &1EF2 -------------------------- ADRESSE : &BB48 Equivalent Basic : Rien . EFFET : Annule l'effet de la touche BREAK . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1C82 - 664 - 6128 : &1E0B ------------- — ECRAN TEXTE - ------------- ADRESSE : &BB5A Equivalent Basic : PRINT EFFET : Affiche un caractère ou exécute un code de contrôle inférieur à 32 . PARAMETRES D'ENTREE : A=Caractère . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1400 - 664 : &13FA - 6128 : &13FE ADRESSE : &B5DD Equivalent Basic : PRINT CHRS(1),.... EFFET : Comme la précédente mais affiche la représentation graphique des codes de contrôle au lieu de les exécuter . PARAMETRES D'ENTREE : A=Caractère . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE , HL . ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1334- 664 : &1331 - 6128 : &1335 -------------------------- ADRESSE : &BB66 Equivalent Basic : WINDOW 0,x1,y1,x2,y2 EFFET : Détermine les coordonnées de la fenêtre 0 . La ligne la plus haute est donnée dans L , la plus basse dans E . La colonne de gauche dans H et celle de droite dans L . PARAMETRES D'ENTREE : HL , Coin en haut à gauche , DE = Coin en bas à droite . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL , DE , BC ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &120C- 664 : &1204 - 6128 : &1208 ADRESSE : &BB69 Equivalent Basic : Rien . EFFET : Informe sur les dimensions de la fenêtre canal 0 . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : HL = Coin en haut à gauche , DE = Coin en bas à droite . REGISTRES MODIFIES : AF , HL , DE , BC ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1256 - 664 : &124E - 6128 : &1252 ADRESSE : &BB6C Equivalent Basic : CLS #0 EFFET : Efface l'écran . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL , DE ,BC ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1540 - 664 : &154B - 6128 : &154F -------------------------- ADRESSE : &BB75 Equivalent Basic : LOCATE x,y EFFET : Place le curseur texte aux coordonnées x,y PARAMETRES D'ENTREE : H=Colonne , L=Ligne . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1174 - 664 : &116C - 6128 : &1170 ADRESSE : &BB79 Equivalent Basic : Rien . EFFET : Donne dans HL les coordonnées du curseur texte . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : H=colonne , L=Ligne , A=Compteur de défilement . Le compteur de défilement compte le nombre de lignes texte décalées si un scrolling vertical à déplacé l'écran . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1180 - 664 : &1178 - 6128 : &117C -------------------------- ADRESSE : &BB90 Equivalent Basic : PEN , n EFFET : Change la selection du stylo texte . PARAMETRES D'ENTREE : A=Numéro PEN . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &12A9 - 664 : &12A2 - 6128 : &12A6 ADRESSE : &BB93 Equivalent Basic : Rien . EFFET : Renvoie dans A le numéro du stylo en cours . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Numéro de stylo . REGISTRES MODIFIES : AF , HL . ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &12BD - 664 : &12B6 - 6128 : &12BA ADRESSE : &BB96 Equivalent Basic : PAPER , n EFFET : Change la sélection du fond d'écran . PARAMETRES D'ENTREE : A=Numéro PAPER . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL . ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &12AE - 664 : &12A7 - 6128 : &12AB ADRESSE : &BB99 Equivalent Basic : Rien EFFET : Renvoie dans A le numéro de papier en cours . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Numéro de papier . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &12C3 - 664 : &12BC - 6128 : &12C0 ADRESSE : &BB9C Equivalent Basic : PRINT CHR$(24) EFFET : Inverse les couleurs de PEN et PAPER . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &12C9 - 664 : &12C2 - 6128 : &12C6 --------------------- — ROUTINES GRAPHIQUES - --------------------- ADRESSE : &BBC0 Equivalent Basic : MOVE x,y EFFET : Déplace le curseur graphique . PARAMETRES D'ENTREE : DE=x HL=x PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE ,HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &15F4 - 664 : &15FA - 6128 : &15FE ADRESSE : &BBC3 Equivalent Basic : MOVER x,y EFFET : Comme &BBC0 . PARAMETRES D'ENTREE : Comme &BBC0 . PARAMETRES DE SORTIE : Comme &BBC0 . REGISTRES MODIFIES : Comme &BBC0 . ETAT DES FLAGS EN SORTIE : Comme &BBC0 . ADRESSE ROUTINE EN ROM CPC 464 : &15F1 - 664 : &15F7 - 6128 : &15FB ADRESSE : &BBC6 Equivalent Basic : Rien . EFFET : Informe sur la position du curseur graphique . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : DE=x , HL=y REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &15FC - 664 : &1602 - 6128 : &1606 ADRESSE : &BBC9 Equivalent Basic : ORIGIN x,y EFFET : Modifie l'origine de l'écran . PARAMETRES D'ENTREE : DE=x , HL=y PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE ,HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1604 - 664 : &160A - 6128 : &160E ADRESSE : &BBCC Equivalent Basic : Rien . EFFET : Informe sur l'origine de l'écran . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : DE=x , HL=y REGISTRES MODIFIES : AF , BC ,DE, HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1612 - 664 : &1618 - 6128 : &161C -------------------------- ADRESSE : &BBDE Equivalent Basic : GRAPHICS PEN n (6128 seulement) EFFET : Détermine le numéro de stylo graphique . PARAMETRES D'ENTREE : A=Numéro de stylo . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &17F6 - 664 : &1763 - 6128 : &1767 ADRESSE : &BBE1 Equivalent Basic : Rien . EFFET : Informe sur le numéro de stylo graphique en cours . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Numéro de stylo . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1804 - 664 : &1771 - 6128 : &1775 ADRESSE : &BBE4 Equivalent Basic : GRAPHICS PAPER n (6128 seulement) EFFET : Fixe la couleur de fond de l'écran graphique . PARAMETRES D'ENTREE : A=Numero stylo graphique . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &17FD - 664 : &176A - 6128 : &176E ADRESSE : &BBE7 Equivalent Basic : Rien . EFFET : Informe sur la couleur graphique du fond . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=PAPER Graphique . REGISTRES MODIFIES : AF ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &180A - 664 : &1776 - 6128 : &177A ADRESSE : &BBEA Equivalent Basic : PLOT x,y EFFET : Affiche un point aux coordonnées x,y . PARAMETRES D'ENTREE : DE=x , HL=y PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1813 - 664 : &177F - 6128 : &1783 ADRESSE : &BBED Equivalent Basic : PLOTR x,y EFFET : Comme &BBEA PARAMETRES D'ENTREE : Comme &BBEA PARAMETRES DE SORTIE : Comme &BBEA REGISTRES MODIFIES : Comme &BBEA ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1810 - 664 : &177C - 6128 : &1780 -------------------------- ADRESSE : &BBF6 Equivalent Basic : DRAW x,y EFFET : Trace une ligne depuis la position du curseur graphique jusqu'au point x,y . PARAMETRES D'ENTREE : DE=x , HL=y PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC ,DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &1839 - 664 : &17A5 - 6128 : &17A9 ADRESSE : &BBF9 Equivalent Basic : DRAWR x,y EFFET : Comme &BBF6 PARAMETRES D'ENTREE : Comme &BBF6 PARAMETRES DE SORTIE : Comme &BBF6 REGISTRES MODIFIES : Comme &BBF6 ETAT DES FLAGS EN SORTIE : Comme &BBF6 ADRESSE ROUTINE EN ROM CPC 464 : &1836 - 664 : &17A2 - 6128 : &17A6 ---------------- — ROUTINES ECRAN - ---------------- ADRESSE : &BC0E Equivalent Basic : MODE EFFET : Change le mode écran . PARAMETRES D'ENTREE : A=Mode . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE ,HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &ACAH - 664 : &AE5H - 6128 : &AE9H ADRESSE : &BC11 Equivalent Basic : Rien . EFFET : Renvoie dans A le mode d'écran en cours . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : A=Mode . REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Si mode 0 : Carry mis et NZ . Si mode 1 : Carry non mis et Z mis . Si mode 2 : Carry non mis et NZ ADRESSE ROUTINE EN ROM CPC 464 : &AECH - 664 : &B08H - 6128 : &B0CH ADRESSE : &BC14 Equivalent Basic : CLS EFFET : Efface tout l'écran . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC ,DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &AF7H - 664 : &B13H - 6128 : &B17H ADRESSE : &BC32 Equivalent Basic : INK a,b EFFET : Affecte à un stylo donné les deux couleurs . PARAMETRES D'ENTREE : A=Stylo , B=Couleur 1 , C=Couleur 2 . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE ,HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &CECH - 664 : &CEEH - 6128 : &CF2H ADRESSE : &BC35 Equivalent Basic : Rien . EFFET : Informe sur les encres affectées à un stylo donné . PARAMETRES D'ENTREE : A=Numéro de stylo . PARAMETRES DE SORTIE : B=Couleur 1 , C = Couleur 2 . REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &D14H - 664 : &D16H - 6128 : &D1AH ADRESSE : &BC38 Equivalent Basic : BORDER a,b EFFET : Change la couleur du bord . PARAMETRES D'ENTREE : B=Couleur 1 , C = Couleur 2 . PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &CF1H - 664 : &CF3H - 6128 : &CF7H ADRESSE : &BC3B Equivalent Basic : Rien . EFFET : Informe sur la couleur du bord . PARAMETRES D'ENTREE : Rien . PARAMETRES DE SORTIE : B=Couleur 1 , C=Couleur 2 REGISTRES MODIFIES : AF , BC , DE , HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &D19H - 664 : &D1BH - 6128 : &D1FH -------------------------- ADRESSE : &BC59 Equivalent Basic : PRINT CHR$(23);CHR$(N) EFFET : Fixe le mode graphique . PARAMETRES D'ENTREE : A=0 : Mode normal ; A=1 : Mode XOR ; A=2 : Mode AND ; A=3 : Mode OR PARAMETRES DE SORTIE : Rien . REGISTRES MODIFIES : AF , BC ,DE ,HL ETAT DES FLAGS EN SORTIE : Variable . ADRESSE ROUTINE EN ROM CPC 464 : &C49H - 664 : &C51H - 6128 : &C55H -------------------------------------- La série s'arrête ici pour ce numéro . Les vecteurs des périphériques (Imprimante , drive) seront traités dans le prochain numéro . Concernant les vecteurs de l'écran , les cours de graphisme vous donnent des routines destinées à remplacer ceux-ci dont l'usage entraîne une perte de temps considérable . C'est donc au fil des cours de graphisme que vous découvrirez ces vecteurs . SOS PROGRAMMEURS
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser... |
|
|