Mise à jour de contenu par un script bash ?
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Je ne suis pas certain d'être dans la bonne section, mais je ne savais pas trop où mettre ça. Donc à déplacer si besoin

J'utilise PhpBoost pour un travail collaboratif avec quelques personnes, dans le cadre d'une association. Dans la partie téléchargement j'envoie un zip de mon répertoire de travail pour cette assos, de façon à pouvoir le récupérer de n'importe où, ou bien qu'une des personnes avec qui je travaille puisse le récupérer.
Pour que cela soit pertinent il faudrait que j'envoie un nouveau zip à chaque fois que je fais une modif dans ce répertoire. Je le fais manuellement jusqu'à présent mais je voudrais automatiser la tache avec un script bash (je suis sous GNU/Linux).
A chaque lancement le script génèrerait un zip de mon répertoire, l'enverrait dans upload. Il écraserait la version précédente. A priori comme le nom du fichier est identique le lien de la partie téléchargement fonctionnerait toujours. Jusqu'à là pas de problème.
C'est pour la suite que j'aurai besoin de votre avis. Je voudrais que dans la partie téléchargement la date de mise à jour du fichier corresponde à chaque date d'envoi du nouveau zip. Il faudrait donc qu'une requête sql soit exécutée par le script et mette le champ correspondant à jour.
Est ce que cela vous parait jouable ?
Merci d'avance pour vos réponses
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Donc pour l'instant, à moins de faire un fichier qui fasse spécifiquement ça et l'appeler soit par la commande php soit par wget, il n'y a pas de solution franche.
Mais on va essayer de pondre un truc qui le rende plus facile.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Je vais tenter le coup de toute façon, ne serait-ce que par curiosité. J'avais déjà bricolé un bout de script bash pour faire de l'upload de fichiers directement dans un répertoire choisi. Donc cette partie c'est bon, j'ai juste à l'adapter.
Et pour une requête sql inclue dans le script, les premières recherches que j'ai faite sont concluantes, cela peut se faire.
Affaire à suivre
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
patgame Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre patgame
- Inscrit le : 03/09/2009
- Site internet
- Groupes :
ah c'est beau d'etre jeune
amicalement
Pat
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
patgame :
Pour ben.popeye je sais pas, mais si pour moi tu savais mon age ah c'est beau d'etre jeune
Édité par soupaloignon Le 13/11/2009 à 22h17
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Après quelques recherches sur le net je suis arrivé à ça :
Code SQL :
UPDATE phpbpriv_download SET release_timestamp = REPLACE(release_timestamp,'AncienneValeur','NouvelleValeur')
Est ce que cela vous parait correct ? et si oui comment lui dire que quelle que soit la valeur trouvée dans le champs release_timestamp, on la remplace par NouvelleValeur ? (une * à la place de AncienneValeur ?)
Merci d'avance
Edit : Mouarfff
, je viens de me rendre compte que si je lui indique pas l'id de l'enregistrement où il faut modifier la valeur release_timestamp, il va pas aimer 
Genre ? (et on rigole pas merci
)Code SQL :
UPDATE phpbpriv_download SET release_timestamp = REPLACE(release_timestamp,'AncienneValeur','NouvelleValeur') WHERE id='8'
Édité par soupaloignon Le 14/11/2009 à 15h23
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Code SQL :
UPDATE phpbpriv_download SET release_timestamp = 'valeur' WHERE id='8'
La date est stockée au format timestamp si ma mémoire est bonne, et tu obtiendras le timestamp actuel avec la commande
Code BASH :
date +%s
Mais juste par curiosité comment te connectes-tu à la base de données ? Tu écris du bash ou du PHP ?
L'idée qu'on avait avec horn est de faire une seconde interface utilisateur qui ne soit pas l'interface web mais une interface en ligne de commande qui s'interface avec la couche métier de PHPBoost et qui manipule donc l'API de PHPBoost.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Le script est en bash, et le programme pour la connection à la BdD est ncftp. Je vais lancer le script automatiquement via un cron tous X jours. Pour résumer il va me faire une archive d'un dossier de travail particulier, avec un nom prédéterminé.
Il se connecte ensuite à la base et va écraser dans le dossier upload de phpboost la précédente archive du même nom. Dans la foulée j'écrase l'ancien timestamp de 'release_timestamp' avec celui généré au moment de l'upload.
De cette manière le lien proposé au téléchargement fonctionne toujours vu que le nom de l'archive ne change pas, et le résumé des infos de dl est à jour et reflète la date de dernière mise à jour.
Le script est opérationnel, il me manque juste à régler l'histoire du timestamp. Je le posterai lorsqu'il sera bouclé, si ça peut servir à quelqu'un....
Pour le script que vous pensez construire avec horn c'est pour quoi exactement ? Au vu des explications données je dirai que ça permettrait de faire des installs en rafales, dans une idée d'hébergement proposant phpboost. Genre une personne ouvre un compte, et dans la foulée ça lui fait son install ?
Édité par soupaloignon Le 15/11/2009 à 00h20
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
soupaloignon :
Pour le script que vous pensez construire avec horn c'est pour quoi exactement ? Au vu des explications données je dirai que ça permettrait de faire des installs en rafales, dans une idée d'hébergement proposant phpboost. Genre une personne ouvre un compte, et dans la foulée ça lui fait son install ?
L'idée c'est de pouvoir piloter PHPBoost via une ligne de commande pour aller plus vite et pour automatiser certaines tâches.
Typiquement, comme tu dis, faire une commande qui installe PHPBoost automatiquement. Cela pourrait servir comme tu le dis à des hébergeurs qui pourraient préinstaller PHPBoost mais ça nous servirait à nous également pour le développement, parce que passer par l'installateur c'est assez long.
Par contre, nous c'est clair qu'on n'utilisera pas le bash comme langage mais directement la commande php, car tout le traitement sera effectué par les couches métier et le framework de PHPBoost. Par exemple, nous ne modifierons pas la base de données directement par des requêtes comme tu le fais, on se servira du code déjà existant.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie