Prendre capture écran en php sans passer par un serveur

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 25 Janvier 2017.

  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Bonjour,

    je souhaite savoir si il existe un script, librairie ou autres qui me permettrait de prendre une capture d'écran sur un site (avec éventuellement un browser headless) sans passer pas un serveur type vps. Je suis sous GANDI simple hosting.

    Je testé en local la librairie php-phantomjs qui rempli parfaitement cette tache, mais en ligne il faut obligatoirement passer par un serveur dédié car il faut exécuter un .exe.

    Je vous remercie d'avance pour vos réponses.

    Librairie php-phantomjs : http://jonnnnyw.github.io/php-phantomjs/
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    Sans pouvoir utiliser PhantomJS, XVFB, wkhtmltopdf, khtml2png, Firefox, CutyCapt, VNC, etc etc (oui j'ai énormément cherché). Je ne vois pas comment tu pourrais faire sur un mutu.

    J'utilise PhantomJS et je n'ai vraiment rien trouvé de mieux.

    Edit: exemple: [​IMG]
     
  3. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 889
    J'aime reçus:
    75
    Ou le couple Imagemagick + allow_url_fopen. Mais idem, en mutu...
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    Et un VPS ça coûte 3 € / mois.
     
  5. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Comment ca se passe pour l'installation de phantomjs avec un vps parceque je comprends pas trop. Sur le mutu j'aurais donc le script php (qui sert à demander une capture) et la librairie phantomjs ? Du coup sur le vps j'aurais uniquement le .exe que j'interrogerais via mon script php ?
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    Il suffit de dézipper et puis ça marche: http://phantomjs.org/download.html
    Ensuite en PHP screenshot.php:
    PHP:
    <span class="syntaxdefault">exec</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"/ton/repertoire/phantomjs/bin/phantomjs screenshot.js http://example.com example.png"</span><span class="syntaxkeyword">);&nbsp;</span><span class="syntaxdefault"></span>
    Et puis tu appeles ton script via:
    PHP:
    <span class="syntaxdefault"></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">img src</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"http://tonvps.com/screenshot.php?url=http://example.com/&amp;size=320x200"</span><span class="syntaxkeyword">></span><span class="syntaxdefault"></span>
    Bon c'est la base de chez base parce qu'en suite faut gérer le cas de pas en générer 1000 à la fois (queue ou autre), faire un thumbnail, etc etc...
     
  7. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Oui mais ceci "/ton/repertoire/phantomjs/bin/phantomjs" se trouve sur le serveur ou sur le mutualisé ?
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    Sur le serveur
     
  9. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Ok j'ai compris. Dernière question. N'ayant jamais loué de vps est ce que l'installation d'une librairie comme celle ci est compliqué ?

    Je le met ou le contenu du zip exactement ?

    Y a t'il un paramétrage du vps auparavant ?

    Si il y a un tuto je suis preneur.
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    C'est pas compliqué pour celui qui sait.
    Le zip tu le mets où tu veux.
    Oui il faut paramètrer un peu le VPS (serveur web + PHP notamment).
    Des tutos il y en au moins 1000.
     
  11. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Admettons que j'installe la librairie php-phantomjs sur mon mutu mais par contre je met le bin/phantomjs sur le vps cela est possible si on fais un appelavec un script php qui se trouverait sur le mutu : ?
    Code:
    
    <?php
    
    // script php sur le mutu
    
    use JonnyW\PhantomJs\Client;
    
    $client->setPhantomJs('http://mon vps /path/to/phantomjs');
    
    $client = Client::getInstance();
    
    /** 
     * @see JonnyW\PhantomJs\Message\Request 
     **/
    $request = $client->getMessageFactory()->createRequest('GET', 'http://google.com');
    
    /** 
     * @see JonnyW\PhantomJs\Message\Response 
     **/
    $response = $client->getMessageFactory()->createResponse();
    
    // Send the request
    $client->send($request, $response, '/path/to/save/screen/capture.png');
    
    ?>
    Source : https://bitbucket.org/londoh/php-phantomjs
     
  12. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
    En regardant le code source du client, non je ne pense pas.
     
  13. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    J'aime reçus:
    0
    Dans ce code :

    Code:
    exec("/ton/repertoire/phantomjs/bin/phantomjs screenshot.js http://example.com example.png"); 
    screenshot.js c'est un fichier à créer ou contenu dans le zip ? Si c'est le cas je ne le trouve pas.
     
  14. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
  15. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 101
    J'aime reçus:
    304
Chargement...
Similar Threads - Prendre capture écran Forum Date
Personne n'est parfait, des avis bons à prendre concernant mon site ? Demandes d'avis et de conseils sur vos sites 27 Juillet 2020
Reprendre le contrôle de ses contenus : faire une zone privée Débuter en référencement 12 Avril 2020
Il faut arrêter de se prendre la tête Référencement Google 10 Janvier 2020
Comment forcer Google à prendre en compte Title et Meta Description Référencement Google 23 Décembre 2019
Ne prendre qu'une partie d'un QueryString dans une regex RewriteCond URL Rewriting et .htaccess 9 Décembre 2019
Besoin d'aide pour comprendre mon Analyse Dareboost Débuter en référencement 24 Août 2019
Comment Google peut prendre un compte des liens aussi pourris.... Netlinking, backlinks, liens et redirections 9 Août 2019
Comprendre le (Other) dans Acquisition/Canal Google Analytics 11 Juillet 2019
Comprendre les revenus d'AdSense AdSense 31 Décembre 2018
statistique à comprendre Le café de WebRankInfo 11 Décembre 2018