Forum Programmation.web Entrer des données depuis le web dans une base

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
8
fév.
2021

Hello!

Ce n'est pas que je n'ai pas de piste pour arriver à mes fins, mais plutôt trop! Et harceler mon moteur de recherche empire les choses.

  • J'avais des feuilles de calcul dispo via web, merci nextcloud, ce qui m'a bien dépanné. J'atteint un peu les limites du truc
  • Il faudrait que je passe sur une base de données a priori.
  • Quelle sera la solution la plus simple?

J'ai installé pgadmin (c'est une debian stable, la machine), ce qui peut déjà couvrir pas mal , je pourrai entrer les données genre par import. Mais je ne pense pas pouvoir créer de formulaire un peu sexy, de visualisation de la donnée qui serait un peu plus qu'une vue sql, ou des users en read-only ( donner accès à d'autres). Je n'ai pas non plus des besoins de fous, je n'imagine pas créer plus de 10 users et les bases seront ridiculement petites. Par contre je ne donnerai accès qu'à certains truc, pas tout, ce qui est sans doute évident mais bon.

Il semblerait que je doive apprendre à faire une petite appli web? Bon après tout à l'époque j'ai pu apprendre des rudiments html voire php, je veux bien mettre la main à la pâte si c'est la meilleure solution.

Mais des milliers de possibilité s'offrent à moi, est-ce que ce besoin vous évoque des solutions plus que d'autres? J"ai mis "programmation web" comme catégorie mais qui sait il y a peut être des solutions qui relèvent plus du paramétrage que de la programmation.

Ah oui et la debian elle a son serveur nginx, d'ailleurs je peux accéder à pgadmin comme cela.

Merci merci

  • # Appli web

    Posté par  (Mastodon) . Évalué à 3.

    Difficile de te donner des pistes avec peu d'informations sur le besoin final, mais une appli web semble être une bonne idée sur plusieurs points :
    - partage facile via le web (bon oui, ça a été conçu pour)
    - évolution à volonté (la complexité n'a pas de limites, ou disons elles sont très très loin)
    - ça te servira toujours pour d'autres projets :)

    Le pb c'est que tu as pas mal d'étapes (pas forcément très difficiles) avant d'arriver à un truc fonctionnel :
    - mettre en place un servuer minimal 'hello world'
    - mettre en place un formulaire de saisie
    - récupérer les données
    - les mettre en BdD
    - montrer sur une page le contenu de la BdD

    Au niveau choix de techno, en ce moment je suis sur du Python/Flask/SQLAlchemy, c'est très à la mode, hyper documenté, des exemples en veux-tu en voilà… Sinon le bon vieux PHP qui a fait ses preuves, qui reste adapté sur de petits projets je pense, si tu connais déjà ce sera un peu de temps gagné.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Appli web

      Posté par  (site web personnel, Mastodon) . Évalué à 4.

      Je suggère de partir sur Django et Django admin : c'est fait pour faire des formulaires de saisie, édition et des rapports sous forme de listing. Avec très peu de connaissances en programmation tu peux arriver à qqchose de fonctionnel et le faire évoluer toi-même.

      Après pour faire des écrans sexy / dynamiques / complexes , il n'y a pas de secret : développer des applis web (ou des applis tout court), c'est un métier.

    • [^] # Re: Appli web

      Posté par  (site web personnel) . Évalué à 2. Dernière modification le 09 février 2021 à 11:46.

      Oui le serveur minimal ça je l'ai, le php à la main ne doit pas être sorcier mais je pense qu'ajouter des choses ( comme une nouvelle table à pouvoir éditer) serait un peu trop long et que effectivement quelque chose comme Flask permettrait de faire la même en plus vite, plus joli.

    • [^] # Re: Appli web

      Posté par  (site web personnel) . Évalué à 2.

      Le temps que je digère un peu les quelques réponses, j'ai regardé un peu les trucs "touts faits" comme jsgrid ou basearrow, mais j'ai l'impression qu'un truc comme SQLAlchemy serait plus approprié

      • j'ai déjà un serveur nginx pour d'autres besoins
      • la base de données postgresql est déjà structurée
      • les données "de base" sont déjà saisies, j'utiliserai la vue web pour mettre à jour / consulter des minis "rapports"
      • le nombre de formulaire saisie / rapport sera assez limitée, en revanche très personnalisés

      Donc avec un truc tout fait je pourrai avoir un peu de mal à le faire rentrer dans mon cadre. Le truc qui n'est pas clair pour moi en lisant une intro de SQLalchemy, c'est, est-ce que j'arriverai facilement à faire le code html? genre à partir du moment où la table / la vue sont construites, est-ce qu'il suffit de poser un petit css au bon endroit? Si c'est le cas j'irai plutôt vers ce type de solution car certainement j'y rencontrerai plus de flexibilité.

      • [^] # Re: Appli web

        Posté par  (Mastodon) . Évalué à 2.

        SQLAlchemy c'est "juste" un framework qui te permet de manipuler la base de données en Python sans faire de SQL. Mais tu dois pondre le code qui génèrera le HTML.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Limesurvey ou autre ?

    Posté par  (site web personnel) . Évalué à 2.

    Bonjour,

    Tu pourrais regarder ce qu'il est possible de faire avec LimeSurvey (https://community.limesurvey.org/, GPL) ?

    En propriétaire il y a PHP Database Form (https://phpdatabaseform.com/).

    Je n'ai essayé ni l'un ni l'autre.

  • # Zéro Code

    Posté par  (site web personnel) . Évalué à 2.

    il y a peut être des solutions qui relèvent plus du paramétrage que de la programmation.

    En cherchant des CRUD avancés, j'ai découvert AirTable qui a l'air bien conçu pour faire mieux que des feuilles de tableur, avec des liens 1-n ou n-n entre les tables, une interface sympa, et des tas d'extensions, mais ce n'est ni libre ni gratuit. C'est inspirant de faire les 15j d'essai.

  • # Deux mois plus tard : retour sur Xeditable

    Posté par  (site web personnel) . Évalué à 3.

    petit retour sur expérience.

    • On m'a conseillé le framework Laravel. J'aurai certainement pu en utiliser d'autres et n'ayant pas vu d'autre framework mon retour est à prendre avec des pincettes, mais en apprenant finalement très peu j'ai pu en tirer parti. Laravel structure les choses - surtout l'accès bases de données.
    • Pour avoir une petit table éditable sur une page web, j'utilise xeditable, assez simple à prendre en main.

    Conclusion, ce n'est pas complètement automatique, il faut coder une petite boucle pour parcourir les lignes de la table et lâcher des balises toussa, mais c'est le bon équilibre justement : assez peu de codes, très grande souplesse. En tout cas pour mon besoin. J'ai pu facilement faire des pages avec plusieurs tables et mélanger avec d'autres éléments html. Toute la logique type jointure ou argument à passer est dans Laravel.

    Maintenant j'irai certainement chercher une alternative à xeditable car l'édition de plusieurs lignes peut vite devenir pénible, ce n'est pas un "tableur en ligne", et sans vouloir prétendre offrir cette expérience, certainement d'autres librairies fourniront une meilleure expérience utilisateur. Maintenant pour démarrer ça a très bien fait le job.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.