Système de mise à jour

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Système de mise à jour

Re: Système de mise à jour

par BaLiSTiK » 21 oct. 2010, 15:11

Je penses que je vais mettre de côté ce module dans mon CMS, ça me parait beaucoup trop complexe à faire pour moi pour le moment.
Je reviendrai sur ce thread si je décides du contraire.
Merci pour vos réponses :)

Re: Système de mise à jour

par AoSiX » 18 oct. 2010, 15:33

pas directement de tes fichiers, mais tu fais une copie propre que tu utilise pas ;) Ou alors, plus lourd, tu stock en base x)

Re: Système de mise à jour

par BaLiSTiK » 18 oct. 2010, 15:05

Tu cherches loin je pense !

Coté serveur
tu crée un fichier lastversion.txt

Coté client
file_get_contents("http://www.lesitedetoncms.com/lastversion.txt");
Si le contenu est une version plus avancé que la mienne,
file_get_contents("http://www.lesitedetoncms.com/getupdate.php?v=taversion");

Coté serveur
sur ta page getupdate.php, tu renvoi en XML par exemple

Code : Tout sélectionner

<update> <fichier>index.php</fichier> <contenu><?php blablabla ?></contenu> </update> <update> <fichier>dossier/truc.php</fichier> <contenu><?php machin ?></contenu> </update>
Coté client
On a récupéré le flux XML avec les modifs, on écris dans les fichiers correspondant le code correspondant

C'est une idée, je sais pas si c'est la mieux, mais c'est une simple...

Je vois mieux :D . Je tenterai ta solution. Par contre, c est carrement tout le contenu d'un fichier que je modifierai, je compte pas modifier la ligne xx du fichier toto.php.
Donc dans le XML, dans la balise <contenu></contenu>, il faudrait que je fasse un file_get_contents() de mes fichiers ?

Re: Système de mise à jour

par AoSiX » 18 oct. 2010, 14:31

Tu cherches loin je pense !

Coté serveur
tu crée un fichier lastversion.txt

Coté client
file_get_contents("http://www.lesitedetoncms.com/lastversion.txt");
Si le contenu est une version plus avancé que la mienne,
file_get_contents("http://www.lesitedetoncms.com/getupdate.php?v=taversion");

Coté serveur
sur ta page getupdate.php, tu renvoi en XML par exemple

Code : Tout sélectionner

<update> <fichier>index.php</fichier> <contenu><?php blablabla ?></contenu> </update> <update> <fichier>dossier/truc.php</fichier> <contenu><?php machin ?></contenu> </update>
Coté client
On a récupéré le flux XML avec les modifs, on écris dans les fichiers correspondant le code correspondant

C'est une idée, je sais pas si c'est la mieux, mais c'est une simple...

Re: Système de mise à jour

par BaLiSTiK » 18 oct. 2010, 14:00

Tu cryptes les fichiers sur ton serveur, tu les envoies en JSON, XML, ce que tu veux....la page client décrypte, et remplace le contenu des fichiers.

ça me semble une bonne méthode.
C'est plutot l'inverse non ? la page cliente qui se connecte au serveur. Il ne faut pas oublier que c'est pour inclure dans mon CMS. Donc il faut que les CMS de mes utilisateurs se connectent sur mon serveur. Le fsocketopen() ne me plait pas trop car je en veux pas trop indiquer de mot de passe pour se connecter à mon serveur. Je n ai pas encore tester le lien que j'ai trouvé plus haut, je ferai ça dans la semaine

Re: Système de mise à jour

par AoSiX » 18 oct. 2010, 11:02

Tu cryptes les fichiers sur ton serveur, tu les envoies en JSON, XML, ce que tu veux....la page client décrypte, et remplace le contenu des fichiers.

ça me semble une bonne méthode.

Re: Système de mise à jour

par BaLiSTiK » 15 oct. 2010, 17:02

J'ai trouvé ce lien qui pourrait correspondre : http://www.phpclasses.org/package/4157- ... files.html

Re: Système de mise à jour

par stealth35 » 15 oct. 2010, 16:50

ouai mais en y repense PEAR c'est plutôt pour les library et pas pour les appli complète

Re: Système de mise à jour

par BaLiSTiK » 15 oct. 2010, 16:43

J'ai l'impression que je me suis lancer dans un truc trop compliqué pour moi :D ...mais soyons fou et relevons le challenge ^^.
Pour installer un serveur pear, j'ai trouvé cette URL : http://www.zdnet.fr/builder/programmati ... 0-2,00.htm

Le point qui me turlupîne est que ce systeme va mettre à jour l'ensemble de l'application. Y'a t'il moyen de lui faire mettre à jour uniquement une liste de fichiers ? Ou alors laisser le choix des fichiers à mettre à jour (comme une mise à jour d'Ubuntu)

Re: Système de mise à jour

par stealth35 » 15 oct. 2010, 16:32

en faite faut faire un serveur PEAR et les personne qui voudront mettre a jour le package se connecte a ton serveur
pear channel-discover pear.fonfonland.fr
pear install fonfonland/Fonfonblog
:wink:

apres si les gens veulent mettre a jour
pear upgrade-all

Re: Système de mise à jour

par BaLiSTiK » 15 oct. 2010, 16:27

je pense faire sur mon serveur, un dossier "source" ayant la même architecture que mon CMS (dossier app, puis sous dossier classes, views) que je mettrai à jour dès que j'ai une modification à faire. Ma première vérification consistera à voir si la version du CMS client est pareil que celle dans "source". Si elle est différente => lancement de la mise à jour.

stealth35 a proposé via PEAR, je suis aller faire un tour, et ils proposent ça : http://pear.php.net/search.php?q=update ... PerPage=10 : lequel est le mieux adapté ?
Vu que j' ai deja pas mal de package PEAR dans mon CMS autant continuer avec.

Re: Système de mise à jour

par stealth35 » 15 oct. 2010, 15:49

J'ai l'impression que les lignes "encodées" sont le contenu des fichiers...
Sinon on parle un peu de Phar en ce moment... bref là j'en sais trop rien :)
serialize + base64_encode pour les fichiers :wink:

sinon en phar ouai c'est pas mal, sinon via PEAR

Re: Système de mise à jour

par jojolapine » 15 oct. 2010, 15:45

Bonjour,
ça dépend de tes besoins...
Pour aller au plus simpliste, en admettant que lorsque tu sors une mise à jour, tu demandes de mettre à jour tout le cms...
Il suffit de stocker sur le serveur de référence un fichier texte par exemple:
http://server/last_version.txt
Vers lequel ton Cms ira vérifier si il est à jour... (en comparant le contenu du fichier distant et une de ses variables de config)

Ensuite, comment faire l'installation sans demander trop d'effort à l'utilisateur... là c'est plus dur... sur dotclear par exemple, j'ai l'impression qu'ils donnent tout dans leurs fichier pkg:

Code : Tout sélectionner

a:3:{ s:4:"name"; s:8:"patience"; s:4:"dirs"; a:1:{i:0;s:8:"patience";} s:5:"files"; a:5:{ s:17:"patience/desc.xml"; s:284:"PD94bWwgdmVyc2lvbj0iMC4zIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8cGx1Z2luIG5hbWU9InBhdGllbmNlIiB2ZXJzaW9uPSIwLjQiIGFjdGl2ZT0iMSI+CiAgPGF1dGhvcj5NYXJpZSBTYXV2YWdlICsgYnJvbDwvYXV0aG9yPgogIDxsYWJlbD5QYXRpZW5jZTwvbGFiZWw+CiAgPGRlc2M+UGx1Zy1pbiBwb3VyIHBhdGllbnRlci4uLjwvZGVzYz4KPC9wbHVnaW4+Cg=="; s:22:"patience/functions.php"; s:1372:"PD9waHAKY2xhc3MgcGF0aWVuY2V7CiAgCiAgCgkvKioKCSogIENldHRlIGZvbmN0aW9uIGFmZmljaGUgdW4gbWVzc2FnZSBpbmRpcXVhbnQgbGUgbm9tYnJlIGRlIGpvdXIgcmVzdGFudCBldCBsJ29iamV0IGR1IGTDqWNvbXB0ZQoJKi8KCWZ1bmN0aW9uIGdldEluZm8oKSB7CgkJaWYoJGZpY2hpZXIgPSBmb3BlbihEQ19TSEFSRV9ESVIuIi9wYXRpZW5jZS50eHQiLCAncicpKQoJCXsKCQkJd2hpbGUgKCFmZW9mKCRmaWNoaWVyKSkKCQkJewoJCQkJJGJ1ZmZlciA9IGZnZXRzKCRmaWNoaWVyLCA0MDk2KTsKCQkJCSRpbmZvc1tdPSRidWZmZXI7CgkJCX0KCQkJZmNsb3NlICgkZmljaGllcik7CgkJCWlmIChzdHJsZW4oJGluZm9zWzBdKT09MCkKCQkJewoJCQllY2hvICdQYXMgZGUgZGF0ZSBlbiBhdHRlbnRlJzsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRub3dfdG1zdHA9dGltZSgpOwoJCQkJJG5vd19oZXVyZT1kYXRlKCdIOmk6cycsJG5vd190bXN0cCk7CgkJCQkkZGF0ZV90bXN0cD1zdHJ0b3RpbWUoJGluZm9zWzBdKTsKCQkJCSRkaWZmX2pvdXJzPXJvdW5kKCgkZGF0ZV90bXN0cC0kbm93X3Rtc3RwKS8oNjAqNjAqMjQpKTsKCQkJCWlmKCRkaWZmX2pvdXJzPjApCgkJCQl7CgkJCQkJaWYgKCRkaWZmX2pvdXJzPT0xKQoJCQkJCQkkam91cnM9ImpvdXIiOwoJCQkJCWVsc2UKCQkJCQkJJGpvdXJzPSJqb3VycyI7CgkJCQkJZWNobyAnPHN0cm9uZz4nLiRkaWZmX2pvdXJzLic8L3N0cm9uZz4gJy4kam91cnMuJyBhdmFudCAnLiRpbmZvc1sxXS4nICEhJzsKCQkJCX0KCQkJCWVsc2VpZiAoJGRpZmZfam91cnM9PTApCgkJCQl7CgkJCQkJZWNobyAnQ1wnZXN0IGF1am91cmRcJ2h1aSAnLiRpbmZvc1sxXS4nICEnOwoJCQkJfQoJCQkJZWxzZSAvLyBtb2lucyBkZSB6w6lybwoJCQkJewoJCQkJCWVjaG8gJ0xhIGRhdGUgZXN0IHBhc3PDqWUgcG91ciAnLiRpbmZvc1sxXS4nJzsKCQkJfQoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gJ0xlY3R1cmUgaW1wb3NzaWJsZSBkdSBmaWNoaWVyJzsKCQl9Cgl9Cn0KPz4K";s:17:"patience/icon.png";s:2632:"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"; s:18:"patience/index.php"; s:7212:"PD9waHAKCiMgRm9yIHJldHJvIGNvbXBhdGliaWxpdHkgIDwgMS4yLjcKaWYgKCFjbGFzc19leGlzdHMoJ2RjTm9uY2UnKSkgewoJY2xhc3MgZGNOb25jZSB7CgkJZnVuY3Rpb24gZm9ybSgpIHsgcmV0dXJuICcnOyB9Cgl9Cn0KCmJ1ZmZlcjo6c3RyKCc8aDI+UGF0aWVuY2U8L2gyPicpOwoKLy9pbml0aWFsaXNhdGlvbiBkZXMgdmFyaWFibGVzIHV0aWxlcwokdG9kYXlfam91cj1kYXRlKCdqJyk7CiR0b2RheV9tb2lzPWRhdGUoJ24nKTsKJHRvZGF5X2FubmVlPWRhdGUoJ1knKTsKCiRmaWxlbmFtZT1EQ19TSEFSRV9ESVIuIi9wYXRpZW5jZS50eHQiOwoKZnVuY3Rpb24gZ2V0SW5mb3MoKSB7CglpZigkZmljaGllciA9IGZvcGVuKERDX1NIQVJFX0RJUi4iL3BhdGllbmNlLnR4dCIsICdyJykpCgl7CgkJd2hpbGUgKCFmZW9mKCRmaWNoaWVyKSkKCQl7CgkJCSRidWZmZXIgPSBmZ2V0cygkZmljaGllciwgNDA5Nik7CgkJCSRpbmZvc1tdPSRidWZmZXI7CgkJfQoJCWZjbG9zZSAoJGZpY2hpZXIpOwoJCWlmIChzdHJsZW4oJGluZm9zWzBdKT09MCkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICRpbmZvczsKCQl9Cgl9CgllbHNlCgl7CgkJYnVmZmVyOjpzdHIoJ0xlY3R1cmUgaW1wb3NzaWJsZSBkdSBmaWNoaWVyJyk7CgkJcmV0dXJuIGZhbHNlOwoJfQp9CgppZiggaXNzZXQoJF9QT1NUWydzdXBwcmRhdGUnXSkgKQp7CiAgICAkaGFuZGxlID0gZm9wZW4oJGZpbGVuYW1lLCAndycpOwoJJGZ3PWZ3cml0ZSgkaGFuZGxlLCAiIik7CiAgICBpZiAoICRmdyB8fCAkZnc9PTAgICkKCXsKCQkkcmVzdWx0X3N1cHByZGF0ZT0nPGRpdiBjbGFzcz0iZXJyZXVyIj48cD48c3Ryb25nPk9LIDo8L3N0cm9uZz48L3A+PHA+RGF0ZSBzdXBwcmltJmVhY3V0ZTtlPC9wPjwvZGl2Pic7Cgl9CgllbHNlCgl7CgkJJHJlc3VsdF9zdXBwcmRhdGU9J0VycmV1ciBkYW5zIGxlIHZpZGFnZSBkdSBmaWNoaWVyIDovJzsKCX0KCWJ1ZmZlcjo6c3RyKCRyZXN1bHRfc3VwcHJkYXRlKTsKfQoKaWYoIGlzc2V0KCRfUE9TVFsnbmV3ZGF0ZSddKSAmJiAoaXNzZXQoJF9QT1NUWydvYmpldCddKSAmJiAkX1BPU1RbJ29iamV0J10hPSIiKSApCnsKCS8vZWNyaXR1cmUgZHUgZmljaGllcgogICAgJGhhbmRsZSA9IGZvcGVuKCRmaWxlbmFtZSwgJ3cnKTsKICAgIGlmICggQGZ3cml0ZSgkaGFuZGxlLCAkX1BPU1RbJ2pvdXInXS4iICIuJF9QT1NUWydtb2lzJ10uIiAiLiRfUE9TVFsnYW5uZWUnXS4iICIuJF9QT1NUWydoZXVyZSddLiI6Ii4kX1BPU1RbJ21pbnV0ZXMnXS4iOiIuJF9QT1NUWydzZWNvbmRlcyddLiJcbiIuJF9QT1NUWydvYmpldCddKSApCgl7CgkJJHJlc3VsdF9uZXdkYXRlPSc8ZGl2IGNsYXNzPSJlcnJldXIiPjxwPjxzdHJvbmc+T0sgOjwvc3Ryb25nPjwvcD48cD5Ob3V2ZWxsZSBkYXRlIGVucmVnaXN0ciZlYWN1dGU7ZTwvcD48L2Rpdj4nOwoJfQoJZWxzZQoJewoJCSRyZXN1bHRfbmV3ZGF0ZT0nPGRpdiBjbGFzcz0iZXJyZXVyIj48cD48c3Ryb25nPkVycmV1cihzKSA6PC9zdHJvbmc+PC9wPjxwPkVycmV1ciBkYW5zIGxcJyZlYWN1dGU7Y3JpdHVyZSBkZSBsYSBub3V2ZWxsZSBkYXRlLiBBc3N1cmV6LXZvdXMgZFwnYXZvaXIgbGVzIGRyb2l0cyBkXCcmZWFjdXRlO2NyaXR1cmU8L3A+PC9kaXY+JzsKCX0KICAgIGZjbG9zZSgkaGFuZGxlKTsKCWJ1ZmZlcjo6c3RyKCRyZXN1bHRfbmV3ZGF0ZSk7Cn0KZWxzZWlmIChpc3NldCgkX1BPU1RbJ29iamV0J10pICYmICRfUE9TVFsnb2JqZXQnXT09IiIpCnsKCWJ1ZmZlcjo6c3RyKCc8ZGl2IGNsYXNzPSJlcnJldXIiPjxwPjxzdHJvbmc+RXJyZXVyKHMpIDo8L3N0cm9uZz48L3A+PHA+Zm9ybXVsYWlyZSBpbmNvbXBsZXQ8L3A+PC9kaXY+Jyk7Cn0KCmJ1ZmZlcjo6c3RyKCc8aDM+RG9ubiZlYWN1dGU7ZXMgZHUgY29tcHRlIGFjdHVlbDwvaDM+Jyk7CmJ1ZmZlcjo6c3RyKCc8cD4nKTsKaWYgKGZpbGVfZXhpc3RzKCRmaWxlbmFtZSkgKQp7CgkkaW5mb3M9Z2V0SW5mb3MoKTsKCWlmKCRpbmZvcyE9ZmFsc2UpCgl7CgkJJGRhdGUgPSAkaW5mb3NbMF07CgkJJG9iamV0PSAkaW5mb3NbMV07CgoJCSRub3dfdG1zdHA9dGltZSgpOwoJCSRub3dfaGV1cmU9ZGF0ZSgnSDppOnMnLCRub3dfdG1zdHApOwoJCSRkYXRlX3Rtc3RwPXN0cnRvdGltZSgkZGF0ZSk7CgkJJGRpZmZfam91cnM9cm91bmQoKCRkYXRlX3Rtc3RwLSRub3dfdG1zdHApLyg2MCo2MCoyNCkpOwoJCWJ1ZmZlcjo6c3RyKCdEYXRlIDogPGI+Jy4kZGF0ZS4nPC9iPjxiciAvPicpOwoJCWJ1ZmZlcjo6c3RyKCdPYmpldCA6IDxiPicuJG9iamV0Lic8L2I+PGJyIC8+PGJyIC8+Jyk7CgkJaWYoJGRpZmZfam91cnM+MCkKCQl7CgkJCWlmICgkZGlmZl9qb3Vycz09MSkKCQkJCSRqb3Vycz0iam91ciI7CgkJCWVsc2UKCQkJCSRqb3Vycz0iam91cnMiOwoJCQlidWZmZXI6OnN0cignPGVtPi0tPiBJbCByZXN0ZSAnLiRkaWZmX2pvdXJzLicgJy4kam91cnMuJyBhdmFudCAnLiRvYmpldC4nPC9lbT48YnIgLz4nKTsKCQl9CgkJZWxzZWlmICgkZGlmZl9qb3Vycz09MCkKCQl7CgkJCWJ1ZmZlcjo6c3RyKCc8ZW0+LS0+IENcJ2VzdCBhdWpvdXJkXCdodWkgJy4kb2JqZXQuJzwvZW0+PGJyIC8+Jyk7CgkJfQoJCWVsc2UgLy8gbW9pbnMgZGUgemVybwoJCXsKCQkJYnVmZmVyOjpzdHIoJzxlbT4tLT4gTGEgZGF0ZSBlc3QgcGFzcyZlYWN1dGU7ZSBwb3VyICcuJG9iamV0Lic8L2VtPjxiciAvPicpOwoJCX0KCX0KCWVsc2UKCXsKCQlidWZmZXI6OnN0cignPGVtPlBhcyBkZSBkYXRlIGVucmVnaXN0ciZlYWN1dGU7ZTwvZW0+Jyk7Cgl9Cn0KZWxzZQp7CglidWZmZXI6OnN0cignUGFzIGRlIGRhdGUgZW5yZWdpc3RyJmVhY3V0ZTtlJyk7Cn0KYnVmZmVyOjpzdHIoJzwvcD4nKTsKCmJ1ZmZlcjo6c3RyKCc8aDM+Q29uZmlndXJhdGlvbiBkXCd1bmUgbm91dmVsbGUgZGF0ZTwvaDM+Jyk7CgpidWZmZXI6OnN0cignPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+Cgk8ZmllbGRzZXQ+Cgk8bGVnZW5kPkNob2l4IGRlIGxhIGRhdGU8L2xlZ2VuZD4KCURhdGUgOiA8c2VsZWN0IG5hbWU9ImpvdXIiPicpOwoKCWZvcigkaT0xOyRpPD0zMTskaSsrKQoJewoJCWlmKCRpPT0kdG9kYXlfam91cikKCQkJJHNlbGVjdGVkPSIgU0VMRUNURUQiOwoJCWVsc2UKCQkJJHNlbGVjdGVkPSIiOwoJCWJ1ZmZlcjo6c3RyKCc8b3B0aW9uIHZhbHVlPSInLiRpLiciJy4kc2VsZWN0ZWQuJz4nLiRpLic8L29wdGlvbj4nKTsKCX0KCglidWZmZXI6OnN0cignPC9zZWxlY3Q+IDxzZWxlY3QgbmFtZT0ibW9pcyI+Jyk7CglzZXRsb2NhbGUoTENfVElNRSwgImZyIiwgImZyZW5jaCIsICJmcmEiLCAiZnJfRlIiLCAiZnJfRlJAZXVybyIpOwoJZm9yKCRpPTE7JGk8PTEyOyRpKyspCgl7CgkJaWYoJGk9PSR0b2RheV9tb2lzKQoJCQkkc2VsZWN0ZWQ9IiBTRUxFQ1RFRCI7CgkJZWxzZQoJCQkkc2VsZWN0ZWQ9IiI7CgkJYnVmZmVyOjpzdHIoJzxvcHRpb24gdmFsdWU9IicuZGF0ZSgiTSIsIG1rdGltZSgwLCAwLCAwLCAkaSwgMSwgMjAwNikpLiciJy4kc2VsZWN0ZWQuJz4nLnVjZmlyc3Qoc3RyZnRpbWUoIiVCIiwgbWt0aW1lKDAsIDAsIDAsICRpLCAxLCAyMDA2KSkpLic8L29wdGlvbj4nKTsKCX0KCWJ1ZmZlcjo6c3RyKCc8L3NlbGVjdD4gPHNlbGVjdCBuYW1lPSJhbm5lZSI+Jyk7Cglmb3IgKCRpPSR0b2RheV9hbm5lZTskaTw9JHRvZGF5X2FubmVlKzk7JGkrKykKCXsKCQlidWZmZXI6OnN0cignPG9wdGlvbiB2YWx1ZT0iJy4kaS4nIj4nLiRpLic8L29wdGlvbj4nKTsKCX0KCWJ1ZmZlcjo6c3RyKCc8L3NlbGVjdD4gJmFncmF2ZTsgPHNlbGVjdCBuYW1lPSJoZXVyZSI+Jyk7Cglmb3IoJGk9MDskaTw9MjM7JGkrKykKCXsKCQlpZigkaTwxMCkKCQkJJGlfYWZmPSIwIi4kaTsKCQllbHNlCgkJCSRpX2FmZj0kaTsKCQlidWZmZXI6OnN0cignPG9wdGlvbiB2YWx1ZT0iJy4kaV9hZmYuJyI+Jy4kaV9hZmYuJzwvb3B0aW9uPicpOwoJfQoJYnVmZmVyOjpzdHIoJzwvc2VsZWN0PkggPHNlbGVjdCBuYW1lPSJtaW51dGVzIj4nKTsKCWZvcigkaT0wOyRpPD01OTskaSsrKQoJewoJCWlmKCRpPDEwKQoJCQkkaV9hZmY9IjAiLiRpOwoJCWVsc2UKCQkJJGlfYWZmPSRpOwoJCWJ1ZmZlcjo6c3RyKCc8b3B0aW9uIHZhbHVlPSInLiRpX2FmZi4nIj4nLiRpX2FmZi4nPC9vcHRpb24+Jyk7Cgl9CglidWZmZXI6OnN0cignPC9zZWxlY3Q+bW4gPHNlbGVjdCBuYW1lPSJzZWNvbmRlcyI+Jyk7Cglmb3IoJGk9MDskaTw9NTk7JGkrKykKCXsKCQlpZigkaTwxMCkKCQkJJGlfYWZmPSIwIi4kaTsKCQllbHNlCgkJCSRpX2FmZj0kaTsKCQlidWZmZXI6OnN0cignPG9wdGlvbiB2YWx1ZT0iJy4kaV9hZmYuJyI+Jy4kaV9hZmYuJzwvb3B0aW9uPicpOwoJfQoJYnVmZmVyOjpzdHIoJzwvc2VsZWN0PnMnKTsKCWJ1ZmZlcjo6c3RyKCc8YnIgLz48YnIgLz4KCU9iamV0IDogPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im9iamV0IiBzaXplPSIzMCIgLz48YnIgLz48YnIgLz4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5ld2RhdGUiIHZhbHVlPSJWYWxpZGVyIiAvPgoJPC9maWVsZHNldD4KCTxwPicgLiBkY05vbmNlOjpmb3JtKCkgLiAnPC9wPgo8L2Zvcm0+Jyk7CgpidWZmZXI6OnN0cignPGgzPlN1cHByZXNzaW9uIGRlIGxhIGRhdGU8L2gzPicpOwpidWZmZXI6OnN0cignPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+Cgk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdXBwcmRhdGUiIHZhbHVlPSJTdXBwcmltZXIgbGEgZGF0ZSBhY3R1ZWxsZW1lbnQgZW5yZWdpc3RyJmVhY3V0ZTtlIiBvbkNsaWNrPSJpZiAoIWNvbmZpcm0oXCcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGxhIGRhdGUgP1wnKSkgcmV0dXJuIGZhbHNlOyIgLz4KCTxwPicgLiBkY05vbmNlOjpmb3JtKCkgLiAnPC9wPgo8L2Zvcm0+Jyk7CgpidWZmZXI6OnN0cignPGgzPkludCZlYWN1dGU7Z3JhdGlvbiBhdSBibG9nPC9oMz4nKTsKYnVmZmVyOjpzdHIoJzxoND5Qb3VyIHVuIGJsb2MgZW4gc2lkZWJhciwgYWpvdXRleiBjZWNpICZhZ3JhdmU7IHZvdHJlIGZpY2hpZXIgdGVtcGxhdGUucGhwIDo8L2g0PicpOwpidWZmZXI6OnN0cignPHA+Jmx0O2RpdiBpZD0icGF0aWVuY2UiJmd0OzxiciAvPgoJCSZsdDtoMiZndDtJbCByZXN0ZS4uLiZsdDsvaDImZ3Q7PGJyIC8+CgkJJmx0Oz9waHAgcGF0aWVuY2U6OmdldEluZm8oKTsgPyZndDs8YnIvPgoJJmx0Oy9kaXYmZ3Q7PC9wPicpOwpidWZmZXI6OnN0cignPGg0PlBvdXIgdW5lIGludCZlYWN1dGU7Z3JhdGlvbiBzaW1wbGUgJmFncmF2ZTsgbFwnZW5kcm9pdCBkZSB2b3RyZSBjaG9peCA6PC9oND4nKTsKYnVmZmVyOjpzdHIoJzxwPiZsdDs/cGhwIHBhdGllbmNlOjpnZXRJbmZvKCk7ID8mZ3Q7PC9wPicpOwoKPz4K";s:18:"patience/changelog";s:496:"UmVsZWFzZSAwLjQNCg0KUmVwcmlzZSBwYXIgYnJvbC4NCk1pc2UgZW4gY29tcGF0aWJpbGl0w6kgYXZlYyBkYyAxLjIuNyBldCBzdXDDqXJpZXVyLg0KDQpSZWxlYXNlIDAuMw0KDQpQb3NzaWJpbGl0w6kgZGUgc3VwcHJpbWVyIGxhIGRhdGUgZHUgY29tcHRlIGVuIGNvdXJzLiBVbiBtZXNzYWdlICJwYXMgZGUgZGF0ZSBlbiBhdHRlbnRlIiBlcyBhZmZpY2jDqSDDoCBsYSBwbGFjZS4NCg0KUmVsZWFzZSAwLjINCg0KTGVzIG5vbXMgZGVzIG1vaXMgZGFucyBsZSBmb3JtdWxhaXJlIGRlIHNhaXNpZSBkZSBsYSBkYXRlIHNvbnQgYWZmaWNow6lzIGVuIGZyYW7Dp2Fpcy4NCg0KUmVsZWFzZSAwLjENCg0KVmVyc2lvbiBpbml0aWFsZSBkdSBwbHVnLWluDQo="; }}
J'ai l'impression que les lignes "encodées" sont le contenu des fichiers...
Sinon on parle un peu de Phar en ce moment... bref là j'en sais trop rien :)

Système de mise à jour

par BaLiSTiK » 15 oct. 2010, 13:37

Bonjour,

Dans le cadre de mon projet de CMS, je désirerai y mettre un système de mise à jour des fichiers, lorsque ceux-ci sont modifiés pour diverses raisons (Principalement, correction de bug).
Le problème est que je n'ai aucune idée de comment faire ce système. En faisant une recherche rapide sur le net, je suis tombé sur ce topic : http://www.developpez.net/forums/d82719 ... mise-jour/ ou cette personne a le même soucis que moi. Apparemment l'utilisation de SOAP serait recommandée, mais je n'ai aucune idée de comment ça fonctionne.

Pourriez-vous m'éclaircir sur quelles solutions seraient la mieux adaptées, si il y a des tutos qui existent déjà...juste que j'aille dans la bonne direction.

Merci d'avance ;).