Système de mise à jour

Eléphant du PHP | 398 Messages

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 ;).
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 3607 Messages

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:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gcTDwMk5E2B3AAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAHGElEQVR42sWXy28b1xnFfzMccvgaig9RImlZomUJdS1bhgsZUWo4gWAgQNFVF13kHyi6664bLYyi6y668KZogcKFV94HXQSBVRR2ldh52LEtK7AkQhQoSpTI4bw47y6cjsNYjhWnQL713Pudufec850rhGEY8iOWyI9c0vf52LIs9vb22N3dxfM8HMd5vokkIUkSqVSKWq1GsVhEko63tXCcK9B1nYcPH+I4DiMjI+TzeURR5JtLBUHA93263S66rlMul5mZmSEej785gCAIePDgAd1ul8nJSWKxGIZh0Gq16HQ6WJaF7/skEgmy2SyVSoVSqYQsy1iWxf7+PvV6ncnJye8PwLZt7t69S6lUQlEUut0ujx49otfrkclkyOfzjIyMMBgMiMVidDodDMMgDEMmJiY4deoU6XSadrtNOp3m/Pnzxwdg2zYrKyvU63UANjc32dzcZGpqiunpaarVKslkkqdPn3Lr1i2Wl5cRRZH9/X0ajQabm5s4jsPZs2cpFosYhoFlWSwuLr6ehEEQcOfOHer1OkEQsL6+jqZpLC0tcfLkSVzXZTAYYBgGhmFgmiaHh4eIokgymWR+fp7Z2Vk+/fRTnjx5wszMDOVyGcdxePz4MWfPnv1uAJ9//jnFYpEwDGk0Gniex9WrV8lms6iqShiGCIJAIpFgdnaWXPonlEolgiDA9/1IGUtLS9y7d4+NjQ1kWSafz9NsNikUClSr1aN9oN/vc3h4SCaTQVVVer0ei4uLrK2toaoqANlslnK5TKlUolQqEeKSSCRIJpNkMhkKhQKlUon19XXS6TQnT56k0Whg2zYnTpzgiy++IAiCowHcv3+fyclJbNum2Wxy6dIlFEVBkiQsy6JcLpPL5YY0bg30l4klCCiKwvnz53n77beJx+McHh7i+z6KorC1tfUyAMMwImSDwYBMJkOlUkHXdebm5jh9+vSR5uLYgyPZPTk5iSiKxONxLl68SLvdxvd9isUia2trLwNoNpvkcjk8z2N/f5+5uTkGgwHJZJJ8Po8gCEc2cj37tW43MTFBMpmM+CEIAqZpDgNotVqMjIwQBAFhGFIoFPB9n1wu98rmxx0ngiAwMTFBv98nCAJyuRzNZnN4tW0//xNRFEmlUoiiiKIoxGKxoc3CIED75D/4/d7Xc0A+luePj4/jOA5hGJJIJDAMY1iGuv6CTLFYjLW1NUzTJB6Pc+HCBWT560a+z87f/0H3ow8ZX/4DO3YN03RJp4/2fE3T2NvbI5VKoWkagiCQSqVeBhAEQUTCdrvNjRs3CIKARCLBtWvXqFQqz48zHufM9eu43S5/+eAZjfoJ1DsrJH/+FmJaGWq+tbXFzZs3abfbvPPOO4ji8wMPwxBN04YBxONxBEFAFEXq9TrXr1+P7u8o9j/b7fHlyr/56+/eZ7T6M7or/0IIPTJz55CnpgGBer3O8vIyrutiGAarq6vPieu6ZLPZYQCCIEQu57puBOio6nU1/njtb/zpz7+nUs0BUPrFL/EtC+PLB2j375OamSH903MI8QSe56GqKrlcjjAMsSyLXC43TMJcLsdgMMD3/ch4XlX//OATfvPb96PmEXdSKXKX3mL0V79GSCl0P/oQW+1G0lYUBc/z0DSNTCYzPA23t7d58uQJtVoNURTJZDJMTU39oLgVBAG6riNJEh9//DHVapV+v8/e3h7vvfce8Xj8xQlUKhU6nU5056qqRtJ8k/J9H13XEQSB7e1tRkdHcV2Xfr9PMpmMkpL4TRLOzs7S6/VwXRdZlmm1WoRhyOPHj9nZ2Tl2c8dxuHfvHv1+P7p/WZbRdR1VVYdG8pCNzc/PR2HifzNhf38f3/epVqt8O7sEQcDDhw8jabmui67rmKbJ+Pg4rVaLr776ilKphGmaHBwckM/nI0m/BECWZRYWFtjc3Iyi1uHhIWNjY9GRmqaJbds4jkOn0+H27duYpommaRiGged5xGIx8vk8AMViEdu22d3dpdPpsLCwMKSul4z8zJkzlMtl1tfXMQyDeDxOr9d74d2iiOu6WJbF9vY2z549w7ZtwjBEkiRkWebg4ICNjQ1GR0dxHIednR06nQ5LS0uR/L5zkly5coVUKsXTp085ODiIIniz2aTVamFZFpIkUavVuHz5MolEAt/32dvbY319Hdu2KRaL9Pt9tra22N7e5ty5c0em41em4jAMWV1d5bPPPmNmZoaxsTEURUEURTzPw/M8fN9/ke0kiUQigSiKGIZBu93m4OAATdO4evXqK6P5ax8mjUaD1dXViFgjIyNks1lkWSYWi0UPEtu2MU0TVVXRNA1d18nn87z77rsRH974ZeT7Po8ePWJtbQ3DMCKjkiQpsnDLsqJxqygKi4uL1Gq112SJYwL49njd2NhgMBigqiqGYVAoFEgmkxQKBaanp1/7HPtBAP7f9V83Z6ITyqUzUQAAAABJRU5ErkJggg=="; 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 :)

ViPHP
ViPHP | 5462 Messages

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

Eléphant du PHP | 398 Messages

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.
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 5462 Messages

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

Eléphant du PHP | 398 Messages

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)
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 5462 Messages

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

Eléphant du PHP | 398 Messages

15 oct. 2010, 17:02

J'ai trouvé ce lien qui pourrait correspondre : http://www.phpclasses.org/package/4157- ... files.html
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Eléphant du PHP | 314 Messages

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.
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 398 Messages

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
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Eléphant du PHP | 314 Messages

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...
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 398 Messages

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 ?
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Eléphant du PHP | 314 Messages

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)
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 398 Messages

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 :)
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe