IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

Architecture URI + endpoints


Sujet :

PHP & Base de donn�es

  1. #1
    Membre averti
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2024
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 24
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2024
    Messages : 24
    Par d�faut Architecture URI + endpoints
    Bonjour � tous

    Cr�ant un site web afin de m'entrainer � PHP, apr�s avoir cr�er la base de donn�es en MySQL et avoir termin� le front, je souhaite maintenant m'attaquer � la cr�ation d'une API REST en PHP afin que mon site soit accessible quel que soit le support. (Note : pour le moment je travaille avec WAMP)

    En faisant des recherches pour comprendre comment mettre en place une API, j'ai remarqu� que la plupart du temps dans les exemples le fichier index.php (qui si j'ai bien compris est un routeur) va se charger de redistribuer les requ�tes HTTP selon l'url (n'h�sitez pas � me corriger si j'ai faux, car la notion de cr�ation d'API est encore tr�s flou pour moi). Et donc le nom de la page se fera en fonction de l'endpoint mais pas l'inverse.


    Ainsi de ce que je comprends, la cr�ation de ce fichier index est suppos� �tre la toute premi�re �tape de la cr�ation d'un site ?
    Dans mon cas j'ai d�j� cr�e toutes mes pages php ainsi que mes requ�tes avant de vouloir m'attaquer � l'API. Ma question serait donc de savoir comment "lier" mes pages aux requ�tes de mon API REST vu que les endpoints seront forc�ment faux.

    Je m'excuse d'avance si ma question semble flou mais malheureusement c'est que le sujet est encore tr�s flou pour moi malgr� mes nombreuses recherches sur le sujet, c'est d'ailleurs la raison pour laquelle je me suis r�solue � poster ce message sur le forum.

    Je remercie tout ceux qui prendront le temps de lire mon message et pourront m'aider � �claircir le sujet

  2. #2
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 660
    Par d�faut
    les clients http communiquent avec le serveur avec des url. si par exemple vous avez un site qui g�re une liste de livres, vous pouvez avoir ces 2 formes
    • https://serveur/pages_publiques/livres/details_livre.php?titre=le-colonel-chabert, on trouve l� le fichier details_livre.php dans un r�pertoire et un sous-r�pertoire.
    • https://serveur/pages_publiques/livres/le-colonel-chabert, cela peut �tre par exemple g�r� par une r��criture d'url qui redirige vers index.php?url=pages_publiques/livres/le-colonel-chabert, le code dans le fichier index.php va alors chercher la classe Pages_publiques/Livres pour g�n�rer le r�sultat


    quelque soit le structure des url, vous pouvez g�n�rer exactement le contenu html que vous souhaitez, le choix de l'url ne vous bloquera pas sur la fa�on de vous allez organiser votre code.

    en ce qui concerne les url de l'api, la diff�rence principale est que ces url ne vont pas r�pondre avec du code html mais avec des donn�es au format json.
    en reprenant l'exemple des livres, vous aurez par exemple :

    • /pages_publiques/livres/le-colonel-chabert l'affichage de la page publique avec les d�tails du livre
    • /pages_administration/connexion la page de connexion � l'espace d'administration
    • /pages_administration/livres/?id=8 la page d'�dition du m�me livre
    • /api/livres/ le point de l'api qui retournera la liste des livres
    • /api/livres/8 le point de l'api qui retournera les informations du livre avec l'identifiant 8

    et dans les pages de l'affichage publique d'un livre, dans la page d'�dition du livre et dans l'url de l'api qui retourne les informations d'un livre, vous allez retrouver � chaque fois un appel � la fonction qui va chercher dans la base de donn�es les d�tails d'un livre. dans les 3 cas, �a sera la pr�sentation des donn�es qui va �tre diff�rente.


    quelque soit les url, le plus important est de bien organiser les fichiers pour faciliter les �volutions futures. et cela passe par la s�paration des diff�rentes parties comme la pr�paration des donn�es, l'affichage des donn�es et le traitement des donn�es.
    pour ma part, j'arrive beaucoup mieux � travailler quand je r�partis le code dans beaucoup de fichiers dont certains peuvent tr�s bien contenir seulement 2 lignes de code. � vous de voir comment vous �tes le plus � l'aise en testant diff�rentes organisations.

    est ce que ces d�tails vous aident � voir un peu mieux comment organiser votre site, que ce soit les pages html ou les points de l'api ?

  3. #3
    Membre averti
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2024
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 24
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2024
    Messages : 24
    Par d�faut
    Bonjour

    Merci mathieu pour ta r�ponse, je ne sais pas pourquoi j'ai autant de mal � comprendre comment marche une API
    Pourtant je comprends le principe mais je bloque sur la mani�re dont tout est reli�. Je ne comprends pas comment les pages que j'ai cr�er en php peuvent �tre reli�s au endpoints et ainsi afficher les donn�es par exemple.

    De ce que je croyais avoir compris avec une vid�o d'explication sur Youtube, on avait un fichier API avec toutes les fonctions n�cessaires que ce soit pour le GET, PUT, POST, DELETE et un fichier index.php (un routeur) qui se chargeait de redistribuer les fonctions selon l'url appel�e.
    Donc il fallait r�cup�rer les donn�es � partir de ces endpoints pour les mettre dans des variables qui permettent d'afficher aux utilisateurs les donn�es.

  4. #4
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 660
    Par d�faut
    la page qui affiche les d�tails ne va pas utiliser l'url de l'api. le lien entre les 2 parties est que les 2 appels � l'url vont appeler la m�me fonction de recherche des donn�es.
    vous pouvez tester l'exemple que j'ai mis en pi�ce-jointe. les url � appeler sont les suivants :
    • administration/edition_livre.php?id=8
    • pages_publiques/details_livre.php?code=le-colonel-chabert
    • api/livre.php?id=8


    dans mon exemple, il y a un acc�s direct aux fichiers mais quand vous allez utiliser un framework, vous verrez plutot de l'url rewriting. les frameworks utilisent cela pour ne pas avoir besoin de dupliquer les fichiers et le principe reste le m�me : chaque requ�te http lance le code qui va r�cup�rer les donn�es et les afficher.
    Fichiers attach�s Fichiers attach�s

  5. #5
    Membre averti
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2024
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 24
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2024
    Messages : 24
    Par d�faut
    Bonjour

    Merci mathieu pour ton explication, je comprends un peu mieux gr�ce � ta r�ponse et apr�s d'autres recherches sur Internet.
    Merci beaucoup pour ton aide et d'avoir pris le temps de me r�pondre

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Architecture] Interface entre C++ & Java
    Par yanis97 dans le forum Entr�e/Sortie
    R�ponses: 13
    Dernier message: 13/07/2004, 15h46
  2. R�ponses: 3
    Dernier message: 01/07/2003, 16h04
  3. architecture distribu�e d�butant
    Par jmt2 dans le forum CORBA
    R�ponses: 2
    Dernier message: 13/03/2003, 12h52
  4. architecture
    Par pons dans le forum CORBA
    R�ponses: 3
    Dernier message: 11/06/2002, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo