IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

API, Création PDF et upload Dropbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Par défaut API, Création PDF et upload Dropbox
    Bonjour à tous,

    Cela fait plusieurs jours que je suis bloqué sur un programme et plus particulièrement sa mise en place sur un hébergement.

    Pour faire simple mon site permettra de générer des pdf en fonction des critères issus de plusieurs API, une fois cette étape réalisée il enverra les pdf sur un lien dropbox. Le problème était que lorsque le site est en local il prend en moyenne 5 minutes pour faire tout le traitement, or sur un hébergeur un message d'erreur s'affiche en lien avec la connexion serveur qui est trop long.

    Voici l'erreur en question :

    Nom : serveur.jpg
Affichages : 126
Taille : 17,3 Ko

    J'espère que vous pourrez m'aider à résoudre ce problème qui a mes yeux est complexe.

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonjour,

    Et pour ces plusieurs API, as-tu totalement la main ?

    Ou bien est-ce des API dépendants, par exemple de ressources extérieures ?

    DS7

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 82
    Par défaut
    Citation Envoyé par JeanPPPP Voir le message
    ... il prend en moyenne 5 minutes ...
    5*60 = 3600, c'est la valeur par défaut du max_execution_time de l' ini php.
    Tu peux le monter avec set_time_limit, mais ce n'est pas une bonne idée, mieux vaut voir ce qui coince ...
    Si c'est la construction de ton pdf qui est trop longue, je te suggère d'enregistrer les données à écrire en base de donnée, et d'écrire tes pdf avec une tache planifiée type cron.

  4. #4
    Membre averti
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Par défaut
    Je vais essayer d'être plus clair, en décomposant bien les étapes :

    1. Récupération des données de 3 API différentes toutes cin7 (gestion de stock)
    2. Mise en lien des différentes informations : API 1 Stock (Nom Produit, Nom restaurant, Quantité) -> API 2 (Détails produits, Prix pour chaque région) -> API 3 informations générales sur le commerce (Adresse, notes, etc.)
    3. Création des PDF (25) en fonction des données extraites et triées, chaque commerce à son propre menu en fonction du stock (Si un produit n'est pas en stock alors il n'est pas affiché sur le PDF), de son prix de secteur et des informations sur le commerce
    4. Upload sur le lien Dropbox


    Note : Il existe pour l'API 2 et 3, différents moyens de connexion, par exemple pour la région France j'ai un lien de connexion pour uniquement obtenir les informations de cette dernière.

    Concernant les données, je ne suis pas en mesure de les modifier à ma guise.

    L'utilisation de set_time_limit serait efficace sur un hébergeur en ligne ? Comment font les sites de conversion de fichiers en PDF pour faire "attendre" la page durant plusieurs minutes ?

    J'avais l'intention d'utiliser cron, mais je ne sais pas si cela fonctionnera, le problème de chargement ne serait-il pas le même ?

    Je pense que la construction des PDF participe à la durée importante de chargement, finalement j'ai compté 5 minutes pour récupérer les données et je pense créer les PDF, suite au 5 minutes la page continue de charger et envoie les PDF un à un vers la Dropbox jusqu’à 9 minutes. Du coup quel est le principe de la génération des PDF via la base de données ?

  5. #5
    Membre averti
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Par défaut
    Je vous confirme que fonctionne sur un hébergeur en ligne.

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    l'utilisation du cron peut être utile si vous pouvez découper cela en plusieurs taches de moins de 2 minutes par exemple.
    donc vous aurez un script de gestion de tâches qui va être appelé par le système cron. il va d'abord faire la 1re tâche puis s'arrêter, ensuite le script est de nouveau appelé par cron et il va faire la 2e tâche et ainsi de suite.

    à la fin la dernière tâche sera par exemple d'envoyer un e-mail pour informer que le traitement est fini.
    ou alors si l'utilisateur attend devant son navigateur, vous faite un appel ajax régulièrement pour savoir où en ai le traitement.

  7. #7
    Membre averti
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Par défaut
    Sur alwaysdata.net, l'utilisation set_time_limit fonctionne, en revanche sur mon serveur VPS hostinger cela ne passe pas.

    Concernant alwaydata, je constate que ma page charge durant environ 1 minute, puis il n'y a plus de chargement mais les fichiers apparaissent dans la Dropbox 4 minutes plus tard. Quelle serait l'explication ? La fin du chargement ne met-elle pas fin à l'exécution du script ?

    Du coup je pense rester sur alwaysdata.net, mais comment faire pour créer un cron PHP qui lance le script par exemple à minuit ?

    Concernant votre remarque mathieu, puis-je exploiter les deux solutions ? Dans le cas ou l'utilisateur souhaite générer directement des fichiers avec des données sélectionnées dans un formulaire alors afficher un système d'attente, tout en gardant la génération automatique.

  8. #8
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    Citation Envoyé par JeanPPPP Voir le message
    Du coup je pense rester sur alwaysdata.net, mais comment faire pour créer un cron PHP qui lance le script par exemple à minuit ?
    la configuration dépend de votre hébergeur, il y a souvent une page spéciale dans l'espace de gestion de l'hébergement
    vous pouvez aussi regarder cet article pour des infos sur différentes méthodes :
    https://matthieu.developpez.com/execution_periodique/

    Citation Envoyé par JeanPPPP Voir le message
    Concernant votre remarque mathieu, puis-je exploiter les deux solutions ? Dans le cas ou l'utilisateur souhaite générer directement des fichiers avec des données sélectionnées dans un formulaire alors afficher un système d'attente, tout en gardant la génération automatique.
    oui tout cela est faisable, la différence est juste le découpage en tâches qui se feront en arrière plan.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Meilleure solution pour création PDF
    Par chouchou93 dans le forum Documents
    Réponses: 10
    Dernier message: 09/03/2007, 12h38
  2. [Upload] pdf vers upload
    Par joneil dans le forum Langage
    Réponses: 17
    Dernier message: 20/06/2006, 12h58
  3. [Image]Lancer l'api du scanner pour uploader une image ?
    Par mikemead dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 30/03/2006, 21h27
  4. [MFC] API html -> PDF
    Par hiko-seijuro dans le forum MFC
    Réponses: 9
    Dernier message: 10/06/2005, 12h44
  5. [Utilisation] [API] Création de pools
    Par Invité(e) dans le forum Subversion
    Réponses: 1
    Dernier message: 18/03/2005, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo