Se connecter

Informatique

Création de sites web

Sujet : Exécuter un script PHP automatiquement à une ou plusieurs dates données.
1
Fealo
Niveau 6
24 mars 2019 à 18:33:40

Bonsoir,

Alors ce que j'aimerais faire c'est d’exécuter un script PHP automatiquement en fonction d'une date donné ( le script PHP en question dans mon cas est un script qui envoi un SMS à un client, avec bien-sûr son consentement).

J'ai fais des recherches, et apparemment ça s'appelle un cron job en anglais. Il existe plusieurs site proposant ce service de cron job, tel que https://cron-job.org/en/ ou encore https://www.setcronjob.com/

Le fonctionnement de ces sites : on s'inscris, on donne un nom à notre cron job, on spécifie si le script doit être exécuter tout les jours, tout les mois, ou même toutes les minutes etc ... et on donne l'accès au script PHP en question qu'on veut faire exécuter automatiquement. Le problème c'est que moi je n'ai pas de serveur ^^' Je suis qu'un étudiant qui développe en localhost (apache2). Donc je peux pas employer cet technique ( sauf si vous avez un moyen de contourner la chose)

Sinon si vous avez une autre technique pour exécuter un script PHP automatiquement à une date donné, j'en serais ravis ( Oublié la technique du planificateur de taches windows )

Merci

TidoDaWiseOlMan
Niveau 7
24 mars 2019 à 20:23:05

C'est pourtant avec le planificateur de tâches Windows que ça s'opère. :(
Et il faut que ton pc soit allumé lorsque le cron va tourner.

Fealo
Niveau 6
24 mars 2019 à 20:31:56

Le 24 mars 2019 à 20:23:05 TidoDaWiseOlMan a écrit :
C'est pourtant avec le planificateur de tâches Windows que ça s'opère. :(
Et il faut que ton pc soit allumé lorsque le cron va tourner.

Alors oui c'est vrai, j'ai même testé, et ça fonctionne !
Le problème c'est que je ne peux pas me fier à cette technique, tout simplement car en faite, ce que je développe est un projet de groupe, et un produit commandé par notre client. Si je devais employer cette technique du planificateur windows, cela voudrait dire qu'il faudrait que j'utilise le PC du client ...

De plus, la planificateur windows ne propose pas des dates souples ( en faite, la date doit être récupéré dans une base de donnée, et le sms doit être envoyé S-1 avant et J-1 avant ). Il s'agit des SMS de rappels, du style " N'oubliez pas, vous avez rendez-vous le blablablabla ". Une semaine avant et un jour avant. Je ne peux pas faire cela avec le planificateur windows.

TidoDaWiseOlMan
Niveau 7
24 mars 2019 à 20:45:41

C'est parce que tu prends le problème à l'envers. Ce n'est pas au planificateur Windows / cronjob de connaître la date à laquelle envoyer tel email ou tel SMS, c'est le job qui est derrière qui se charge de ça.

En gros tu appelles ton cronjob à intervalle régulier, mettons, tous les jours à 2h du matin, qui lui-même appelle un script qui se charge lui-même de savoir via un appel BDD si il doit réellement envoyer un rappel SMS ou non.

Fealo
Niveau 6
24 mars 2019 à 20:50:13

Le 24 mars 2019 à 20:45:41 TidoDaWiseOlMan a écrit :
C'est parce que tu prends le problème à l'envers. Ce n'est pas au planificateur Windows / cronjob de connaître la date à laquelle envoyer tel email ou tel SMS, c'est le job qui est derrière qui se charge de ça.

En gros tu appelles ton cronjob à intervalle régulier, mettons, tous les jours à 2h du matin, qui lui-même appelle un script qui se charge lui-même de savoir via un appel BDD si il doit réellement envoyer un rappel SMS ou non.

Complètement d'accord, le hic c'est qu'il faudrait que le PC soit allumé pour que le planificateur windows fonctionne :/

TidoDaWiseOlMan
Niveau 7
24 mars 2019 à 20:51:54

Effectivement.

Je t'invite donc à faire l'acquisition d'un VPS, le plus petit chez OVH doit coûter dans les 3 ou 4 euros TTC par mois et tu auras une vraie gestion des cronjobs. Si cela n'était pas à ta portée, peut être qu'ils proposent de gérer les cronjobs avec leurs abonnements mutualisés, il faudrait vérifier...

Fealo
Niveau 6
24 mars 2019 à 21:05:50

Le 24 mars 2019 à 20:51:54 TidoDaWiseOlMan a écrit :
Effectivement.

Je t'invite donc à faire l'acquisition d'un VPS, le plus petit chez OVH doit coûter dans les 3 ou 4 euros TTC par mois et tu auras une vraie gestion des cronjobs. Si cela n'était pas à ta portée, peut être qu'ils proposent de gérer les cronjobs avec leurs abonnements mutualisés, il faudrait vérifier...

J'y jetterais un coup d’œil. Mais une question me vient en tête : Imaginons que je planifie une tache tout les jours à 14h, et que je suis sûr à 100% que le pc sera allumé bien avant 14h. Cela fonctionnerait- il ?

TidoDaWiseOlMan
Niveau 7
24 mars 2019 à 21:46:14

Oui, pour peu que tu testes bien le job avant. Après, je ne l'ai jamais fait sous Windows, je travaille sur Linux.

Fealo
Niveau 6
25 mars 2019 à 17:42:50

Le 24 mars 2019 à 21:46:14 TidoDaWiseOlMan a écrit :
Oui, pour peu que tu testes bien le job avant. Après, je ne l'ai jamais fait sous Windows, je travaille sur Linux.

J'ai testé du coup pour en être sûr et oui ça fonctionne, le hic c'est que ça reste risqué car il se peut que la machine ne soit pas allumé. Pour le VPS, je ne sais vraiment pas du tout comment ça fonctionne etc ... Saurais-tu m'expliquer ? ou alors un lien ?

Merci

TidoDaWiseOlMan
Niveau 7
25 mars 2019 à 17:47:44

Regarde plutôt du côté des serveurs mutualisés genre chez OVH ça sera plus simple. Vérifie juste que tu as la main sur la crontab.

Le problème du vps c'est qu'il faut l'installer de a à z : sécurité, firewall, ssh, serveurs Web, etc. Ce n'est pas forcément à la portée de tout le monde.

Thymotep
Niveau 10
25 mars 2019 à 19:22:56

Il y a des cronjobs sur les mutualisés OVH :ok:

ralph2018
Niveau 1
18 avril 2019 à 21:03:01

Il existe un autre excellent fournisseur de services d'emploi cron gratuit: https://www.easycron.com.

1
Sujet : Exécuter un script PHP automatiquement à une ou plusieurs dates données.
   Retour haut de page
Consulter la version web de cette page