Nous sommes le Mer 24 Avr, 2024 16:53
Supprimer les cookies

Page 1 sur 21, 2 Suivant[WebApps] JoomlaPortable

Support et Développement des applications web portables

Jeu 14 Mai, 2009 21:50

Joomla c'est un des CMS les plus utilisés, très tape à l'œil, extensible et plutôt pensé pour les débutants.
Lien vers la fiche framasoft

Le lien vers JoomlaPortable

Le site qui s'affiche est constitué du contenu par défaut proposé à l'installation pour les débutants qui découvrent. L'inconvénient c'est que tout est en anglais.
Les identifiant/mot de passe par défaut sont "admin/framasoft" comme d'habitude, par contre il fallait spécifier une adresse email c'est "adresse@email.test" à modifier donc...

Ancien message a écrit:J'ai commencé à décortiquer un peu, apparemment, Joomla est bien fait : tout est relatif à l'emplacement où il est installé, il n'y a pas de rappel de l'url du serveur donc pour la gestion des ports web pas de problème.
Pour la connexion à la base de donnée c'est dans configuration.php, ça aussi, pas compliqué, c'est réglé.

J'ai modifié help.fr.html et refait le lanceur avec l'icône officielle.

Le seul problème c'est les fichiers de logs et les fichiers temporaires qui ont une adresse absolue. (chez moi c'est Z:/Desktop/JoomlaPortable/App/joomla...) et là je ne vois pas trop comment retrouver la lettre de la clé ou s'il pourrait accepter un emplacement relatif ou encore si on peut désactiver les fichiers tmp et log
JosephK

Avatar de l’utilisateur
Messages : 2221

Ven 15 Mai, 2009 09:46

Le seul problème c'est les fichiers de logs et les fichiers temporaires qui ont une adresse absolue. (chez moi c'est Z:/Desktop/JoomlaPortable/App/joomla...) et là je ne vois pas trop comment retrouver la lettre de la clé ou s'il pourrait accepter un emplacement relatif ou encore si on peut désactiver les fichiers tmp et log

Je connais mal joomla, mais il n'utilise pas une variable ou une constante pour définir le path, qu'on pourrait alors passer en relatif ?
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Ven 15 Mai, 2009 10:52

Je suis dessus en ce moment et en cherchant un peu avec la version 1.0 il y a un problème du même type sur free (parce qu'ils changent régulièrement les sites de place) qui se règle en passant $_SERVER['document_root'].'\\joomla\\cache'
Mais dans cette version (1.5), le fichier configuration.php génère une classe qui contient toutes les constantes donc un
Code: Tout sélectionner
var $log_path = $_SERVER['document_root'].'\\joomla\\logs'

ne marche pas. Alors il y a forcément une solution simple de ce type là, mais je n'ai jamais utilisé les classes et je ne sais pas comment on peut lui faire passe une variable.

En même temps, est-ce que depuis le framakey webapps manager on a pas accès aux variables d'environnement php ? {root_path_absolute} ça ne reviendrait pas au même ?
JosephK

Avatar de l’utilisateur
Messages : 2221

Ven 15 Mai, 2009 11:54

Bon avec ce script là dans startup.ini j'obtiens quelque chose d'approchant :
Code: Tout sélectionner
[UpdateLogsPath]
Name=Update Logs Path
Description=Update Logs Path with the
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=var \$log_path \= '([a-zA-Z\\.:]*)?logs';
ReplaceValue=var \$log_path \= '{$root_path_absolute}\\App\\\\joomla\\\\logs';

Le résultat obtenu dans le fichier configuration.php est
Code: Tout sélectionner
var $log_path = 'Z:DesktopJoomlaPortable\\App\\joomla\\logs';


Donc le problème qui se pose c'est la transformation de {$root_path_absolute} pour pouvoir convertir les \ qui disparaissent dans configuration.php en \\\\ pour qu'ils soient écris comme \\ , c'est possible de faire ça ?
JosephK

Avatar de l’utilisateur
Messages : 2221

Ven 15 Mai, 2009 12:23

Hum, nativement, non.

Mais ça devrait être possible de feinter avec les regex...

Code: Tout sélectionner
[UpdateLogsPath]
Name=Update Logs Path
Description=Update Logs Path with the
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=var \$log_path \= '([a-zA-Z\\.:]*)?logs';
ReplaceValue=var \$log_path \= '{$root_path_absolute}\\App\\\\joomla\\\\logs';

[UpdateLogsPath2]
Name=Feinte du loup blanc
Description=Remplace les "\" par "\\"
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=[^\\]\\';
ReplaceValue=\\\\';


SearchPattern=[^\\]\\'; = on cherche "\" mais non précédé d'un slash (donc un slash unique)
ReplaceValue=\\\\'; = on remplace ce qu'on a trouvé par un double slash

Bon, je ne suis pas sûr de ma syntaxe pour SearchPattern, mais le principe est là...
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Ven 15 Mai, 2009 13:07

Ça n'ira pas, le problème est là : {$root_path_absolute} vaut "Z:DesktopJoomlaPortable" au lieu de "Z:\Desktop\JoomlaPortable" dès qu'on s'en sert pour remplacer dans le premier script (le \ est interprété comme caractère spécial à conserver sauf qu'il n'y pas de caractère spécial donc il le vire...).
Ce qui fait que la feinte du loup blanc ne feinte rien du tout puisqu'il n'y a déjà plus les \ :)

(d'ailleurs une erreur qui s'est glissée c'était "\\\\App" m'enfin ça change pas grand chose à l'affaire)
JosephK

Avatar de l’utilisateur
Messages : 2221

Ven 15 Mai, 2009 16:58

ha merde, effectivement, c'est donc un bug du WebApps manager, qui devrait en tout logique backslasher lors d'un remplacement.

Cependant, peux-tu me dire ce que donne :

[UpdateLogsPath]
Name=Update Logs Path
Description=Update Logs Path with the
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=var \$log_path \= '([a-zA-Z\\.:]*)?logs';
ReplaceValue=var \$log_path \= '{$r_p_a_backslashes}\\App\\\\joomla\\\\logs';


En effet, {$r_p_a_backslashes} correspond au $root_path_absolute... avec les backslashes :P

Du coup, y aurait pas besoin de la feinte du loup blanc...
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Ven 15 Mai, 2009 18:35

Ça marche mais je me retrouve avec "Z:\Desktop\JoomlaPortable\\App\joomla\\logs" donc finalement il va falloir que je fasse appel au loup blanc... :P
En tout cas, l'astuce est bonne à savoir...
JosephK

Avatar de l’utilisateur
Messages : 2221

Ven 15 Mai, 2009 19:33

Pourquoi n'essaie tu pas :
Code: Tout sélectionner
ReplaceValue=var \$log_path \= '{$r_p_a_backslashes}\\App\\joomla\\logs';

puisque tu veux uniquement des "\" ?

Qq chose m'échappe... Mais bon, tu m'as l'air de savoir ce que tu fais :)
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Ven 15 Mai, 2009 19:45

C'est ce que j'ai fait :) mais la feinte du loup blanc c'est pour afficher les deux \ .
Joomla a besoin des deux \\ dans la configuration (Z:\\Desktop\\JoomlaPortable\\App\\joomla\\logs) donc le script final est celui-là :
Code: Tout sélectionner
[UpdateLogsPath]
Name=Update Logs Path
Description=Update Logs Path
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=var \$log_path \= '([a-zA-Z\\.:]*)?logs';
ReplaceValue=var \$log_path \= '{$r_p_a_backslashes}\\App\\joomla\\logs';

[UpdateTmpPath]
Name=Update Tmp Path
Description=Update Tmp Path
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=var \$tmp_path \= '([a-zA-Z\\.:]*)?tmp';
ReplaceValue=var \$tmp_path \= '{$r_p_a_backslashes}\\App\\joomla\\tmp';

[ReplaceBackslashes]
Name=Feinte du loup blanc
Description=Remplace les "\" par "\\"
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\configuration.php
SearchPattern=\\
ReplaceValue=\\\\

Sinon, j'ai fini. J'ai ajouté quelques scripts "spécifiques" et testé un peu, ça marche...
JosephK

Avatar de l’utilisateur
Messages : 2221

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit