Création d'un nouveau type de champ pour formulaire dédié au stockage d'un dessin sur une image
Publié : 04 août 2020, 14:13
Certaines profession comme les ostéopathes et notamment avec Marsante et son projet de module dédié mais à mon avis pas que, ont besoin de pouvoir disposer de champ permettant effectuer des dessins libres par dessus des schémas (par exempla une représentation d'un squelette humain).
Je pense pour cela créer un nouveau type de champs dédié. Ce champ stockerai une image en base64 (donc pouvant être stocker sous forme de texte dans la table [li]data_object[/li]), l'image stocker serai issu d'un canevas js et dessiné directement par l'utilisateur (pour ce faire on pourrai envisage un plugin jQuery comme celui-ci https://github.com/yiom/sketchpad). J'ajoute aussi en pj du message une exemple un peut à l’arrache mais qui illustre ce que cela pourrai donner.
A noter que l'on ne stockerai pas dans bd l'image de fond mais uniquement de dessin fait par dessus. Le champ posséderai dans le formulaire une propriété dédié pour lui indiquer l'image de fond à utiliser.
Ce genre de champs possède un gros désavantage : l'image créé n'a pas de sens au niveau de la donnée (c'est juste un png), pour donner du sens au schémas il aurai mieux valus privilégier une méthode tel que celle utilisé dans le module Chiro. Cependant cette méthode est plus indiqué pour des cas plus simple ou il n'y a pas besoin de donner un sens à la donnée autres qu'un dessin perçu par l'utilisateur. Elle offre aussi plus de liberté a l'utilisateur pour représenter ce qu'il veut sur le dessin.
Ce type de champ pourrai être utilisé dans de multiples cas je pense notamment au module medTherm par exemple qui avait aussi besoin de schématiser un dessin avec des zones marquer dessus pour la prescription des soins (ce qui n'avait au final pas été fait car dispensable).
Je voudrai m’attaquer à la conception de ce champ qui rendrai Medshake encore plus polyvalent, cependant ya t'il des remarque particulière que je devais prendre en compte avant de me lancer ?
Je pense pour cela créer un nouveau type de champs dédié. Ce champ stockerai une image en base64 (donc pouvant être stocker sous forme de texte dans la table [li]data_object[/li]), l'image stocker serai issu d'un canevas js et dessiné directement par l'utilisateur (pour ce faire on pourrai envisage un plugin jQuery comme celui-ci https://github.com/yiom/sketchpad). J'ajoute aussi en pj du message une exemple un peut à l’arrache mais qui illustre ce que cela pourrai donner.
A noter que l'on ne stockerai pas dans bd l'image de fond mais uniquement de dessin fait par dessus. Le champ posséderai dans le formulaire une propriété dédié pour lui indiquer l'image de fond à utiliser.
Ce genre de champs possède un gros désavantage : l'image créé n'a pas de sens au niveau de la donnée (c'est juste un png), pour donner du sens au schémas il aurai mieux valus privilégier une méthode tel que celle utilisé dans le module Chiro. Cependant cette méthode est plus indiqué pour des cas plus simple ou il n'y a pas besoin de donner un sens à la donnée autres qu'un dessin perçu par l'utilisateur. Elle offre aussi plus de liberté a l'utilisateur pour représenter ce qu'il veut sur le dessin.
Ce type de champ pourrai être utilisé dans de multiples cas je pense notamment au module medTherm par exemple qui avait aussi besoin de schématiser un dessin avec des zones marquer dessus pour la prescription des soins (ce qui n'avait au final pas été fait car dispensable).
Je voudrai m’attaquer à la conception de ce champ qui rendrai Medshake encore plus polyvalent, cependant ya t'il des remarque particulière que je devais prendre en compte avant de me lancer ?