Mise en ligne d'une base de donnée PHPMYADMIN accès via comptes

Fermé
Anthony26130 Messages postés 6 Date d'inscription mercredi 18 mars 2015 Statut Membre Dernière intervention 12 avril 2016 - 29 janv. 2016 à 23:32
Anthony26130 Messages postés 6 Date d'inscription mercredi 18 mars 2015 Statut Membre Dernière intervention 12 avril 2016 - 30 janv. 2016 à 11:22
Bonjour,

J'ai actuellement un logiciel de gestion d'entreprise (Stocks + clients]) qui tourne en interne via MAMP. J'ai un base de donnée phpmyAdmin contenant la totalité de mes clients et de la quantité de mes stocks.. ainsi que les codes HTML pour la structure.
Néanmoins je souhaiterais pouvoir accéder à ces informations depuis d'autres ordinateurs ou téléphones portables.. De ce fait je voulais savoir si je pouvez et comment, mettre ma base de donnée en ligne sur 1&1par exemple mais de manière sécurisé (Comment exporter sa base de donnée, est ce risqué ? Pourras t-elle être sauvegarder...etc). De façon à ce que l'on doivent se connecter avant d'accéder à cette dernière via un compte web identifiant+mdp, nous donnant des droits différents...


Je vous remercie par avance

Bien cordialmente,

Anthony

2 réponses

Salut, beaucoup d'imprécisions si ce n'est d'erreur dans ce que vous dites.

Premièrement une base de données n'est jamais en ligne directement.
Sinon n'importe qui pourrais y accéder. Il faut passer par PHP, langage de programmation serveur qui fait la liaison avec la page HTML. C'est donc sur le programme PHP(on parle de back et front office pour désigner : la gestion de l'utilisateur est la gestion interne du programme respectueusement).
Vous pouvez voir ici l'explication de ce principe de fonctionnement.

https://www.commentcamarche.net/contents/221-reseaux-architecture-client-serveur-a-3-niveaux

Pour la sécurité il y a des mesures 'classiques' à faire sur le P.H.P. pour éviter les failles de sécurité qui permettrait d'accéder à la base en se faisant passer pour le site ou simplement de contrôler que les modifications peuvent et doivent être faites avant de les passer à la base de données(exemple insérer un nouvel enregistrement avec des parties manquantes).
1
2.Une base de données n'est pas phpmyadmin, c'est un logiciel qui permet d'y accéder mais on peut s'en passer en passant directement par la console. Ce qui est mieux et plus efficace puisque le logiciel compris dans W/MAMP va simplement proposer en visuel ce qui est écrit et de transformer vos clics en requête(ce qu'ont écris à la console).
Il existe différents systèmes de base de données dont mySQL qui est généralement utilisée avec MAMP car gratuit et adapté à Internet.
0
3.Sachant cela si vous voulez exporter la base de données il faut utiliser son langage(ou l'interface graphique de phpmyadmin-lorsque vous faites des requête vous pouvez d'ailleurs y voir l'affichage console). Ce langage c'est SQL, un langage dit de requêtes car il permet simplement d'interroger, trier, comparer et faire quelques opérations arithmétiques basiques mais contrairement aux autres langages de programmation pas plus.
Pour cela il suffit d'exporter vos tables de données dans le format de la base(SQL dis ais je) et de le fournir à l'importation à la base sur le serveur de votre hébergeur.
En passant par P.H.P. myAdmin ou le système de gestion de votre hébergeur web vous n'avez qu'à exporter celle ci par un clic et importer celle ci de la même façon en indiquant où est enregistré le fichier SQL contenant l'ensemble de votre base de données(ou table par table si séparé lors de l'export).

Pour la sécurité essayez google:
sécurité PHP
Vous trouverez une abondante documentation et formation gratuitement.
0
Janto > Janto
30 janv. 2016 à 04:01
Ah et aussi sur la fin de votre demande:
" De façon à ce que l'on doivent se connecter avant d'accéder à cette dernière via un compte web identifiant+mdp, nous donnant des droits différents... "

Pour cela c'est bien sûr l'architecture 3 tiers qui est utilisée(comme pour toutes les pages dynamiques, ç.a.d. alimentées par une base de données).
Le HTML va transmettre des informations à PHP, celles ci vont être envoyées à la base pour les comparer. Je vous parlais un peu de SQL, langage de requêtes simple et performant.

Dans notre cas la requête S.Q.L. peut ressembler à :
Indique moi tout les résultats qui ont pour nom d'utilisateur 'machin'(machin = le nom d'utilisateur indiqué dans le formulaire HTML) et compare si le mot de passe enregistré est correspondant.
Dans un cas le PHP crée une variable de session qui sera propre à l'utilisateur, on le redirige vers la page à consulter et sur chacune des pages nécessitant identification la variable de session est vérifié sinon on ne permets pas l'accès à la page.

Sinon vous avez les C.M.S. mais il faudra repartir de zéro en essayant de recréer la structure de votre base(les tables) à l'identique.
Les C.M.S. ont l'avantage d'être accessible à tous sans connaître la programmation bien que de bonnes bases et au moins le principe de fonctionnement(architecture 3 tiers, serveur client base de données ainsi qu'en conception de systèmes d'informations) aideront grandement à pas faire quelque chose de trop bancal.
0
Je vous conseille d'analyser au maximum votre système d'information:
https://www.commentcamarche.net/contents/655-merise-initiation-a-la-conception-de-systemes-d-information

Cela ne demande aucune connaissance technique, au contraire c'est une logique de réflexion qui doit coller le plus à la logique informatique(beaucoup plus simple que celle d'un humain) et fournir ainsi une organisation cohérente et facilement exploitable lors du développement.

Par exemple pour commencer l'analyse(c'est à titre d'exemple ce sera forcément incomplet , à vous de faire l'ensemble de la manière la plus exhaustive) dans ce que vous dites on peut faire émerger plusieurs données:
0

client (nom , prénom, numéro de rue, violle, CP,...)
facture(numéro, montant, article/service, date ...)
gestionnaire(identifiant, mot de passe, droit(on peut en imaginer plusieurs, c'est un classique de l'informatique de gestion: ex rang consultatif=simplement regarder, rang=gestionnaire=regarder et modifier une fiche produit, des stocks..., rang administrateur=regarder, modifier produit, stock, ajouter un produit, ajouter un consultant, ajouter un gestionnaire...)
produit(nom , référence, couleur, prix, quantité...)

Je ne fais que commencer ce qui s'appelle le dictionnaire des données et ai volontairement fais une erreur dans mon exemple:
Il faut trier les informations sans les regroupements que j'ai fait et qui serons mis en évidence plus tard lors du regroupement en entité.
Le regroupement de ces entités va devenir les tables de la base au fil d'étapes bornées qu'il faut suivre sans faire intervenir notre logique mais fait pour être en adéquation avec celle simpliste(bête et bornée) d'un programme informatique.


En continuant sur le regroupement en entités on peut voir émerger des regroupements(la règle est si l'information est unique on peut en faire une donnée):

Entité(table) CLIENT
nom
prénom
civilité(Mr, Mme, Mlle)
adresse
...


UTILISATEUR
identifiant
mot de passe
droit
...

PRODUIT
nom
référence
description
...

FACTURE
date paiement
montant
CLIENT-identifiant de la table client-ici on utilise une jonction pour lier chaque facture à un client et SURTOUT ne pas écrire en double l'un ou l'autre-
nombre produit
PRODUIT(identique au précédent sauf qu'on lie un produit, il y aura donc un enregistrement de facture par produit et en regroupant les facture de même date et même client on obtiens l'intégralité de la facture
...


Voilà pour commencer mais il faut suivre les étapes pas à pas et avoir l'intégralité du dictionnaire de données(vous pouvez commencer par les champs de vos tables existantes puis regarder tout les documents en papiers pour en extraire chaque donnée qui existe, à l'étape suivante on éliminera les informations qui ne servent pas, celles qui peuvent être calculées-ex: un montant de TVA, si celui ci n'est pas retenu dans la base le programme est simplement bon à jeter si la TVA change, dans le cas contraire on pourra se fier à la date des factures et appliquer la TVA correspondante).
0