Quel type de fichier ?

Fermé
metalcat Messages postés 75 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 11 juin 2022 - Modifié par metalcat le 10/07/2016 à 14:33
 metalcat - 20 août 2016 à 12:56
Bonjour,
J'ai créé un site internet sur un complexe immobilier totalisant + de 300 appartements voir ici :
http://homeusers.brutele.be/offline.html
Certains documents publiés sont (devraient être) confidentiels et réservés aux propriétaires.

Donc il me faut créer un système de vérification pour identifier l'utilisateur via un mot de passe.
Je pense utiliser le no de l'appartement repris dans le règlement général de copropriété.

Pour arriver à faire cette vérification, il me faut construire un fichier sur le serveur reprenant l'identification de chaque appartement. Je voudrais que l'accès soit rapide et sélectif pour ne pas devoir lire tout le fichier séquentiellement.

J'ai programmé en cobol et en rpg/ile sur IBM où on utilisait les fichiers indexés pour cela. L'index (clé) permettait de pointer directement sur l'enregistrement recherché.

J'ai cherché sur internet (ajax, DB...) mais je ne vois pas l'équivalent.

Quelqu'un pourrait-il me guider svp ?

Merci d'avance.

Guy




 
A voir également:

4 réponses

Nicos50 Messages postés 75 Date d'inscription dimanche 10 juillet 2016 Statut Membre Dernière intervention 21 avril 2017 12
10 juil. 2016 à 14:37
Hello,

Directement j'ai penser à PHP et SQL si il faut d'autres infos sur leurs fonctionnement ne pas hésiter
0
metalcat Messages postés 75 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 11 juin 2022 7
10 juil. 2016 à 19:05
Salut Nico50,
Merci pour ta réponse rapide. Je ne connais ni l'un ni l'autre sauf de nom.
Je vais commencer par lire les tutos.
Merci pour ton aide.
0
Nicos50 Messages postés 75 Date d'inscription dimanche 10 juillet 2016 Statut Membre Dernière intervention 21 avril 2017 12
12 juil. 2016 à 00:44
Au besoin je peu t'aider par mail !
0
metalcat Messages postés 75 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 11 juin 2022 7
12 juil. 2016 à 23:43
Très sympa. J'apprécie beaucoup. Pour le moment je me pose trop de questions basiques. Je reviendrai certainement vers toi dans quelques temps.
0
metalcat Messages postés 75 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 11 juin 2022 7 > metalcat Messages postés 75 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 11 juin 2022
9 août 2016 à 13:35
Bonjour Nicos50,
Voilà j'ai parcouru le tuto de PHP et la moitié du tuto de MySql sur OpenClassRooms.
Une première question pour mes besoins me vient à l'esprit.
Dans MySql, est-il possible de créer une entrée sous forme d'array dans une table ?
Merci d'avance pour ton aide.
0
bonsoir,
Non pour réponse simple, une table est déjà un array mais c'est son nom dans une base de données tandis que array est un tableau de variables d'un langage de programmation.

open class room est un site de vulgarisation et efficace car il permet par la pratique d'acquérir un savoir. Cette pratique est indispensable dans le domaine qui vous importe.
Les bases de données sont toute fois négligées dans leur traitement alors que c'est le pilier central de l'application. PHP a pour rôle essentiel(voir unique) de faire la liaison avec la page HTML seule (ou presque, en tout cas seule valable) solution pour afficher un contenu.

Une base de données est composée de tables de données.
mySQL est l'une d'elle souvent utilisée pour le web car gratuite et adaptée à ce média(mais il en existe d'autres, certaines correspondant à cette définition).
La structure table(ou entité en tant que concept) n'est pas un nom ou mot choisit au hasard:

Une table se présente sous la forme du nom de cette table(exemple TableUtilisateur) ainsi que les champs qui la compose(correspondant aux intitulés/noms des colonnes) ex: identifiant, motdepasse

Les lignes de cette table correspondent à une infinité d'enregistrements remplissant tout les champs obligatoires(certains peuvent être donc facultatif afin de les laisser vide) .

Un exemple simple peu exhaustif et à compléter pour qu'il ait quelconque intérêt

TableUtilisateur

identifiant / motdepasse / nom(facultatif) / prénom(facultaftif)

pourra contenir une infinité de lignes ou jeux d'enregistrements de la sorte(le symbole "-" indique un champ non remplis):

bob /azerty/-/-
raoul/pass/dupont/raoul
superman/crypton/kent/clark
batman/wayne/-/-

etc... on est bien en présence d'un tableau qui comme je vais expliquer n'a que peu d'utilité en l'état. Une base de données se compose d'au moins une table pour avoir une utilisation concrète. Chaque champ d'une table de données est unique et contient une et une seule valeur. Ce sont les lignes de la table qui permettent d'exprimer une, deux, 150, 2888 ou une infinités de valeurs pour chaque champs. Chaque ligne ayant une valeur identifiant qui est unique(dans mon exemple une seule personne peut avoir l'identifiant raoul, une seule peut avoir l'identifiant batman etc...).
0
Le langage des base de données est le SQL. Comme son nom l'indique '(voir acronyme) c'est un langage de requête. Une requête est une demande à la base pour avoir un résultat.
Par exemple en français les instructions de SQL pourront correspondre aux requêtes suivantes:

donne moi tous les identifiants de la table TableUtilisateur.

Donne moi le mot de passe de l'identifiant 'raoul' sur TableUtilisateur

Donne moi toutes les lignes de résultat de la table TableUtilisateur

Donne moi toute les identifiant des personnes qui n'ont pas remplis leur nom ou leur prénom

Donne moi toute les identifiant des personnes qui n'ont pas remplis leur nom

etc... il existe aussi des fonctions mathématiques et structures logiques communes aux langages de programmation.
0
Sauf qu'une base de données ne montre tout son potentiel qu'uniquement quand nous avons plusieurs tables.
Imaginons une autre table de la base ,non exhaustive et bien sûr probablement fausse par rapport à vos besoins mais qui me servira uniquement d'exemple à mon explication:

TableAppartement
(aura les champs suivants)
adresse/ville/surface/nombrepieces/etage

contenant les enregistrements(les lignes quand les champs sont les colonnes):

127 rue Lepic / Paris / 34 / 1 / 0
20 donwning street / Londres 3 / 500 / 2
175 boulevard de l'Ariane / Nice / 1

et ainsi de suite.
Dans l'état il est impossible de relier les deux tables (TableAppartement et TableUtilisateur).
Pour cela nous devons utiliser la valeur identifiant de l'une ou l'autre table et l'insérer dans les champs de l'autre table. Cette valeur est nommé clé étrangère.

Reprenons TableAppartement pour y ajouter l'identifiant de TableUtilisateur:

adresse/ville/surface/nombrepieces/etage

est changé en

adresse/identifiantlocataire/ville/surface/nombrepieces/etage

et les lignes de TableAppartement pourront être

127 rue Lepic / bob / Paris / 34 / 1 / 0
20 donwning street / batman / Londres 3 / 500 / 2
175 boulevard de l'Ariane / Raoul / Nice / 1

On peut ainsi croiser les résultats en n'ayant qu'un seul enregistrement d'une seule table pour obtenir les autres résultats et autres croisements nécessaires.

un peu de logique/fonctionnelle associée:

bob rentre son mot de passe=> la requête SQL va chercher si un identifiant 'bob' est bien présent dans TableUtilisateur.
= c'est le cas on compare alors le mot de passe saisit avec le mot de passe associée dans à l'identifiant "bob" dans la table utilisateur.

ceux ci(les mot de passes saisis et celui dans la table de champ 'motdepasse') correspondent
=on autorise l'accès à l'espace privé de l'utilisateur ayant pour identifiant 'bob'
=la page va afficher tout les appartements de la table TableApppartement où 'bob' est indiqué pour le champ 'identifiantlocataire'. Les données sont croisées et on peut retrouver n'imoprte quelle information d'une table à l'autre.
Sans oublier la notion d'identifiant unique de chaque ligne de chaque table.
Ainsi TableUtilisateur ne peux avoir qu'un seul identifiant 'bob'.

TableAppartement comportera 2 valeurs identifiant et leur paire ne peut être présente qu'une seule fois.
Le duo des champs adresse + identifianlocataire rendront chaque ligne unique.

L'analyse et la conception des bases de données et en informatique de gestion permettront de créer et regrouper les tables et champs nécessaires à un système d’information. Celles ci(les tables) doivent contenir toutes les informations qui sont ou peuvent être nécessaire au programme pour fonctionner.

L'un des autre rôles de l'analyse et la conception seront de définir :les liens entre les entités/table de données/regroupements de champs.

Ainsi avec notre exemple(qui contient peu d'analyse) on traduit plus finement et précisément(ce les besoins de fonctionnels, ce qui a aussi pour effet de limiter les risques d'erreurs du programme par rapport à la réalité.

Je veux dire dans l'exemple de TableAppartement on peut avoir les lignes suivantes:


127 rue Lepic / bob / Paris / 34 / 1 / 0
22 boulevard Haussmann / bob / Triofouilly les oies / 58 / 3 / 1

ce qui signifie que l'utilisateur d'identifiant bob a deux appartements en location, la structure des tables rend ce cas possible(et évite de tout refaire si le cas se produit).

Considérons les lignes possibles suivantes:

127 rue Lepic / annie / Paris / 34 / 1 / 0
127 rue Lepic / marcel / Paris / 34 / 1 / 0

Cela signifies que deux personnes identifiées (différentes)peuvent avoir la même adresse. Ce qui est aussi un cas qui est possible.

Avec SQL nous pouvons recouper dans la même table TableAppartement tous les utilisateurs à la même adresse(et en déduire que bob, annie et marcel serons assez à l'étroit dans leur 34 m² ^^ ).

C'est le domaine de la conception et préalablement l'analyse pour lesquels il existe des méthodes et des règles de définir la pertinence des informations à utiliser, le regroupements de celles ci dans des tables(ou bien leur séparations en différentes tables) ainsi que les liaisons qui seront possibles entre ces tables.

On est bien à l'âme ou noyau du programme dans la base de données , d'autant plus que la structuration effective des tables(modèle logique) aura un impact sur la simplicité (ou non) du développement de celui, sur la complexité (ou non)et lourdeur(ou non) ainsi que possibilité d'erreur (ou non)des traitements à effectuer...
= la viabilité et l'intérêt du programme, de son utilisation.

Donc la base de données est l'aspect premier à prendre en compte et à ne pas négliger comme peut le laisser penser les cours pratiques et permettant d'accéder rapidement à un résultat.
Mais un résultat en informatique de gestion c'est la traduction de besoins spécifiques en une logique informatique: l'analyse et la conception qui en découle du système d'information complet, les tables et leur organisations sur la base.

https://www.commentcamarche.net/contents/1083-systeme-d-information
0
Merci Hobo pour tes explications. Enrichissant.
Autrement, est-il possible de créer un champ sous forme d'array dans une table ?
0