21

Re : Configuration multi-sites en production

hahah!!! Je t'y prends!!! tongue
Bon normalement, je devrais y arriver (ou presque), en tout cas je comprendrais, et c'est le principal!
Merci!

22

Re : Configuration multi-sites en production

Alors premières réactions, j'ai suivi le tuto à la lettre (hormis les chemins et vi tongue)
Et ça fonctionne! yeepee!
Il me reste à essayer de faire ça "pour de vrai"!
Mais je trouve quand même un gros défaut...
Je n'ai pas compté, mais on a du répéter à peu près  4/5 fois les mêmes chemins principaux, à savoir le chemin du framework, et celui de l'app...
Comment ça se fait? y aurait moyen de faire mieux?

Parce que les chemins ne seront pas identiques en dev et en prod... hmm ça fait beaucoup de fichier à modifier à chaque fois!

Ensuite j'ai maintenant au niveau d'une appli l'architecture suivante:

Hoa_Framework_Multi/Site1/
|-- Application/
|   |-- Controller/
|   |-- Model/
|   |-- Public/
|   |-- View/
|-- Data/
|   |-- Bin/
|   |-- Etc/
|   |-- Lost+found/
|   |-- Module/
|   |-- Optional/
|   |-- Temporary/
|   |-- Variable/

ça veut dire que je vais devoir gérer mes noms de domaines, pour qu'ils pointent sur Site1/Application/Public ... ?

Dernière chose (pour ce soir!):
Comment organiser les Hoathis communs à tout les sites et propres à certains?

Bon il est un peu tard, c'est plus très clair dans ma tête, j'en reste là pour l'instant!

23

Re : Configuration multi-sites en production

Hey smile,

Oui je sais, c'est un peu chiant pour ça. En fait, le chemin d'inclusion est obligatoire. Ensuite, reconfigurer le noyau du framework est obligatoire également, dans le fichier d'amorçage, dans le fichier de configuration (mais c'est pas obligatoire, on n'est pas obligé de les utiliser ; pour les désactiver, il suffit de les supprimer ou de les déplacer) et enfin dans le cache du fichier de configuration. Une fois le cache modifié, on pourra tout reconstruire et donc re-générer les caches à l'aide de la commande configuration:cache.

J'ai pensé faire des constantes pour les racines. Je dois y réfléchir.
Sinon j'ai pensé à un script pour créer ou exporter des applications (ça remplacerait juste les 3 chemins quoi, truc bête mais un peu chiant à faire).

Bon, l'avantage c'est qu'on a juste à changer ça et que tout fonctionne bien. C'est déjà pas mal ! Mais oui, tu as raison, en faisant la manipulation hier, je me suis rendu compte que ça pouvait être un peu chiant …


Ensuite, tu as tout à fait raison. Ton serveur doit pointer sur Site1/Application/Public/. Ça évitera de pouvoir remonter d'un niveau et d'aller dans Controller, Model ou View. C'est sécurisé et c'est propre.
Note, tu peux déplacer Public à un autre endroit si tu veux. Il suffira de modifier le chemin d'inclusion (uniquement) et de rédéfinir le chemin de hoa://Application/Public/ (voir HoaCore.json, la branche parameters.protocol.*). Tout est modifiable smile.


Enfin, pour les bibliothèques Hoathis, tu as deux endroits où les placer.
Si tu les places dans Site1/Data/Module/, alors seul Site1 va les voir. Faire un importModule() (jumelle de import()) va chercher prioritairement dans Site1/Data/Module/.
Si jamais la bibliothèque cherchée n'existe pas dans ce dossier, alors on regarde à un autre niveau : /var/hoa/Module/. Ça se fera automatiquement.

On peut donc conclure que les bibliothèques Hoathis placées dans le framework sont visibles par toutes les applications, et que les bibliothèques Hoathis placées dans l'application ne sont visibles que par l'application elle-même.


Ai-je répondu à toutes tes questions smile ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

24

Re : Configuration multi-sites en production

Yep!

Tout à l'air en ordre smile
Les réponses me conviennent!

Pour ce qui est de la manipe chiante des chemins, ben j'attendrais du coup que tu ais trouvés quelque chose wink

pourquoi ne pas avoir deux commandes Hoa:

hoa paths:prod
// upload sur le ftp de prod
hoa paths:dev
// on retorune développer

On renseignerais dans les fichiers de confs les deux chemins à chaques fois, avec un suffix/prefix prod/dev...
Et la commande ne ferais que passer un booléen à true ou false...

Qu'en dis-tu?

25

Re : Configuration multi-sites en production

Sauf que d'être en production ou développement, c'est restreint. On peut avoir des IP failover si un des serveurs tombent et que les serveurs ne soient pas des clones (bon, c'est tordu, je ne sais pas qui ferait ça mais ça peut arriver). Il faudrait donc une notion de contexte.

Sinon, tourne avec un Data de production et un Data de développement (ou un Data/Etc/Configuration/, plus restreint). Tu fais un lien symbolique pour lier le tout, et le tour est joué smile.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

26

Re : Configuration multi-sites en production

alors la commande deviens

//utilise les chemins "dev"
hoa paths:dev

//utilise les chemins "dev1"
hoa paths:dev1

//utilise les chemins "prod"
hoa paths:prod

//utilise les chemins "prod2"
hoa paths:prod2

et que les configurations serait faites comme ça:

"dev.parameters": {
        "root"                           : "path1/Site1",
        "root.framework"                 : "/var/hoa",
        "root.data"                      : "(:%root:)/Data",
        "root.application"               : "(:%root:)/Application",

...

"dev1.parameters": {
        "root"                           : "path2/Site1",
        "root.framework"                 : "/home/hoa",
        "root.data"                      : "(:%root:)/Data",
        "root.application"               : "(:%root:)/Application"

...

"prod.parameters": {
        "root"                           : "path2/Site1",
        "root.framework"                 : "/home/hoa",
        "root.data"                      : "(:%root:)/Data",
        "root.application"               : "(:%root:)/Application"

...

"prod2.parameters": {
        "root"                           : "path2/Site1",
        "root.framework"                 : "/home/hoa",
        "root.data"                      : "(:%root:)/Data",
        "root.application"               : "(:%root:)/Application"

Non?

Sinon en attendant, je n'ai pas trop compris le coup du double Data ... smile

Re : Configuration multi-sites en production

Bonjour,

Je tourne en double Data : Un dossier Data que tu a en local tu le met sur ton ftp.
Modifie les Data du ftp pour le serveur.

Ainsi tu as 2 dossiers Data : dev (local) et prod (serveur)

Pour mettre à jour ton site tu auras juste à remplacer tes dossiers Applications et tes Module (hoathis)

" L'imagination est plus importante que la connaissance. La connaissance est limitée alors que l'imagination englobe le monde entier, stimule le progrès, suscite l'évolution. " - Life in the cloud :: Getting Started with Hoa - Hoa débutant

28

Re : Configuration multi-sites en production

Tout le dossier Data c'est un peu beaucoup peut-être (ça dépend ce que tu mets dedans). Mais c'est l'idée.

Tu as compris avec l'explication d'Écureuil ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »