Dessinez le lapin de Pâques


14

Cet individu heureux est connu dans le folklore comme le lapin de Pâques.

lapin de Pâques

Couleurs

Il est créé en utilisant 4 couleurs:

  • Rose clair
  • Rose foncé
  • blanc
  • Noir

(Je suis heureux que ces couleurs soient approximatives dans votre réponse. Il n'est pas nécessaire que ce soit cette nuance précise)

Formes

Il est construit de ces formes:

  • Deux ellipses hautes en rose clair (oreilles externes). Ils ont la même hauteur et la même largeur.
  • Deux ellipses hautes en rose foncé (oreilles internes). Ils sont plus petits que les oreilles externes et l'un est dessiné au-dessus de chacune des oreilles externes. Ils ont la même hauteur et la même largeur.
  • Un grand cercle en rose clair (tête). Il coupe le tiers inférieur des deux oreilles externes (mais pas plus haut).
  • Deux cercles blancs (yeux extérieurs). Ils sont dessinés sur la tête. Leur diamètre est inférieur à la largeur des oreilles externes. Ils ont la même position horizontale que les oreilles externes.
  • Deux cercles en noir (yeux intérieurs). Ils ont un diamètre plus petit que les yeux extérieurs. Un est dessiné sur chacun des yeux extérieurs.
  • Une ligne verticale en noir (bouche supérieure). Il est dessiné sur la tête et est plus bas que le bas des yeux extérieurs. Il est à peu près équidistant de chaque œil.
  • Deux arcs en noir (bouche inférieure). Ils sont dessinés sur la tête et s'incurvent vers le bas à partir d'une ligne horizontale. Les deux se croisent avec le bas de la bouche supérieure, mais l'un va à droite et l'autre à gauche.

Les règles

  • Utilisez la langue et les outils que vous aimez.
  • La sortie peut être une image, html, svg ou autre balisage.
  • C'est du golf de code, alors essayez de le faire dans le plus petit nombre d'octets.
  • Veuillez inclure une capture d'écran du résultat.
  • N'hésitez pas à vous rapprocher des couleurs définies.

Joyeuses Pâques!


Quelle taille d'image aimeriez-vous?
Neil

La taille de @Neil n'a pas d'importance, Neil. Tant qu'il répond aux exigences de forme et de couleur.
AJFaraday

J'ai une réponse desmos en préparation. Est-il acceptable de ne pas avoir de blanc dans les yeux?
Benjamin Urquhart

@BenjaminUrquhart pas vraiment. Cela simplifie considérablement le processus. Vous pouvez en faire un gris, si cela vous aide.
AJFaraday

1
@BenjaminUrquhart travaille pour moi
AJFaraday

Réponses:


18

T-SQL, 445 439 octets

DECLARE @ GEOMETRY='MULTIPOINT((3 3),(7 3))',
@l GEOMETRY='CIRCULARSTRING(3 6,3.3 9,3 12,2.7 9,3 6)',@r GEOMETRY
SET @=@.STBuffer(.6)SET @r=@l.STUnion('CIRCULARSTRING(7 6,7.3 9,7 12,6.7 9,7 6)')
SELECT*FROM(VALUES(@),(@),(@),(@r.STBuffer(.3)),(@),(@),(@),(@),(@),(@),(@),(@),(@),
(@),(@),('CIRCULARSTRING(7 0,6 -1,5 0,5 1,5 1,5 0,5 0,4 -1,3 0)'),
(GEOMETRY::Point(5,1,0).STBuffer(5).STUnion(@r.STBuffer(1.3)).STDifference(@.STBuffer(.4)))
)a(g)

Ce site pourrait utiliser plus de dessins basés sur T-SQL!

Fonctionne sur SQL 2017, mais utilise des fonctionnalités de stockage géospatial SQL ajoutées de nouveau dans SQL 2008 . Les sauts de ligne sont uniquement à des fins de lisibilité.

Production:

enter image description here

Donc, c'était difficile à faire en T-SQL, car les objets spatiaux ne sont pas exactement conçus pour le dessin (pas d'objet "ellipse", par exemple). Encore plus, obtenir des couleurs encore plus proches de la droite a nécessité quelques essais et erreurs.

Fondamentalement, je construis les objets géométriques suivants:

  1. Les yeux ( @), qui sont des points étendus en disques en utilisantSTBuffer(.6) (l'ensemble de tous les points à 0,6 de ces points de départ)
  2. Les oreilles ( @r), qui sont générées sous forme de courbes pointues, mais sont "gonflées" à l'aideSTBuffer les oreilles internes ou externes
  3. Le visage, qui est un disque plus les oreilles moins les yeux. Je dois le construire et l'afficher comme un seul objet, sinon SQL l'afficherait en différentes couleurs.
  4. La bouche, qui est une courbe créée en utilisant CIRCULARSTRING

Pour obtenir les bonnes couleurs, je dois SELECTces dans l'ordre approprié . SSMS a une séquence de couleurs intégrée pour les objets affichés dans le volet de résultats spatiaux , de sorte que les oreilles internes rose foncé devaient arriver 4ème , et le visage rose clair devait arriver 16ème. . Cela a nécessité de mettre un tas de copies supplémentaires des yeux, ce qui est correct car nous les voulons aussi proches du noir que possible (les couleurs sont quelque peu transparentes, donc les empiler les rend plus sombres).

Aide et inspiration des ressources suivantes:

EDIT : Déplacement du lapin de 4 unités, ce qui change certaines coordonnées en un seul chiffre, économisant 6 octets. Aucun changement dans la sortie affichée.


1
Construire un lapin avec des objets géométriques, génial! xD
Kevin Cruijssen

9

Rouge , 375 340 329 octets

Red[needs 'View]f: 'fill-pen p: 'pen e: 'ellipse c: 'circle
t:[5x5 0 180]view[base 200x200 #FFF draw
compose[(p)pink(f)pink(c)100x100 30(e)75x25
20x60(e)105x25 20x60(p)#E28(f)#E28(e)79x35 12x35(e)109x35
12x35(p)#FFF(f)#FFF(c)88x92 8(c)112x92 8(p)#000(f)#000(c)88x92
5(c)112x92 5 line 100x108 100x115 arc 95x115(t)arc 105x115(t)]]

enter image description here


7

Desmos, 262 caractères / octets

Je veux dire, c'est plus court que Java: ^)

+2 octets pour remplir les oreilles

// Face
x^2+y^2<=4 

// Ears (outer)
(x+1)^2+((y-3)^2)/4<=.5
(x-1)^2+((y-3)^2)/4<=.5

// Ears (inner)
(x+1)^2+((y-3)^2)/4<=.25
(x-1)^2+((y-3)^2)/4<=.25

// Pupils
(x+.7)^2+(y-.7)^2<=.1
(x-.7)^2+(y-.7)^2<=.1

// "Whites"
(x-.7)^2+(y-.7)^2<=.3
(x+.7)^2+(y-.7)^2<=.3

// Mouth
y+1=-{y<1:sqrt(.1-(x+.316)^2)}
y+1=-{y<1:sqrt(.1-(x-.316)^2)}
x={-1<y<-.5:0}

Lien avec les lignes du graphique désactivées (je viens de comprendre que vous pouvez le faire):

Bunneh

Bunneh


J'adore cette réponse! Bien que, si je peux être pédant. L'oreille externe doit être de la même couleur que le visage. L'intérieur doit être plus sombre. De plus, les commentaires sont-ils inclus dans votre nombre de caractères? Vous pourriez vous raser un peu là-bas.
AJFaraday

1
Les commentaires ne sont pas inclus @AJFaraday. Desmos n'a aucun moyen de rendre les choses «plus sombres» ou «plus claires» autres que d'empiler plus d'équations au même endroit (l'oreille externe est de la même couleur que le visage en noir).
Benjamin Urquhart

Est-il exact qu'aucun octet n'est utilisé lors de la sélection des couleurs? Se sent un peu injuste ...?
Stewie Griffin

@StewieGriffin Je ne sais pas comment compter les couleurs. Peut-être que je vais ouvrir / trouver un méta-post dessus.
Benjamin Urquhart


6

Rubis avec des chaussures , 240 caractères

Shoes.app{['fcc',[0,40,60],[5,0,20,50],[35,0,20,50],'f99',[t=10,t,t,h=30],[40,t,t,h],'fff',[t,55,15],[35,55,15],'000',[14,58,7],[38,58,7]].map{|v|stroke fill v rescue oval *v}
nofill
line h,75,h,80
arc 25,80,t,t,0,3.14
arc 35,80,t,t,0,3.14}

Exemple de sortie:

Shoes window screenshot with easter bunny


6

Python, 368 octets

Utilisation de matplotlib.

from matplotlib import pyplot as l,patches as p,transforms as t;z=0,;[l.gca().add_patch(p.Wedge(z*2,R,s,360,width=w,color=(r,o,o),transform=t.Affine2D.from_values(X,0,0,9,350+x*n,y*9)))for R,s,w,r,o,X,x,y in zip([11,7,15,4,2,2,99],z*5+(180,359),[None]*5+[.2,.4],(1,)*4+z*3,(.8,.6,.8,1)+z*3,[4,4]+[9]*5,[7,7,0,6,6,2,98.8],[51,51,30,35,35,24,26])for n in[-9,9]];l.show()

Résultat: enter image description here

Non golfé:

from matplotlib import pyplot, patches, transforms
z = 0, # store zero as a tuple for later repetition
for radius, startAngle, width, red, other, xStretch, x, y in \
    zip([11 ,7  ,15 ,4  ,2  ,2  ,99   ],  # radius
        z * 5 +             (180,359  ),  # start angle
        [None] * 5 +        [.2 ,.4   ],  # wedge width (None = full)
        (1,) * 4        +z * 3         ,  # red channel
        (.8 ,.6 ,.8 ,1) +z * 3         ,  # other color channels
        [4]*2 + [9]*5                  ,  # x stretch factor
        [ 7 ,7  ,0  ,6  ,6  ,2  ,98.8 ],  # x
        [51 ,51 ,30 ,35 ,35 ,24 ,26   ]): # y
#        |   |   |   |   |   |   |
#        |   |   |   |   |   |   "straight" line for upper mouth
#        |   |   |   |   |   |   approximated by large radius arc
#        |   |   |   |   |   |
#        |   |   |   |   |   Arc for lower mouth
#        |   |   |   |   |
#        |   |   |   |   Inner eye circle
#        |   |   |   |
#        |   |   |   Outer eye circle
#        |   |   |
#        |   |   Circle for head
#        |   |
#        |   Inner ear ellipse
#        |
#        Outer ear ellipse

    for n in [-9, 9]:        # draw left and right side mirrored
        pyplot.gca().add_patch( patches.Wedge(
            z*2,       # center = (0, 0), actual location set by the transform below
            radius,
            startAngle,
            360,       # end angle
            width = width,
            color = (red, other, other), # only red channel varies from the others
            transform = transforms.Affine2D.from_values( # affine transform matrix
                xStretch,    # x stretch factor
                0, 0,        # unused cross-axis coefficients for skew/rotation
                9,           # y stretch factor
                x * n + 350, # x value reflected by n, centered at 350
                y * 9 )))    # y value

pyplot.show()

5

Javascript, 381 326 octets

Merci Arnold et Epicness.

(d=document).body.appendChild(a=d.createElement`canvas`);b=a.getContext`2d`;'A707|A7,/|Z707|Z7,/|MZAA|CR--|UR--|CR**|UR**|Id**|Nd**|La(+'.split`|`.map(x=>x.split``.map(c=>c.charCodeAt()-40)).map((x,i)=>b[b.beginPath(b.fillStyle='#'+'fccf77fff000'.substr('030306699'[i],3)),b.ellipse(...x,0,0,3*-~(i<9)),i>8?'stroke':'fill']())



1
Récemment soumis une modification pour -6.
Epicness

Si vous êtes prêt à changer votre réponse, HTML+JavaScriptvous pouvez créer la partie HTML <canvas id=A>et la première partie du JS b=A.getContext...- je l'ai utilisé dans mon drapeau d'Islande il y a quelque temps. Ce message vient d'enregistrer cette réponse de 2 octets :) codegolf.stackexchange.com/a/176852/8340
dana

En bonus, vous pouvez intégrer un "extrait de pile" :) stackoverflow.blog/2014/09/16/…
dana

1
Vous pouvez enregistrer 3 octets supplémentaires avec (D=document).body.appendChild(a=D.createElement`canvas`).
Arnauld

4

JavaScript + P5.js , 291 276 273 octets

Beaucoup de petits changements cette fois-ci ... qui ne changent pas du tout la taille des octets.

setup=_=>{createCanvas(u=400,u);(e=ellipse,f=fill)`#fcc`;e(u/=2,u,x=150,x);e(x+=10,z=99,50,z);e(w=240,z,50,z);f`#f77`;e(x,z,y=30,80);e(w,z,y,80);f``;e(w,v=180,y,y);e(x,v,y,y);f(0);e(w,v,y=9,y);e(x,v,y,y);noFill(line(u,225,u,250));arc(195,...a=[245,y,y,0,PI]);arc(205,...a)}

Essayez-le en ligne!

Explication:

setup = _ => { 
    createCanvas(u=400, u);                 // Create basic canvas.
    (e = ellipse, f = fill)`#fcc`;          // Light pink
    e(u /= 2, u, 150, 150);                 // These first few lines end up defining short-hand names for functions.
    e(x += 10, z = 99, 50, z);              // Throughout the code, you will see
    e(w = 240, z, 50, z);                   // lots of variable definitions.
    f`#f77`;                                // Dark pink
    e(x, z, y = 30, 80);                    // Another variable declaration
    e(w, z, y, 80);
    f``;                                    // Empty fill argument = white, apparently? (Eyes start here)
    e(w, v = 180, y, y);                    // I'll just stop commenting on declarations now
    e(x, v, y, y);
    f(0);                                   // fill(x) = fill(x, x, x)
    e(w, v, y = 9, y);
    e(x, v, y, y);
    noFill(line(u, 225, u, 250));           // Last part of bunny starts here.
                                            // Get rid of fill so the bunny doesn't look bad
    arc(195, ...a= [245, y, y, 0, PI]);
    arc(205, ...a)                          // arc() creates something similar to a semi-circle.
}

Vous pouvez utiliser #fccet #f77pour les couleurs.
ovs

Eh bien ... je n'ai pas trouvé de nouveaux octets depuis. Peut-on dire que j'ai trop optimisé cela?
Epicness

4

Lua + LÖVE / Love2D , 328 octets

l=love g=l.graphics c=g.setColor e=g.ellipse a=g.arc f="fill" k="line" o="open"function l.draw()c(1,.7,.7)e(f,50,82,40,40)e(f,30,28,10,25)e(f,70,28,10,25)c(1,.4,.4)e(f,30,28,5,18)e(f,70,28,5,18)c(1,1,1)e(f,35,73,8,8)e(f,65,73,8,8)c(0,0,0)g[k](49,90,49,99)a(k,o,45,96,5,.5,2.7)a(k,o,53,96,5,.5,2.7)e(f,35,73,4,4)e(f,65,73,4,4)end

Essayez-le en ligne!

entrez la description de l'image ici


4

Traitement, 388 343 319 caractères / octets

Pas très élégant, mais le voici. Octets enregistrés en réduisant l'image.

int b=50,c=60,g=70;
noStroke();
//Face
fill(#FFCCCC);
ellipse(b,g,c,c);
//Outer ears
ellipse(40,25,15,b);
ellipse(c,25,15,b);
//Inner ears
fill(#FF9999);
ellipse(40,25,7,30);
ellipse(c,25,7,30);
//Outer eyes
fill(-1);
ellipse(40,g,10,10);
ellipse(c,g,10,10);
//Inner eyes
fill(0);
ellipse(40,g,5,5);
ellipse(c,g,5,5);
//Mouth
stroke(0);
line(b,80,b,85);
noFill();
arc(53,85,5,5,0,PI);
arc(48,85,5,5,0,PI);

entrez la description de l'image ici


J'ai économisé quelques octets ici et là: 332 octets
Zylviij



@Zylviij J'ai utilisé certaines des idées que vous aviez et les avez réduites à 343 caractères. Je ne pense pas que vous puissiez attribuer des fonctions à des variables dans Processing.
Robert S.

Je n'ai jamais utilisé ou téléchargé personnellement le traitement, mais j'ai testé mes scripts ici et ils ont fonctionné sans produire d'erreurs dans l'image ou la console
Zylviij

4

PostScript , 688 484 468 439 octets

Version golfée:

80 60 translate 5 5 scale .2 setlinewidth 1 .7 .7 setrgbcolor 0 0 10 0 360 arc closepath fill /h {7 15 moveto 7 25 1 25 1 15 curveto 1 5 7 5 7 15 curveto closepath fill 1 .5 .5 setrgbcolor 6 15 moveto 6 22 2 22 2 15 curveto 2 8 6 8 6 15 curveto closepath fill 1 setgray 4 3 2 0 360 arc closepath fill 0 setgray 4 3 1 0 360 arc closepath fill 0 -3 moveto 0 -5 lineto stroke 1 -5 1 180 0 arc stroke}def gsave h grestore -1 1 scale h showpage

Version non golfée:

80 60 translate                                     % over-all shift
5 5 scale                                           % over-all scale
.2 setlinewidth
1 .7 .7 setrgbcolor                                 % light pink
0 0 10 0 360 arc closepath fill                     % large circle for head
/h {                                                % procedure for drawing one half
  7 15 moveto 7 25 1 25 1 15 curveto                % ellipse for outer ear
              1  5 7  5 7 15 curveto closepath fill
  1 .5 .5 setrgbcolor                               % dark pink
  6 15 moveto 6 22 2 22 2 15 curveto                % ellipse for inner ear
              2  8 6  8 6 15 curveto closepath fill
  1 setgray                                         % white
  4 3 2 0 360 arc closepath fill                    % circle for outer eye
  0 setgray                                         % black
  4 3 1 0 360 arc closepath fill                    % circle for inner eye
  0 -3 moveto 0 -5 lineto stroke                    % line for upper mouth
  1 -5 1 180 0 arc stroke                           % arc for lower mouth
} def
gsave h grestore                                    % right half
-1 1 scale h                                        % left half
showpage

Résultat:

lapin


3

SVG (HTML5), 415 octets

<svg width=48 height=80><g fill=#fdd><circle cx=24 cy=52 r=24 /><ellipse cx=12 cy=16 rx=8 ry=16 /><ellipse cx=36 cy=16 rx=8 ry=16 /></g><g fill=#f99><ellipse cx=12 cy=16 rx=4 ry=12 /><ellipse cx=36 cy=16 rx=4 ry=12 /></g><g fill=#fff><circle cx=16 cy=44 r=6 /><circle cx=32 cy=44 r=6 /></g><circle cx=16 cy=44 r=3 /><circle cx=32 cy=44 r=3 /><path stroke=#000 fill=none d=M18,60a3,3,180,0,0,6,0v-6v6a3,3,180,0,0,6,0

Garder la hauteur en dessous de 100 pour aider à économiser des octets précieux, mais toujours le plus long ...


3

Java, 508 472 octets

import java.awt.*;v->new Frame(){Graphics2D G;Color C;void d(int...d){G.fillOval(d[0],d[1],d[2],d[3]);}{add(new Panel(){public void paint(Graphics g){G=(Graphics2D)g;G.setPaint(C.PINK);d(0,65,99,99);d(22,0,24,75);d(58,0,24,75);G.setPaint(C.MAGENTA);d(27,5,14,65);d(63,5,14,65);G.setPaint(C.WHITE);d(24,85,20,20);d(60,85,20,20);G.setPaint(C.BLACK);d(30,91,8,8);d(66,91,8,8);G.drawArc(41,124,9,11,0,-180);G.drawArc(50,124,9,11,0,-180);G.drawLine(50,119,50,130);}});show();}}

Ceci est le lapin résultant:
entrez la description de l'image ici

Explication:

import java.awt.*;              // Required imports for almost everything
v->                             // Method with empty unused parameter and no return-type
  new Frame(){                  //  Create a new Frame
    Graphics2D G;               //   Graphics2D-object on class-level
    Color C;                    //   Color variable to save bytes with static calls
    void d(int...d){            //   Create an inner method with integer-varargs as parameter
      G.fillOval(               //    Draw a circle/oval, filled with the current color:
        d[0],d[1],              //     With the first two integers as starting x,y position
        d[2],                   //     Third as width
        d[3]));}                //     And fourth as height
    {                           //   Then open an initializer-block inside the Frame-class
     add(new Panel(){           //    And add a Panel to the Frame we can draw on
       public void paint(Graphics g){
                                //     Override the Panel's paint-method
         G=(Graphics2D)g;       //      Set the Graphics2D-object with the parameter
         G.setPaint(C.PINK);    //      Set the color to pink (255,175,175)
         d(0,65,99,99);         //      Draw the head circle
         d(22,0,24,75);         //      Draw the left ear
         d(58,0,24,75);         //      Draw the right ear
         G.setPaint(C.MAGENTA); //      Change the color to magenta (255,0,255)
         d(27,5,14,65);         //      Draw the inner part of the left ear
         d(63,5,14,65);         //      Draw the inner part of the right ear
         G.setPaint(C.WHITE);   //      Change the color to white (255,255,255)
         d(24,85,20,20);        //      Draw the left eye
         d(60,85,20,20);        //      Draw the right eye
         G.setPaint(C.BLACK);   //      Change the color to black (0,0,0)
         d(30,91,8,8);          //      Draw the left pupil
         d(66,91,8,8);          //      Draw the right pupil
         G.drawArc(41,124,9,11,0,-180);
                                //      Draw the left mouth elipse
         G.drawArc(50,124,9,11,0,-180);
                                //      Draw the right mouth elipse
         G.drawLine(50,119,50,130);}});
                                //      Draw the line of the mouth
    show();}}                   //    And finally show the Frame on the screen

3

HTML , 280 278 octets

a{color:#FFC8C8;}b{color:#FF7F7F;font-size:6px;margin-left:-10px;}m,n,j,d{display:block;}m{margin:-15px -3px;font-size:40px;}n{margin:-35px 5px;color:#FFF;font-size:15px;}j{margin:-14px 1px;color:#000;font-size:10px;}
<a><b></b><a><b></b><m><n>● ●<j>●‌‌ ‌‌ ‌‌ ●<d>‌‌ ‌‌ ‌‌ w

Voici une capture d'écran:

entrez la description de l'image ici

Citations


0

HTML + CSS

entrez la description de l'image ici


.bunny {
  width: 107px;
  position: relative;
  z-index: 1;
  margin-top: 26px;
  margin-left: 37px;
}
.bunny .ears {
  display: flex;
  width: 100%;
  justify-content: center;
}
.bunny .ears .ear {
  width: 16px;
  height: 49px;
  background: #ff7f7e;
  border-radius: 100%;
  border: 7px solid #ffc8c8;
}
.bunny .ears .ear.left {
  margin-right: 8px;
}
.bunny .ears .ear.right {
  margin-left: 8px;
}
.bunny .face {
  width: 107px;
  background: #ffc8c8;
  border-radius: 100%;
  height: 107px;
  margin-top: -8px;
}
.bunny .face .eyes {
  justify-content: center;
  display: flex;
}
.bunny .face .eyes .eye {
  width: 9px;
  height: 9px;
  background: #000;
  border-radius: 100%;
  margin-top: 28px;
  border: 4px solid #fff;
}
.bunny .face .eyes .eye.left {
  margin-right: 12px;
}
.bunny .face .eyes .eye.right {
  margin-left: 12px;
}
.bunny .face .mouth-thing {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 18px;
  margin-right: 2px;
}
.bunny .face .mouth-thing .v-rule {
  height: 12px;
  width: 2px;
  background: #000;
}
.bunny .face .mouth-thing .jowls {
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.bunny .face .mouth-thing .jowls .jowl {
  margin-top: -5px;
  border-radius: 100%;
  border: 2px solid #000;
  height: 9px;
  width: 9px;
}
  <div class="ears">
    <div class="ear left"></div>
    <div class="ear right"></div>
  </div>
  <div class="face">
    <div class="eyes">
      <div class="eye left"></div>
      <div class="eye right"></div>
    </div>
    <div class="mouth-thing">
      <div class="v-rule"></div>
      <div class="jowls">
        <div class="jowl"></div>
        <div class="jowl"></div>
      </div>
    </div>
  </div>
</div>

2
Bienvenue chez PPCG! Étant donné qu'il s'agit de code-golf, ce qui signifie que les aubmissions devraient viser à minimiser leur nombre d'octets, nous avons besoin de soumissions de code-golf pour tenter sérieusement de réduire leur nombre d'octets, comme la réduction des espaces, le raccourcissement des noms de variables, etc. votre séjour!
Incarnation de l'ignorance

1
Vous devez également inclure votre bytecount dans l'en-tête
Jo King
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.