Muséum national d'Histoire naturelle (MNHN)
7210
http://www.mnhn.fr
http://www.enseignementsup-recherche.gouv.fr/
http://www.developpement-durable.gouv.fr/
Bienvenue, (invité) Mes Préférences
Taxonomina - Doc technique Publications

Revenir à la page d'accueil :


Application "Publications" - Documentation technique#

1. Les données#

Les publications sont appelées via la vue PUBLI_STORE.

(voir la page La base de données pour plus de détails).

2. Organisation des répertoires et des fichiers#

2.1 Côté serveur#

L’organisation du code est la même que pour les applications "Species", "Genera"et "Families".

Les classes d’objets sont instanciées dans autant de fichiers que de fonctionnalités (Tableau 1).

2.2 Côté client#

Le code côté client est structuré par le framework ExtJS (voir la documentation ExtJS sur http://docs.sencha.com/extjs/4.2.3/#!/guide pour plus de détails) de la même manière que dans les applications espèces, genres et familles. Les fichiers ainsi que leurs descriptions sont listés dans le Tableau 2.

3. Organisation des classes et méthodes #

3.1 Côté serveur#

  • Les méthodes contenues dans common.control.class.php récupèrent les POSTs et GETs envoyés par le client. Elles retournent un tableau PHP.
  • Les méthodes contenues dans common.data.class.php envoient les requêtes SQL. Elles retournent un tableau PHP.
  • Les méthodes contenues dans common.view.class.php encodent les tableaux PHP des résultats SQL en JSON.

Les méthodes ainsi que leurs descriptions sont listées dans le Tableau 3.

Note : Toutes les méthodes de la vue contenues dans common.view.class.php encodent un JSON à partir des méthodes portant le même nom, contenues dans common.data.class.php.

3.2 Côté client#

Toutes les méthodes de contrôle sont dans le fichier MainController.js sauf celles avec un astérisque qui sont dans le fichier codeNomenController.js (Tableau 4). Les méthodes sont toutes appelées par la méthode control du MainController. Cette méthode pointe vers l’élément HTML (avec son id en général) et déclenche un événement ( "#id" : {event: this.method}).

Exemple : "#homeBtn" : {click: this.homeNav}.

4. Diagrammes des objets JS et des méthodes, par fonctionnalité#







Tableau 1. Liste des noms de fichiers côté serveur, chemins ainsi que leurs descriptions.

Nom du fichier Chemin Description
dispatch.php back_end/common/ Inclut un "control", "data" et "view". Prend en paramètre GET[‘file’] un nom de fichier; e. g., dispatch.php?file=login pour appeler : login.control.php, login.data.php, login.view.php
common.control.class.phpback_end/common/control/classes/Contient les classes qui récupèrent les données envoyées par le client (POST, GET, etc) et les traitements éventuels.
common.data.class.phpback_end/common/data/classes/Contient les classes qui envoient les requêtes SQL.
common.view.class.phpback_end/common/view/classes/Contient les classes qui génèrent du JSON à partir des résultats des requêtes SQL
login.control.phpback_end/common/view/Reçoit le POST email et mot de passe pour l’identification du contributeur
login.data.phpback_end/common/data/Envoie la requête SQL avec les paramètres récupérés dans login.control.php
login.view.phpback_end/common/view/Récupère le résultat de la requête SQL dans login.data.php et l’encode en JSON
register.control.phpback_end/common/control/Reçoit les POSTs du formulaire d’inscription d’un nouveau contributeur
register.data.phpback_end/common/data/Envoie la requête SQL d’insertion d’un nouveau contributeur
register.view.phpback_end/common/view/Récupère le résultat de la requête d’insertion et affiche un message de succès ou d’echec
last_added_publi.control.phpback_end/common/control/Récupère le POST l'identifiant du contributeur
last_added_publi.data.phpback_end/common/data/Envoie la reqète SQL pour sélectionner les dernières publications entrées par le contributeur
last_added_publi.view.phpback_end/common/view/Encode les résultats de la requête SQL en JSON
publi_filter_grid.control.phpback_end/common/control/Récupère les POSTs titre de publication, auteurs, année envoyé par la grille à filtre
publi_filter_grid.data.phpback_end/common/data/Envoie une requête de sélection des publications qui correspondent aux paramètres du filtre.
publi_filter_grid.view.phpback_end/common/view/Encode les résultats de la requête SQL en JSON.
publi_store.control.phpback_end/common/control/Récupère le POST du ou des paramètres envoyés par le client (e. g., champ autocomplétion recherche auteurs de publication)
publi_store.data.phpback_end/common/data/Envoie la requête SQL de sélection de publications avec les paramètres récupérés
publi_store.view.phpback_end/common/view/Récupère le résultat de la requête de sélection et l’encode en JSON.
create_publi.control.phpback_end/common/control/Reçoit les POSTs du formulaire d’insertion d’une nouvelle publication.
create_publi.data.phpback_end/common/data/Envoie la requête SQL d’insertion d’une nouvelle publication. Envoie une requête de sélection de la nouvelle entrée.
create_publi.view.phpback_end/common/view/Récupère le résultat de la requête de sélection et l’encode en JSON.
modify_publi.control.phpback_end/common/control/Reçoit les POSTs du formulaire de modification d’une publication.
modify_publi.data.phpback_end/common/data/Envoie la requête SQL de mise à jour de la publication. Envoie une requête de sélection de la publication mise à jour.
modify_publi.view.phpback_end/common/view/Récupère le résultat de la requête de sélection et l’encode en JSON.




Tableau 2. Liste des noms de fichiers côté client, chemins ainsi que leurs descriptions.

Nom du fichier Chemin Description
MainController.jsapp/controller/Contient les les fonctions qui gèrent les événements et les requêtes AJAX.
codeNomenController.jsapp/controller/Contient les les fonctions qui gèrent les événements et les requêtes AJAX pour l’application de règles de nomenclature.
publi.jsapp/model/Spécifie les champs envoyés par la base de données, et qui concernent les publications.
AllPubli.jsapp/store/Appelle une liste de toutes les publications.
LastAddedPubli.jsapp/store/Appelle une liste des dernières publications ajoutées par un utilisateur.
MyAddedPubliapp/store/Appelle une liste de toutes les publications ajoutées par un utilisateur.
currentPubliStore.jsapp/store/Appelle les données concernant la publication sélectionnée.
PubliSearch.jsapp/store/Appelle une liste de publications suivant un paramètre POST. Utilisé surtout pour la recherche par autocomplétion.
AllPubli.jsapp/view/Affiche une liste de toutes les publications dans une grille.
CreateAccountWindow.jsapp/view/Affiche le formulaire d’ajout de contributeur.
MainView.jsapp/view/Affiche les éléments généraux de l’application (logo, bannière, topmenu, etc).
defaultHome.js Affiche les éléments généraux de l’application quand il n’y a pas de contributeur identifié.
connectedHome.jsapp/view/Affiche les éléments généraux de l’application quand un contributeur est identifié.
createPubliWindow.jsapp/view/Affiche le formulaire d’ajout d’une nouvelle publication.
myAccountView.jsAffiche les informations du compte contributeur.
modifyAccountWindow.jsapp/view/Affiche le formulaire de modification du compte contributeur.
modifyPublicationmWindow.jsapp/view/Affiche le formulaire de modification d'une publication.
publiFilterGrid.jsapp/view/Affiche une grille des publications avec des filtres.
publiView.jsapp/view/Affiche tous les éléments qui constituent une fiche publication.
viewPDFWindow.jsapp/view/Affiche la fenêtre d’affichage des publications numérisées dans BHL (iFrame)
dataAccess.jsapp/localisation/Contient les chemins vers les fichiers côté serveur.
defaultEnglish.jsapp/localisation/Index des labels des champs (en anglais)




Tableau 3. liste des méthodes côté serveur avec la classe et le fichier contenant ainsi que leurs descriptions.

Méthode Classe Localisation Description
loginContributorControlcommon.control.class.phpReçoit les paramètres suivants en POST : email, password . Retourne un tableau PHP incluant les valeurs des POSTs.
registerContributorControlcommon.control.class.phpReçoit les paramètres suivants en POST : title, forename, surname, email, pass, pass_confirm, job_title, institution, institution_address. Retourne un tableau PHP incluant les valeurs des POSTs.
autoCompleteStorePubliControlcommon.control.class.php Reçoit les paramètres suivants en GET (champs autocomplétion) : comboFilter (string des caractères entrés), start, limit. Retourne un tableau PHP incluant les valeurs des GETs.
lastAddedPubliPubliControlcommon.control.class.php
myAddedPubliPubliControlcommon.control.class.php
publiStorePubliControlcommon.control.class.php
publiFilterGridPubliControlcommon.control.class.phpReçoit les paramètres suivants en GET : filter (string des lettres entrées dans les grilles à filtre).Retourne un tableau PHP incluant les valeurs des GETs.
insertNewPubliPubliControlcommon.control.class.phpReçoit les paramètres en POSTs. Retourne un tableau PHP incluant les valeurs des POSTs.
insertNewPubliCreatePubliControlcommon.control.class.phpReçoit les paramètres en POSTs. Retourne un tableau PHP incluant les valeurs des POSTs.
updatePubliCreatePubliControlcommon.control.class.phpReçoit les paramètres en POSTs. Retourne un tableau PHP incluant les valeurs des POSTs.
delPubliCreatePubliControlcommon.control.class.phpReçoit les paramètres en POSTs. Retourne un tableau PHP incluant les valeurs des POSTs.
loginContributorDatacommon.data.class.phpEnvoie une requête SQL select à la table CONTRIBUTOR. Prend les paramètres retournés par ContributorControl -> login. Retourne un tableau PHP contenant les données du compte contributeur.
registerContributorDatacommon.data.class.phpEnvoie une requête SQL insert à la table CONTRIBUTOR. Prend les paramètres retournés par ContributorControl -> register. Retourne un tableau PHP contenant les données de succès/échec de la requête.
lastAddedPubliPubliDatacommon.data.class.phpEnvoie une requête SQL select à la vue PUBLI_STORE. Prend comme paramètre $_SESSION["CONTRIBUTOR"]. Retourne un tableau PHP contenant les dernières entrées de noms scientifiques.
myAddedPubliPubliDatacommon.data.class.phpEnvoie une requête SQL select à la vue PUBLI_STORE. Prend comme paramètre $_SESSION["CONTRIBUTOR"]. Retourne un tableau PHP contenant toutes les entrées publications.
PubliStorePubliDatacommon.data.class.php Envoie une requête SQL à la vue PUBLI_STORE. Prend les paramètres retournés par PubliControl -> autoCompleteStore. Retourne un tableau PHP contenant les données sur les publications correspondants aux caractères entrés dans le champ d’autocomplétion.
publiFilterGridPubliDatacommon.data.class.phpEnvoie une requête SQL à la vue PUBLI_STORE. Prend les paramètres retournés par PubliControl -> publiFilterGrid. Retourne un tableau PHP contenant les données noms d’espèces correspondants aux caractères entrés dans le champ de filtre.
insertNewPubliCreatePubliDatacommon.data.class.php Envoie une requête SQL insert à la table PUBLICATION. Prend les paramètres retournés par ContributorControl -> insertNewPubli. Retourne un tableau PHP contenant les données de publication nouvellement entrées.
updatePubliCreatePubliDatacommon.data.class.phpEnvoie une requête SQL update à la table PUBLICATION. Prend les paramètres retournés par ContributorControl -> updatePubli. Retourne un tableau PHP contenant les données de la publication en cours.
delPubliCreatePubliDatacommon.data.class.phpEnvoie une requête SQL delete à la table PUBLICATION. Prend les paramètres retournés par ContributorControl -> updatePubli. Retourne un tableau PHP contenant les données de la publication en cours.




Tableau 4. liste des méthodes côté client avec leurs descriptions.

MéthodeDescription
homeNavCharge la page d’accueil
loginSubmitEnvoie les données du formulaire d’identification
createAccountSubmitEnvoie les données du formulaire de création de compte
signOutDéconnexion du contributeur
showMyAccountAffiche les informations du compte contributeur
openAccountModifyWindowOuvre la fenêtre formulaire de modification du compte contributeur
submitAccountModificationEnvoie les données du formulaire de modification du compte contributeur
viewPDFWindowOuvre une iFrame biodiversitylibrary.org de la page de création du nom scientifique
showModifyPubliWindowOuvre la fenêtre formulaire de modification d’une publication.
showAllPubliOuvre la grille à filtre de toutes les publications.
displayPubliAffiche la page d’une publication sélectionnée
createPubliSubmitEnvoie les données du formulaire d’ajout d’une publication.
modifyPubliSubmitEnvoie les données du formulaire de modification d’une publication.
delPubliEnvoie les données de suppression d’une publication.
viewPubliOuvre la fenêtre formulaire de modification d’une publication.

Ajouter un attachement

Pour publier un nouvel attachement à cette page, veuillez utiliser la boite suivante pour atteindre le fichier, puis cliquez sur “Télécharger”.
« Cette page (révision-13) a été modifiée pour la dernière fois le 19-déc.-2014 09:27 par berkani