Skip to content

Instantly share code, notes, and snippets.

Atelier Git & GitHub

Cet atelier doit être réalisé en binôme, chaque participant doit choisir un rôle :

  • Simon
  • Garfunkel

Étape 1

  • Simon crée un dossier localement sur son ordinateur, nommé git-local et ouvre le dossier.

Appel d'une API avec fetch et axios

1. Structure HTML

Crée une page HTML index.html et ajoute la structure suivante dans le <body /> :

<dl>
    <dt id="word"></dt>
 
FROM openjdk:17 as mysqldoc
EXPOSE 8084
WORKDIR /app
# Copy maven executable to the image
COPY mvnw .
COPY .mvn .mvn
# Copy the pom.xml file
COPY pom.xml .
@bastienapp
bastienapp / user.md
Created December 2, 2022 11:01
Documenting your REST API

Show one user

  • URL

    /users/:id

  • Method:

    GET

@bastienapp
bastienapp / docker-postgres.md
Last active October 28, 2024 07:27
PostgreSQL docker commands

Install and launch PostgreSQL Docker image (change the password):

docker run --name postgres -d \
    -p 5432:5432 \
    -e POSTGRES_PASSWORD=change-password-here \
    -e TZ='Europe/Paris' \
    -e POSTGRES_INITDB_ARGS='--encoding=UTF-8 --lc-collate=C --lc-ctype=C' \
    --restart unless-stopped \
    postgres:latest

L'entreprise Luggage Everywhere veut créer le "Airbnb des bagages".

Vous partez en voyage en Suède et avez une escale de plusieurs heures à Amsterdam ? Plutôt que de vous balader avec vos lourds bagages, vous pouvez les déposer dans un magasin ou un hôtel partenaire, qui les gardera le temps de votre balade.

Ce que vous devez faire :

Réalisez le MCD, à faire valider par le formateur. Ensuite, passez au MLD, et une fois ce dernier validé, créez un script contenant les requêtes de création de la base de données, des tables et quelques données d'exemple, en vous basant la transcription de l'échange avec Luggage Everywhere :​

Dans le jargon de Luggage Everywhere, un partenaire est une entreprise (magasin ou hôtel) dans laquelle il est possible d'effectuer un dépôt de bagage. Un client correspond à un utilisateur du site, qui effectue des dépôts de bagages chez un ou plusieurs partenaires.

Vous avez été contacté par Francky Vincent, star de la chanson. Ce dernier souhaite créer une application qui lui permettrait d'automatiser le passage de commandes de son nouveau restaurant.

En effet, Francky Vincent avait déjà ouvert un restaurant par le passé, mais a eu une mauvaise expérience avec son personnel. Après plusieurs années à travailler sur une solution, il a enfin eu une idée de génie : il souhaite tout automatiser, du passage de la commande jusqu'à la préparation des plats. Ainsi, plus de problèmes avec le personnel !

La première étape de la création de ce restaurant nouvelle génération réside dans le passage des commandes sur tablette tactile : il vous a donc embauché pour réaliser un prototype d'API.

Les spécifications :

Un client doit pouvoir passer une commande, en sélectionnant des plats dans une liste. Un plat possède une catégorie, ex: boisson, entrée, plat, dessert (la liste est amenée à changer), un nom, une description et un prix affiché en TTC (mais stocké en HT).

Importe la base de données de super-héros suivante en local.

Ensuite, réalise les requêtes suivantes (pense à les garder les requêtes de côté au fur et à mesure) :

  • en utilisant ORDER BY et LIMIT, récupère le nom du super-héros le plus léger.
  • en utilisant ORDER BY et LIMIT, récupère le nom du super-héros le plus grand.
  • en utilisant INNER JOIN, récupère le nom des super-héros et leurs éditeurs respectifs (publisher).
  • récupère le nom des super-héros, son genre et leurs alignements respectifs.
  • récupère le nom des super-héros maîtrisant le super-pouvoir "Levitation".
  • en utilisant LEFT JOIN ou RIGHT JOIN, récupère le nom des super-héros n'ayant pas de super-pouvoirs.

Créer un site de liste de cadeau (wishlist) dont le but sera le suivant :

  • un utilisateur non connecté peut accéder à une liste de cadeaux qu'un autre utilisateur a partagé via une URL (du type /slug-du-nom-de-la-liste-uuid)
  • une liste de cadeau présente un nom, une description, un date limite, une url unique de partage, ainsi qu'un ensemble de cadeaux
  • chaque cadeau est composé d'une image, d'un nom, d'une description et d'un prix
  • un utilisateur connecté pourra créer et administrer ses propres listes de cadeaux, et ajouter/modifier/supprimer des cadeaux aux listes (chaque cadeau devra être créé de zéro, pas de sélection à partir d'une liste). Chaque liste aura une url unique générée à partir de son nom et de son uuid
  • un utilisateur pourra créer un compte avec comme données obligatoires son email (unique), son mot de passe et un pseudonyme. Un champ de présentation sera optionnel.
  • le mot de passe devra être encrypté (bcrypt ou argon2), avec au minimum 12 caractères comprenant des majuscules, des min