GithubHelp home page GithubHelp logo

cnam-php-exam-2022's Introduction

CNAM - PHP - Examen

Vous devrez envoyer votre rendu, c'est-à-dire une archive ZIP contenant l'ensemble des sources, images et CSS, par email

Sujet

Vous allez réaliser une application présentant des albums de musique. Les utilisateurs anonymes, donc non authentifiés, de votre application, pourront ajouter un ou plusieurs albums à un panier, pour les commander.

Votre application s'appuiera sur une base de données MySQL pour la gestion des albums

Pages attendues

Partie "publique" du site, accessible à tous les utilisateurs :

  • Page d'accueil (liste des albums)
  • Fiche album (sur cette page, possibilité d'ajouter l'album au panier)
  • Voir le panier
  • Login

Partie "privée", administration, accessible seulement aux utilisateurs authentifiés :

  • Liste des albums enregistrés (possibilité de supprimer un album depuis cette liste)
  • Nouvel album
  • Déconnexion

Base de données

Votre base de données contiendra 2 tables : users et albums.

Vous trouverez un fichier bdd.sql contenant le script de création des 2 tables. Vous devez simplement créer votre base de données au préalable, puis exécuter ce script SQL pour créer les tables

Structure des tables

users

Nom de la colonne Type Commentaire
id INT NOT NULL, AUTO_INCREMENT, PRIMARY KEY
login VARCHAR Taille 255
pass VARCHAR Taille 255

Vous réaliserez un script de création d'utilisateurs de tests (fixtures)

albums

Nom de la colonne Type Commentaire
id INT NOT NULL, AUTO_INCREMENT, PRIMARY KEY
artist VARCHAR Taille 255
title VARCHAR Taille 255
cover VARCHAR Taille 255

Le champ cover de la table albums contiendra un lien vers une image, sur internet (Unsplash par exemple), pas besoin de faire d'upload

Apparence

Votre application présentera un menu, une zone de contenu et un footer.

Dans le menu, on fera apparaître de manière conditionnelle les liens d'administration (Nouvel Album, Liste des albums, déconnexion), selon que l'on est connecté ou non.

Vous êtes complètement libre sur l'apparence de l'application. Si vous le souhaitez, vous pouvez utiliser une librairie externe comme Bootstrap.

Gestion du panier

Quand un utilisateur voudra ajouter un album à son panier, vous utiliserez les sessions PHP pour stocker l'ID de l'album ajouté.

Ainsi, sur la page "Voir le panier", l'idée sera de faire une requête récupérant tous les albums avec leurs ID.

cnam-php-exam-2022's People

Contributors

ld-web avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.