Cours de formation en ligne Académie SQL VBS. Exercices SQL. Syntaxe SQL utilisée

Personnes fêtant leur anniversaire :
Charychkine P.P. (PeterChar)
Santé et réussite !

Prochains anniversaires. Il y a des exercices sur l'opérateur sur le site SÉLECTIONNER(149 exercices au stade de formation et 234 au stade de notation) et pour les autres opérateurs de manipulation de données - - (actuellement 41 exercices). Pour des exercices sur SÉLECTIONNER Les participants sont notés. Regarder
Conditions d'essai

Aujourd'hui nous avons 1730 participants ( 219 nouveau).
Problèmes résolus au stade de la notation : 119
(35
par SELECT et 84 par DML),
au stade de la formation - 3612

Connaissance pratique du langage SQL

Le site aidera toute personne souhaitant acquérir ou améliorer ses compétences en langage d'écriture pour les opérateurs de manipulation de données. SQL. L'essence de la formation est que vous écrivez vous-même des déclarations qui doivent renvoyer ou modifier les données requises par la tâche. Dans ce cas, si la réponse est incorrecte, vous pourrez savoir quelles données la demande correcte renvoie, et également voir ce que votre demande a renvoyé. De plus, il est possible d'exécuter n'importe quel opérateur DML aux bases de données existantes en désactivant l'option de vérification. Les exercices ont différents niveaux de difficulté (de 1 à 5), qui sont indiqués dans la deuxième colonne de la liste des exercices. Des exercices sur l'échantillonnage de données sont proposés (opérateur SÉLECTIONNER) et exercices de modification des données (opérateurs INSÉRER, METTRE À JOUR, SUPPRIMER et FUSIONNER). Sur la base des résultats de la résolution des problèmes, une évaluation des participants est maintenue sur le site. Dans ce cas, les exercices d'échantillonnage sont divisés en trois étapes : la première (6 exercices) sans contrôle du temps pour accomplir une tâche distincte, la seconde (à partir de l'exercice 7) - avec contrôle du temps pour accomplir chaque tâche. Dans la troisième étape, appelée optimisation et commence par le problème 139, il est nécessaire non seulement de résoudre le problème correctement, mais aussi le temps nécessaire pour terminer la demande doit être proportionné au temps nécessaire pour terminer la solution de l'auteur.
Les exercices de la première étape sont disponibles sans inscription et les tâches peuvent être résolues dans n'importe quel ordre. L'inscription est requise pour compléter les exercices restants. L'inscription est gratuite, comme tous les autres services du site. Dans la troisième colonne de la liste des exercices, les numéros d'exercices correctement complétés seront marqués (« OK ») pour les visiteurs enregistrés. Après avoir visité notre site par la suite, vous n'aurez pas besoin de vous rappeler quels exercices vous avez déjà réalisés et lesquels vous n'avez pas fait. Une fois inscrit, vous saisissez ensuite le nom d'utilisateur et le mot de passe spécifiés lors de l'inscription. Si vous vous connectez sans autorisation, le système ne suivra pas votre progression. Un forum est disponible pour les utilisateurs autorisés où vous pouvez discuter des solutions aux exercices proposés.

REMARQUE : Une requête mal formulée peut renvoyer des données « correctes » dans l'état actuel de la base de données. Par conséquent, vous ne devriez pas être surpris si les résultats d’une requête incorrecte correspondent aux résultats corrects, mais que la requête est considérée comme incorrecte par le système de vérification.

ATTENTION: Pour que le site fonctionne correctement, votre navigateur doit autoriser l'utilisation de Cookies et de JavaScript.
Étant donné que les pages d'aide s'ouvrent dans une sous-fenêtre, votre filtre Web, s'il est utilisé, doit autoriser l'ouverture des sous-fenêtres.

Attestation

Sur la base des résultats des tests, vous pouvez commander sur le site Internet certificat"Spécialiste du langage de manipulation de données SQL" confirmant vos qualifications. Nous maintenons la qualité du certificat en remplaçant périodiquement les tâches et en augmentant les exigences de certification.

Syntaxe SQL utilisée

Les requêtes des visiteurs sont en fait exécutées par le serveur SQL, ce qui impose des restrictions sur la syntaxe des instructions valides. Nous utilisons actuellement Microsoft SQL Server 2017, et au stade de la formation - en plus MariaDB-10.2.13 (compatible MySQL 8), PostgreSQL 10.3 Et Base de données Oracle 11g. Par conséquent, l'utilisateur doit respecter la syntaxe de ces implémentations lors de l'écriture de ses requêtes. A noter que la syntaxe du langage SQL implémenté dans Microsoft SQL Server est assez proche du standard SQL-92. Cependant, il existe un certain nombre d'écarts, parmi lesquels on peut noter l'absence de connexion naturelle des tables (NATURAL JOIN). L'aide sur le langage de manipulation de données SQL disponible sur le site, conformément à la norme, contient les informations nécessaires à l'apprentissage du langage et à la réalisation des exercices. Vous y trouverez également les spécificités de l'implémentation utilisée (SQL Server).

meilleurs scores

Personne Partitions Jours Jours_2 Jours_3 Scores_3
Krasovsky E.A. (pégoopik) 671 3289 210.553 14.398 250
Kostomarov A.V. (al29) 647 2617 4143.636 2280.923 250
Dochtchenko V.N. (mcrain) 630 2759 2035.474 520.375 248

Bienvenue sur mon blog. Aujourd'hui, nous allons parler des requêtes SQL pour les débutants. Certains webmasters peuvent avoir une question. Pourquoi apprendre SQL ? N'est-il pas possible de s'en sortir ?

Il s'avère que cela ne suffira pas à créer un projet Internet professionnel. SQL est utilisé pour travailler avec des bases de données et créer des applications pour WordPress. Voyons plus en détail comment utiliser les requêtes.

Ce que c'est

SQL est un langage de requête structuré. Conçu pour déterminer le type de données, y donner accès et traiter les informations dans de courts délais. Il décrit les composants ou certains résultats que vous souhaitez voir sur le projet Internet.

Pour faire simple, ce langage de programmation permet d'ajouter, de modifier, de rechercher et d'afficher des informations dans la base de données. La popularité de MySQL est due au fait qu'il est utilisé pour créer des projets Internet dynamiques basés sur une base de données. Par conséquent, pour développer un blog fonctionnel, vous devez apprendre ce langage.

Qu'est-ce que ça peut faire

Le langage SQL permet de :

  • créer des tableaux ;
  • changer pour recevoir et stocker diverses données ;
  • combiner les informations en blocs ;
  • protéger les données ;
  • créer des requêtes en accès.

Important! Une fois que vous comprenez SQL, vous pouvez écrire des applications pour WordPress de toute complexité.

Quelle structure

La base de données est constituée de tableaux pouvant être présentés sous forme de fichier Excel.

Il a un nom, des colonnes et une ligne avec quelques informations. Vous pouvez créer de telles tables à l'aide de requêtes SQL.

Que souhaitez-vous savoir


Points clés pour apprendre SQL

Comme indiqué ci-dessus, les requêtes sont utilisées pour traiter et saisir de nouvelles informations dans une base de données composée de tables. Chaque ligne est une entrée distincte. Alors, créons une base de données. Pour ce faire, écrivez la commande :

Créer une base de données 'bazaname'

Nous écrivons le nom de la base de données en latin entre guillemets. Essayez de lui trouver un nom clair. Ne créez pas de base de données comme « 111 », « www » et autres.

Après avoir créé la base de données, installez :

FIXER LES NOMS 'utf-8'

Ceci est nécessaire pour que le contenu du site s'affiche correctement.

Créons maintenant un tableau :

CRÉER UNE TABLE 'bazaname' . 'tableau' (

id INT(8) NON NULL CLÉ PRIMAIRE AUTO_INCREMENT,

journal VARCHAR(10),

passer VARCHAR(10),

dateDATE

Dans la deuxième ligne, nous avons écrit trois attributs. Voyons ce qu'ils signifient :

  • L'attribut NOT NULL signifie que la cellule ne sera pas vide (le champ est obligatoire) ;
  • La valeur AUTO_INCREMENT est une saisie semi-automatique ;
  • CLÉ PRIMAIRE - clé primaire.

Comment ajouter des informations

Pour remplir les champs de la table créée avec des valeurs, l'instruction INSERT est utilisée. Nous écrivons les lignes de code suivantes :

INSÉRER DANS 'tableau'

(login, pass, date) VALEURS

(« Vasa », « 87654321 », « 21/06/2017 18:38:44 ») ;

Entre parenthèses, nous indiquons les noms des colonnes et, entre parenthèses, les valeurs.

Important! Maintenez la cohérence des noms et des valeurs des colonnes.

Comment mettre à jour les informations

Pour ce faire, utilisez la commande UPDATE. Voyons comment changer le mot de passe d'un utilisateur spécifique. Nous écrivons les lignes de code suivantes :

UPDATE 'table' SET pass = '12345678' WHERE id = '1'

Changez maintenant le mot de passe « 12345678 ». Les changements se produisent dans la ligne avec « id »=1. Si vous n'écrivez pas la commande WHERE, toutes les lignes changeront, pas une en particulier.

Je vous recommande d'acheter le livre " SQL pour les nuls " Avec son aide, vous pouvez travailler professionnellement avec la base de données étape par étape. Toutes les informations sont structurées selon le principe du simple au complexe et seront bien perçues.

Comment supprimer une entrée

Si vous avez écrit quelque chose de mal, corrigez-le à l'aide de la commande DELETE. Fonctionne de la même manière que UPDATE. Nous écrivons le code suivant :

SUPPRIMER DE 'table' OÙ id = '1'

Informations sur l'échantillonnage

Pour récupérer les valeurs de la base de données, utilisez la commande SELECT. Nous écrivons le code suivant :

SELECT * FROM 'table' WHERE id = '1'

Dans cet exemple, nous sélectionnons tous les champs disponibles dans le tableau. Cela se produit si vous entrez un astérisque « * » dans la commande. Si vous devez sélectionner un exemple de valeur, écrivez ceci :

SELECT log, passez FROM table WHERE id = '1'

Il convient de noter que la capacité de travailler avec des bases de données ne suffira pas. Pour créer un projet Internet professionnel, vous devrez apprendre à ajouter des données d'une base de données aux pages. Pour cela, familiarisez-vous avec le langage de programmation web PHP. Cela vous aidera avec ça cours sympa de Mikhail Rusakov .


Supprimer un tableau

Se produit à l’aide d’une requête DROP. Pour ce faire, nous écrirons les lignes suivantes :

table DÉPOSER LA TABLE ;

Afficher un enregistrement d'une table en fonction d'une condition spécifique

Considérez ce code :

SELECT id, country, city FROM table WHERE people>150000000

Il affichera les enregistrements des pays comptant plus de cent cinquante millions d'habitants.

Une association

Il est possible de lier plusieurs tables entre elles grâce à Join. Découvrez comment cela fonctionne plus en détail dans cette vidéo :

PHP et MySQL

Je tiens encore une fois à souligner que les demandes lors de la création d'un projet Internet sont monnaie courante. Pour les utiliser dans des documents PHP, suivez l'algorithme suivant :

  • Connectez-vous à la base de données à l'aide de la commande mysql_connect() ;
  • En utilisant mysql_select_db() nous sélectionnons la base de données souhaitée ;
  • Nous traitons la requête en utilisant mysql_fetch_array();
  • Fermez la connexion avec la commande mysql_close().

Important! Travailler avec une base de données n'est pas difficile. L'essentiel est de rédiger correctement la demande.

Les webmasters débutants y réfléchiront. Que faut-il lire sur ce sujet ? Je voudrais recommander le livre de Martin Graber " SQL pour les simples mortels " Il est écrit de telle manière que les débutants comprendront tout. Utilisez-le comme ouvrage de référence.

Mais c'est une théorie. Comment cela fonctionne-t-il en pratique ? En réalité, un projet Internet doit non seulement être créé, mais également porté au TOP de Google et Yandex. Le cours vidéo vous y aidera " Création et promotion de site internet ».


Instruction vidéo

Vous avez encore des questions ? Regardez la vidéo en ligne pour plus de détails.

Conclusion

Ainsi, comprendre comment écrire des requêtes SQL n'est pas aussi difficile qu'il y paraît, mais tout webmaster doit le faire. Les cours vidéo décrits ci-dessus vous y aideront. S'abonner à mon groupe VKontakte être le premier informé lorsque de nouvelles informations intéressantes apparaissent.

La plupart des applications Web modernes interagissent avec des bases de données, généralement en utilisant un langage appelé SQL. Heureusement pour nous, cette langue est très facile à apprendre. Dans cet article, nous examinerons des éléments simples SQL requêtes et apprenez à les utiliser pour interagir avec Base de données MySQL.

De quoi aurez-vous besoin ?

SQL (langage de requête structuré) un langage spécialement conçu pour s'interfacer avec les systèmes de gestion de bases de données tels que MySQL, Oracle, SQLite et autres... Pour compléter SQL demandes dans cet article, je vous conseille d'installer MySQL sur votre ordinateur local. Je recommande également d'utiliser phpMonAdmin comme interface visuelle.

Tout cela est disponible dans le Denver préféré de tous. Je pense que tout le monde devrait savoir ce que c'est et où l'obtenir :). Peut utilisez également WAMP ou MAMP.

Denver a un intégré MySQL console. C'est ce que nous utiliserons.

CRÉER UNE BASE DE DONNÉES :création de base de données

Voici notre première demande. Nous allons créer notre première base de données pour des travaux ultérieurs.

Pour commencer, ouvrez MySQL console et connectez-vous. Pour WAMP Le mot de passe par défaut est vide. Ce n'est rien :). Pour MAMP - "racine". Pour Denver, il faut clarifier.

Après vous être connecté, entrez la ligne suivante et cliquez sur Entrer:

CRÉER UNE BASE DE DONNÉES my_first_db ;

Notez qu'un point-virgule (;) est ajouté à la fin de la requête, comme dans les autres langages.

Également des commandes en SQL sensible aux majuscules et minuscules. Nous les écrivons en majuscules.

Possibilités officiellement: Jeu de caractèresEt Collation

Si vous souhaitez installer le jeu de caractères (jeu de caractères) et le classement (comparaison) peuvent être écrivez la commande suivante :

CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Recherche une liste des jeux de caractères pris en charge dans MySQL.

AFFICHER LES BASES DE DONNÉES :affiche une liste de toutes les bases de données

Cette commande est utilisée pour lister toutes les bases de données disponibles.

SUPPRIMER LA BASE DE DONNÉES :supprimer une base de données

Vous pouvez supprimer une base de données existante à l'aide de cette requête.

Soyez prudent avec cette commande car elle s'exécute sans avertissement. S'il y a des données dans votre base de données, elles seront toutes supprimées.

UTILISER:Sélection de base de données

Techniquement, ce n'est pas une requête, mais une instruction et ne nécessite pas de point-virgule à la fin.

Il indique à MySQL sélectionnez la base de données par défaut pour la session en cours. Nous sommes maintenant prêts à créer des tables et à effectuer d'autres tâches avec la base de données.

Qu'est-ce qu'une table dans une base de données ?

Vous pouvez représenter la table dans la base de données comme Fichier Excel.

Tout comme sur l'image, les tableaux ont des noms de colonnes, des lignes et des informations. En utilisant SQL requêtes, nous pouvons créer de telles tables. Nous pouvons également ajouter, lire, mettre à jour et supprimer des informations.

CRÉER UN TABLEAU : Création d'un tableau

C En utilisant cette requête, nous pouvons créer des tables dans la base de données. Malheureusement, la documentation MySQL pas très clair pour les débutants sur cette question. La structure de ce type de requête peut être très complexe, mais nous allons commencer par quelque chose de simple.

La requête suivante créera une table avec 2 colonnes.

Utilisateurs CREATE TABLE (nom d'utilisateur VARCHAR(20), create_date DATE) ;

Veuillez noter que nous pouvons écrire nos requêtes sur plusieurs lignes et avec des onglets pour l'indentation.

La première ligne est simple. Nous créons simplement une table appelée "utilisateurs". Ensuite, entre parenthèses, séparées par des virgules, se trouve une liste de toutes les colonnes. Après chaque nom de colonne, nous avons des types d'informations, tels que VARCHAR ou DATE.

VARCHAR(20) signifie que la colonne est de type chaîne et peut comporter un maximum de 20 caractères. DATE est également un type d'information utilisé pour stocker les dates au format suivant : "AAAA - MM-JJ".

CLÉ PRIMAIRE ( clé primaireh)

Avant d'exécuter la requête suivante, nous devons également inclure une colonne pour "user_id", qui sera notre clé primaire. Vous pouvez considérer PRIMARY KEY comme des informations utilisées pour identifier chaque ligne d’un tableau.

Utilisateurs CREATE TABLE (user_id INT AUTO_INCREMENT PRIMARY KEY, nom d'utilisateur VARCHAR(20), create_date DATE) ;

INT crée un type entier de 32 bits (par exemple, des nombres). INCRÉMENTATION AUTOMATIQUE génère automatiquement une nouvelle valeur IDENTIFIANT chaque fois que nous ajoutons une nouvelle série d’informations. Ce n’est pas nécessaire, mais cela facilite l’ensemble du processus.

Il n'est pas nécessaire que cette colonne soit une valeur entière, mais elle est le plus souvent utilisée. Avoir une clé primaire est également facultatif, mais est recommandé pour l'architecture et les performances de la base de données.

Lançons la requête :

AFFICHER LES TABLEAUX :afficher tous les tableaux

Cette requête vous permet d'obtenir une liste des tables présentes dans la base de données.

EXPLIQUER:Afficher la structure du tableau

Pour afficher la structure d'une table existante, vous pouvez utiliser cette requête.

Les colonnes sont affichées avec toutes les propriétés.

TABLEAU DE DÉPÔT :supprimer le tableau

Identique à DROP DATABASES, cette requête supprime la table et son contenu sans avertissement.

MODIFIER TABLE: changer de table

Cette requête peut également contenir une structure complexe en raison du plus grand nombre de modifications qu'elle peut apporter à la table. Regardons des exemples.

(si vous avez supprimé la table à l'étape précédente, créez-la à nouveau pour les tests)

AJOUTER UNE COLONNE

ALTER TABLE utilisateurs ADD email VARCHAR(100) AFTER nom d'utilisateur ;

En raison de la bonne lisibilité de SQL, je pense qu'il ne sert à rien de l'expliquer en détail. Nous ajoutons une nouvelle colonne « email » après « nom d'utilisateur ».

SUPPRIMER UNE COLONNE

C'était aussi très facile. Utilisez cette demande avec prudence car vos données peuvent être supprimées sans avertissement.

Restaurez la colonne que vous venez de supprimer pour d'autres expériences.

FAIRE DES MODIFICATIONS DANS UNE COLONNE

Parfois, vous souhaiterez peut-être apporter des modifications aux propriétés d'une colonne et vous n'avez pas besoin de la supprimer complètement pour ce faire.

Cette requête a renommé la colonne utilisateur en « nom_utilisateur » et a modifié son type de VARCHAR(20) en VARCHAR(30). Ce changement ne devrait pas modifier les données du tableau.

INSÉRER: Ajouter des informations à un tableau

Ajoutons quelques informations au tableau à l'aide de la requête suivante.

Comme vous pouvez le voir, VALUES() contient une liste de valeurs séparées par des virgules. Toutes les valeurs sont placées dans des colonnes uniques. Et les valeurs doivent être dans l'ordre des colonnes définies lors de la création du tableau.

Notez que la première valeur est NULL pour le champ PRIMARY KEY appelé « user_id ». Nous faisons cela pour que l'ID soit généré automatiquement, puisque la colonne a la propriété AUTO_INCREMENT. Lorsque des informations sont ajoutées pour la première fois, l'ID sera 1. La ligne suivante sera 2, et ainsi de suite...

OPTION ALTERNATIVE

Il existe une autre option de requête pour ajouter des lignes.

Cette fois, nous utilisons le mot-clé SET au lieu de VALUES et il n'a pas de parenthèses. Il y a plusieurs nuances :

Vous pouvez sauter la colonne. Par exemple, nous n'avons pas attribué de valeur à "user_id", qui serait par défaut sa valeur AUTO_INCREMENT. Si vous omettez une colonne de type VARCHAR, une ligne vide sera ajoutée.

Chaque colonne doit être référencée par son nom. De ce fait, ils peuvent être mentionnés dans n’importe quel ordre, contrairement à la version précédente.

OPTION ALTERNATIVE 2

Voici une autre option.

Encore une fois, puisqu'il existe des références au nom de la colonne, vous pouvez définir les valeurs dans n'importe quel ordre.

LAST_INSERT_ID()

Vous pouvez utiliser cette requête pour obtenir l'ID AUTO_INCREMENT pour la dernière ligne de la session en cours.

MAINTENANT()

Il est maintenant temps de montrer comment utiliser la fonction MySQL dans les requêtes.

La fonction NOW() affiche la date actuelle. Vous pouvez donc l'utiliser pour définir automatiquement la date d'une colonne sur la date actuelle lorsque vous insérez une nouvelle ligne.

Veuillez noter que nous avons reçu 1 avertissement, mais veuillez l'ignorer. La raison en est que NOW() sert également à générer des informations temporaires.

SÉLECTIONNER: Lire les données d'une table

Si nous ajoutons des informations à un tableau, il serait alors logique d’apprendre à les lire à partir de là. C'est là que la requête SELECT nous aidera.

Vous trouverez ci-dessous la requête SELECT la plus simple possible pour lire une table.

Dans ce cas, l'astérisque (*) signifie que nous avons demandé tous les champs du tableau. Si vous souhaitez uniquement certaines colonnes, la requête ressemblera à ceci.

Condition

Le plus souvent, nous ne nous intéressons pas à toutes les colonnes, mais seulement à certaines. Par exemple, supposons que nous n'ayons besoin que d'une adresse e-mail pour l'utilisateur "nettuts".

WHERE vous permet de définir des conditions dans une requête et d'effectuer des sélections détaillées.

Notez que pour l'égalité, un signe égal (=) est utilisé, et non deux, comme en programmation.

Vous pouvez également utiliser des comparaisons.

AND ou OR peuvent être utilisés pour combiner des conditions :

Notez que les valeurs numériques ne doivent pas être entre guillemets.

DANS()

Ceci est utile pour échantillonner sur plusieurs valeurs

COMME

Vous permet de faire des requêtes "wildcard"

L'icône % est utilisée comme "caractère générique". Autrement dit, n'importe quoi pourrait être à sa place.

ConditionCOMMANDÉ PAR

Si vous souhaitez obtenir le résultat sous une forme ordonnée selon n'importe quel critère

L'ordre par défaut est ASC (du plus petit au plus grand). Pour le contraire, DESC est utilisé.

LIMITE... DÉCALAGE...

Vous pouvez limiter le nombre de résultats renvoyés.

LIMIT 2 ne prend que les 2 premiers résultats. LIMITE 1 OFFSET 2 obtient 1 résultat après les 2 premiers. LIMIT 2, 1 signifie la même chose (notez simplement que offset vient en premier, puis limit ).

MISE À JOUR: Apporter des modifications aux informations du tableau

Cette requête est utilisée pour modifier les informations dans une table.

Dans la plupart des cas, il est utilisé conjointement avec une clause WHERE, car vous souhaiterez probablement apporter des modifications à certaines colonnes. S'il n'y a pas de clause WHERE, les modifications affecteront toutes les lignes.

Vous pouvez également utiliser LIMIT pour limiter le nombre de lignes auxquelles des modifications doivent être apportées.

SUPPRIMER: Supprimer des informations d'un tableau

Tout comme UPDATE, cette requête est utilisée avec WHERE :

Pour supprimer le contenu d'un tableau, vous pouvez simplement faire ceci :

SUPPRIMER DES utilisateurs ;

Mais il vaut mieux utiliser TRONQUER

En plus de la suppression, cette requête réinitialise également les valeurs INCRÉMENTATION AUTOMATIQUE et lors de l'ajout de lignes à nouveau, le compte à rebours commencera à zéro. SUPPRIMER ne le fait pas et le compte à rebours continue.

Désactivation des valeurs minuscules et des mots spéciaux

Valeurs de chaîne

Certains caractères doivent être désactivés ( s'échapper ), ou il peut y avoir des problèmes.

Une barre oblique inverse est utilisée pour cela.(\).

Mots spéciaux

Parce que dans MySQL il y a beaucoup de mots spéciaux ( SÉLECTIONNER ou METTRE À JOUR ), pour éviter les erreurs lors de leur utilisation, vous devez utiliser des guillemets. Mais pas des citations ordinaires, mais comme ça(`).

Autrement dit, vous devrez ajouter une colonne nommée " supprimer ", vous devez procéder ainsi :

Conclusion

Merci d'avoir lu jusqu'au bout. J'espère que vous avez trouvé cet article utile. Ce n'est pas encore fini! À suivre:).

Avez-vous aimé l'article? Partager avec des amis: