Diagramme - PHP - BDD

Diagramme - PHP - BDD - PHP - Programmation

Marsh Posté le 03-06-2020 à 15:53:49    

Bonjour à tous,  :bounce:  
 
Actuellement j'effectue un gros projet 2020,  
Et j'aurais de votre besoin aide pour un diagramme de classe s'il vous plait :love:  
 
J'ai déjà commencé mais si vous pouvez m'aider à le finir j'en serais très reconnaissants , car je ne sais pas comment faire pour la suite.  
 
Voici mon début : https://image.noelshack.com/fichiers/2020/23/3/1591191986-image.png
 
Je galère plus sur mon getTranslation.php et les relations...  
Je sais que ça va pas être un gros diagramme  :)  
 
Mes codes php :  
 
Dtabase.php  
 

Code :
  1. <?php
  2. class Database {
  3.     private $host = "XXXXX";
  4.     private $username = "XXXXX";
  5.     private $password = "XXXX";
  6.     private $database = "XXXX";
  7.     public $connection;
  8.     public function getConnection() {
  9.         $this->connection = null;
  10.         try {
  11.             $this->connection = new PDO("mysql:host=".$this->host.";dbname=".$this->database, $this->username, $this->password);
  12.             $this->connection->exec("set names utf8" );
  13.         } catch (PDOException $exception) {
  14.             echo "Error: ".$exception->getMessage();
  15.             die();
  16.         }
  17.      
  18.         return $this->connection;
  19.     }
  20.     public function closeConnection() {
  21.         $this->connection = null;
  22.     }
  23. }
  24. ?>


 
getTranslation.php  
 

Code :
  1. <?php
  2. include 'Database.php';
  3. $database = new Database();
  4. $con = $database->getConnection();
  5. $sql = " SELECT * xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
  6. $result = $con->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  7. header("content-type:application/json" );
  8. $value = str_replace("filename", "fileName", json_encode($result));
  9. $value = str_replace("folderdirectory", "folderDirectory", $value);
  10. $value = str_replace("lastchange", "lastChange", $value);
  11. echo $value;
  12. $database->closeConnection();
  13. $database = null;
  14. $con = null;
  15. exit();


 
Merci d'avance  

Reply

Marsh Posté le 03-06-2020 à 15:53:49   

Reply

Marsh Posté le 04-06-2020 à 01:30:51    


 
"tu te moque de qui?" J'ai pas envie de répondre...  
 
Merci quand même ...

Reply

Marsh Posté le 04-06-2020 à 08:24:21    

Je rejoins B4X mais je vais te le dire de manière plus détendu : je ne sais pas ce que tu entends par "gros projet" mais ce que tu nous montre est tout rikiki. Par ailleurs, quand on voit les types de donnés (int, double...) que t'as mis dans ton MCD alors que dans ton code, tu mets des strings (ex : le username et le pwd), ça respire pas le boulot pensé pendant des heures :/
 
Concernant le code, y'a quasi rien donc même si on voulait plus t'aider, on ne pourrait pas car on ne sait même pas ce que doit faire l'appli.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-06-2020 à 12:16:28    

Oui je comprends rufo, mais j'ai mal pris la phrase de B4X désolé.  
 
Normalement j'aurais du commencé par le Diagramme de Classe mais vue que je suis nul à UML j'ai fais mon code et j'ai commencé le diagramme à la fin : ERREUR  
 
C'est juste une petit partie du projet ça, mais je voulais le transformé en diagramme de classe.  
 
Le but de cette appli est de faire une connexion à la base de donnée, récupéré et mettre en format JSON avec un service Web Rest.  
 
Mais je n'arrive jamais à faire le diagramme de classe alors si vous avez des conseils ou aide ?  
 
Merci d'avance,

Reply

Marsh Posté le 04-06-2020 à 12:52:09    

C'est ça que t'appelle un "gros projet"  :heink:  
 
Juste pour savoir, t'es en quelle classe actuellement niveau études ? Parce que si déjà tu ne prends pas le plie de faire la conception avant le code, t'es mal embarquée :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-06-2020 à 13:15:04    

C'est vrai que gros projet c'est très fort comme thermes.  
 
En BTS. Mais je me suis réorienté..
 
Oui je comprends. :(  

Reply

Marsh Posté le 04-06-2020 à 13:38:48    

Règles de base quand on veut coder :
1) définir le besoin et le contour de ce que devra faire l'appli
2) rédiger la spéc détaillée en étant le plus précis possible sur tout ce que doit faire l'appli et éviter les termes ambigus.
3) faire la conception détaillée de l'appli
4) une fois que toutes les fonctions s'emboîtent bien, que t'as pensé à la plupart des cas particuliers, alors seulement, tu codes :o
5) tu testes et tu mesures les écarts avec 2 et 3 et retour à 4.
6) youpi, ça marche. :)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-06-2020 à 17:00:16    

Cela fait 3 entités : caractéristique, capteur et mesure.
 
Le modèle BDD serait par exemple :
 
caracteristique ( id_caracteristique [pk], libelle )
capteur ( id_capteur [pk], localisation, modele, id_caracteristique [fk] )
mesure ( id_mesure [pk], id_capteur [fk], date_envoi, valeur )
Donc côté API il faut proposer les méthodes classiques CRUD (CREATE, READ, UPDATE, DELETE) pour ces trois entités.
 
Cela me donne trois classes avec leurs attributs et leurs méthodes ...
et bien sûr une classe pour la connexion BDD.
 
Voici ce que j'ai réalisé vous en pensez quoi ?  
 
https://image.noelshack.com/fichiers/2020/23/4/1591284308-diagramme.png


Message édité par world14 le 04-06-2020 à 17:25:14
Reply

Marsh Posté le 04-06-2020 à 20:30:02    

Pourquoi tu t'obstines à mettre des types de données complètements à côté de la plaque à tes champs de la BD :??:
void à id_caracteristique, sérieux ?
un float pour une date ?
int pour un libellé ?
 :pt1cable:
 
Edit : par ailleurs, y'a aucune raison que tes objets aient une relation avec l'objet BD qui sert au stockage.


Message édité par rufo le 04-06-2020 à 20:31:55

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed