Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
903 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] Stocker du code dans une base de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PYTHON] Stocker du code dans une base de données

n°2327779
MrVhek
Posté le 17-01-2019 à 09:26:43  profilanswer
 

Bonjour,
Dans le cadre d'un projet professionnel, je développe un site web complet dans le cadre d'une application de santé. Je précise que je suis nouveau, n'ayant jamais rien fait de tel avant. Pour ceci, j'utilise en backend Django et Django rest framework (python), en front end, React (JS). Dans un soucis de modularité et de simplicité, j'aimerais pouvoir stocker des fonctions pythons (du code rentré sur le site en partie admin) dans la base de données, ce code serait des fonctions python. D'autant que je trouve que les modèles Django sont puissant.
Le but serait ensuite de pouvoir appeler facilement les fonctions sur le site (le but serait de traiter des données avec ces fonctions).
 
Je me pose donc les questions suivantes, car après quelques recherches sur le web, je n'ai rien trouvé de concluant à ce sujet :
- Est ce une vision viable (une pratique viable) ? Surtout au niveau de la sécurité ? Car dans le cadre de ce genre d'application, il ne faudrait pas de faille.
- Est possible en terme de code ? Récupérer un objet stocké de type JSON et le transformer en code exécutable niveau serveur.
 
Merci d'avance de votre aide !
MrVhek


Message édité par MrVhek le 17-01-2019 à 10:14:16
mood
Publicité
Posté le 17-01-2019 à 09:26:43  profilanswer
 

n°2327814
dede_sav
Posté le 17-01-2019 à 22:01:45  profilanswer
 

Bonjour,
 
Je ne comprends pas bien l’intérêt de stocker du code. Que veux-tu faire avec ? Tu veux pouvoir l’éditer depuis une interface web ?  
 
Pourquoi pas implémenter les fonctions dans ton backends django ?  
 

n°2327828
MrVhek
Posté le 18-01-2019 à 09:04:02  profilanswer
 

Oui en effet, l’intérêt serait de pouvoir l'éditer directement depuis l'interface admin de Django, ce qui évite ensuite de faire toutes les dépendances. J'y voyait surtout de l'intérêt pour mes collègues qui ne sont pas dans l'informatique. Pour eux, avoir une interface web ou tout est bien indiqué serait plus simple que s'il doivent un jour ajouter ça manuellement dans le code python.
Par contre je viens de penser à un inconvénient majeur, ça va être très dur de tester le code de cette manière...

n°2327831
rufo
Pas me confondre avec Lycos!
Posté le 18-01-2019 à 09:21:22  profilanswer
 

Stocker du code exécutable dans une BD et le rendre modifiable me paraît extrêmement dangereux, a fortiori pour une appli médicale. As-tu entendu parler de la RGPD et de tout ce qui touche aux données personnelles. Celles relatives au médical sont classées dans la catégorie "sensible". Si tu as une fuite de données, tu vas prendre très cher :o
 
Pourquoi ne pas coder les fonctions classiquement et faire une IHM web permettant de les exploiter. S'il y a des paramètres, l'IHM permettra leur saisie (ex : extraction de données filtrées via un moteur de recherche multicritères).


---------------
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
n°2327832
dede_sav
Posté le 18-01-2019 à 09:37:55  profilanswer
 

C'est quoi comme fonction ? Est-ce pour faire de l'analyse ?  
J'ai du mal à voir l'intérêt fonctionnel de proposer à des non informaticiens la possibilité d'éditer du code ...  
 
Alors à coté de ça, il y a bien entendu plein d'inconvénient et surtout une charge supplémentaire non négligeable de développement (et de sécurité).

n°2327856
MrVhek
Posté le 18-01-2019 à 14:02:19  profilanswer
 

En effet, je n'avais pas pensé à cette option, l'idée me parait très bonne.  
Je pense plutot partir sur une option de ce genre alors, en rendant disponibles des fonctions du backend dans l'IHM.
 
C'est des fonctions de traitements de données brutes dans le but de faire des indicateurs, je me disais que ce serait surement plus simple de leur faire une interface web permettant de les modifier à souhait au lieu de passer par la case "besoin de se connecter au serveur en ssh" et de devoir aller bidouiller dans la structure du serveur et le backend.
Merci pour vos réponses !


Message édité par MrVhek le 18-01-2019 à 14:03:23
n°2327857
rufo
Pas me confondre avec Lycos!
Posté le 18-01-2019 à 14:30:03  profilanswer
 

Si tu veux, tu peux t'inspirer de ce que j'ai fait dans mon outil Astres (cf ma signature : des requêtes personnalisées. En gros, ce sont des fonctions développées spécifiquement pour 1 ou plusieurs personnes (identifiées par leur ID de compte). Ces fonctions sont dans un fichier bien identifié et les fonctions admettent des paramètres définis. Dans mon cas, elles n'ont pas d'IHM : les paramètres ne peuvent donc être saisis par l'utilisateur et ne sont donc pas dynamiques sauf s'ils dépendent du contexte applicatif au moment de leur exécution (par ex : extraites les données ayant moins d'1 an -> c'est dynamique car je calcule la date à partir de la date courante au moment de l'exécution).
 
L'utilisateur voit ses requêtes personnalisées dans une liste déroulante : il sélectionne la requête à exécuter et obtient en résultat soit un tableau triable, soit un fichier CSV téléchargeable. Dans certains cas, le résultat peut être un fichier XML, HTML, PDF ou CSV envoyé par mail à une mailing-list définie (ex : envoyé par mail un export hebdo).


---------------
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
n°2327927
MrVhek
Posté le 21-01-2019 à 07:51:14  profilanswer
 

D'accord merci, je vais regarder ça !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] Stocker du code dans une base de données

 

Sujets relatifs
[Résolu][Shell/Batch/Python] Sonde Nagios[python] Ordre de grandeur d'une décimale
[Python] Récupérer l'avant dernière chaine de caractère d'un tableau[Python] Tableaux qui s'actualisent en même temps
[Python] Connection aux routeurs et détection d'erreurcreer un userform uniquement par code vb dans outlook
Conception de base de donnéePython remplacer un caractère dans une chaine
Insertion des donnéesCopier des données en fonction de critère
Plus de sujets relatifs à : [PYTHON] Stocker du code dans une base de données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR