Fork me on GitHub


 Bas   Précédent   Suivant

(1) 2 3 4 ... 44 »


Re: Re-création de Aquaportail.com en Xoops 2.5.10
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
La nouvelle version d'AquaPortail est en ligne. Au final, voici les actions réalisées:

- passage en PHP 7.3 et SQL 5.7 (sql 8 n'est pas dispo pour le système du serveur dédié).

- mixage du code d'une ancienne version xoops 2.0.1x et de la récente 2.5.10.

- suppression totale de XMF qui est une usine à gaz très gourmande en ressources (adaptation assez légère du code par ailleurs: on peut facilement s'en passer).

- optimisation du code de la 2.5.10 pour les partes reprises (par exemple, inutile de faire un filexist avant un include puisque le include le fait!!! et plein de broutilles comme ça).

- j'ai conservé tous les "vieux" modules qui ont été adaptés à php 7.3 (et d'ores et déjà prévus pour php 7.4 pour le futur système de Preload et la pré-compilation de PHP). Je comptais utiliser NewBB 5, mais c'est devenu une usine à gaz pour le code avec beaucoup trop de fichiers à maintenir: j'ai adapté mon ancienne version.

- suppression du système de cache de Xoops au profit de Memcached (il faut un serveur dédié, ça ne fonctionne pas sur du mutualisé: le cache Xoops est alors très utile!).

Et voici en image, le résultat en vitesse pour la page d'accueil du site (je crois que c'est parlant):

Open in new window

Posté le : 15/04/2019 19:33
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: être avertie par courriel d’un message privé
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Cette solution existait dans une ancienne version du module de messagerie privée (module "mpmanager") avec cette possibilité trouvée dans l'onglet "options".

Malheureusement, cette disponibilité des options semble avoir disparue du nouveau module "mp".

Open in new window

Posté le : 25/03/2019 12:37
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: Re-création de Aquaportail.com en Xoops 2.5.10 avec Newbb 5
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Pour information, j'ai fait un rétro-pédalage dans mon projet. Xoops 2.5.9(10) est très gourmand en nombre de fichiers chargés et cela fait perdre de nombreux avantages de temps de réponse (même avec des SSD performants) gagné par la rapidité de php 7.3 vis-à-vis de php 5.6.

J'ai donc opté pour une solution mi figue-mi raisin: la plupart des parties importantes de Xoops 2.5.10 ont été intégrées dans "mon" Xoops hyper-personnalisé (basé sur une 2.0.1x). Cela concerne notamment le "kernel", la plupart des "includes" et la quasi-totalité des "class". J'ai évité, comme la peste, XMF (c'est lui le gourmand de l'histoire!!!) et les "preloads" (en fait une cata en terme de perfs selon mes tests), surtout qu'un vrai preload arrive avec php 7.4 (cf. https://wiki.php.net/rfc/preload )! Je vais donc patienter quelques mois pour le preload (très intéressant si bien fait sur un serveur dédié -ne sera vraisemblablement pas exploitable sur mutualisé- ).

En revanche, tous les modules restent ceux de "ma" version, avec les adaptations utiles à php 7.3 (ce qui a nécessité pas mal de ré-écriture de code).

Concernant SQL, toutes les tables sont en utf8bm4 (et non bm3 comme dans xoops 2.5) pour coller aux spécifications et recommandations de MySQL 8 (même si bm3 ne gêne pas, bm4 est plus performant avec MySql 8). Le passage à 8 au lieu de MySql 5.6 demande aussi une adaptation de certains noms de colonne, notamment pour le champ 'rank' dans la table 'users'. Si le staff de Xoops 2.5 a choisi de "quoter" le mot réservé 'rank', j'ai opté pour le renommer tout à fait différemment pour anticiper sur les futures versions de MySql (cela ne touche que 5 fichiers à modifier, hors XMF). D'autres mots deviennent plus ou moins réservés ( https://dev.mysql.com/doc/refman/8.0/en/keywords.html ) avec MySql 8 : principalement 'definition' et 'description' (!). Ceux-ci sont employés dans certains modules, je les ai donc modifiés également (pas obligatoire à l'heure actuelle, mais ça va arriver sous peu, autant anticiper).

Concernant les tables encore, j'ai retouché-réorganisé l'ordre des colonnes de plusieurs tables pour coller aux demandes de MySql 8 en "meilleures" performances (grosso-modo, groupage des colonnes INT -et dérivées- avant les colonnes STR -et assimilées-) et pour consommer moins de mémoire (!!! un avantage de mysql 8).

Posté le : 11/03/2019 16:41
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: CMS Xoops et SEO, URL Rewriting, Canonical, …
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Citation :
mage a écrit :
Je comprends ta solution mais je la déconseille, tu parlais de ressource et ce genre de code va prendre des ressources pour rien.

Des ressources, un str_replace??? Si tu veux qu'on se fâche (je blague, hein, c'est juste une expression), voilà ce que consomme Xoops 2.5.10 par rapport à mon vieux Xoops (hyper-modifié il est vrai aussi).

Open in new window
150-180 fichiers au Boot au lieu de 50, oui, là, ça consomme un max de ressources... Et ça se confirme au temps de Boot.

Au passage, ce comparatif permet d'apprécier les performances d'un serveur dédié vis-à-vis d'un mutualisé, mais aussi la performance de php 7 face à php 5 sur une procédure qui n'est que du calcul (quasi-strictement php, l'impact sql est super-faible -cette procédure est rare, mais elle permet d'apprécier la vitesse de php 7).

On s'éloigne du sujet, mais pour en revenir à l'url-rewriting et au seo, plus il y a de fichiers impliqués dans un traitement, plus il devient difficile de formuler des requêtes pour l'url-rewriting (ne serait-ce qu'en termes de compréhension du processus complet).

Posté le : 21/02/2019 18:16
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: CMS Xoops et SEO, URL Rewriting, Canonical, …
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Citation :
mage a écrit :
Il vous manque peut-être un petit tuto pour contribuer sur github? Si c'est le cas je peux écrire un petit article la dessus.

Oui, ce serait bien...

Le problème qui se pose à Xoops pour la ré-écriture des Urls, c'est sa flexibilité. C'est à la fois très bien pour les fonctionnalités et une horreur en même temps pour le référencement car il devient quasiment impossible de générer une url canonique unique, et c'est cela que demande les moteurs de recherche (ça leur économise du temps de crawl en n'analysant qu'une seule page et pas 10 qui sont plus ou moins les mêmes... et quand on sait qu'un site donné dispose d'un "budget" de crawl, et bien, on a vite fait de consommer ce budget avec 10 urls "clonées").

Pour exemple, le forum NewBB : entre les choix dans l'ordre d'affichage (2), le type d'affichage (condensé, flat,... -3- ), les durées diverses (au moins 10), on arrive vite à 20-30 urls accessibles pour exactement le même contenu! Une catastrophe en matière de référencement -duplicate content interne- et de budget crawl.

Pour être franc, je voulais utiliser la dernière version de NewBB 5 pour la mise à jour d'aquaportail. Après une semaine de tests divers (y compris avec l'équipe de modos du site), j'ai rétropédalé pour reprendre ma vieille version 1.8 complètement optimisée pour le référencement (mais aussi pour le temps de réponse!!!). Seulement, cette version optimisée à ma sauce a fait disparaître bon nombre de fonctionnalités et le seul choix qui reste (et uniquement à un membre connecté) est l'ordre d'affichage (les visiteurs "simples", robots inclus, n'ont pas ce choix!). Fini les choix de thème, de durée pour les catégories, et etc. Tout est préfixé! Cela devient d'ailleurs indispensable pour le PageNav (qui contrôle la validité de l'index de départ avec un modulo et qui renvoie éventuellement au bon index de départ via une 301).

La question peut se transférer en : on laisse une hyper-flexibilité ou on fixe définitivement certains paramètres pour pouvoir (étape obligatoire) satisfaire aux principes de l'url-rewriting sans que ça devienne un casse-tête et une usine à gaz dans le htaccess.

@Thierry (et d'autres): une solution simple pour le passage en httpS au lieu de http et qui ne demande aucune prise de tête. Il faut juste ajouter 3 lignes de php dans la classe du fichier theme.php, une fois que le "contents" est chargé et ajouter (juste avant l'affection au template):
$nonhttps = array('http://www.monsite.ext''http://schema.org''rel="nofollow"''aria-hidden>');
$enhttps = array('https://www.monsite.ext''https://schema.org''rel="nofollow noopener"''aria-hidden="true">');
$this->content str_replace($nonhttps$enhttps$this->content);

C'est très efficace (et du coup, on peut en profiter pour quelques autres changements "historiques" ou cosmétiques: j'ai volontairement laissé qq autres modifications envisageables en exemple) et ça évite d'aller trifouiller les tables de données.

Posté le : 19/02/2019 12:37
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: Traduction FR pour les versions xoops 2.5.9 et 2.5.10
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Je travaille avec la version 2.5.10.beta pour refaire AquaPortail et aucun souci notable à indiquer.

Posté le : 07/02/2019 17:06
Transférer la contribution vers d'autres applications Transférer


Re: Re-création de Aquaportail.com en Xoops 2.5.10 avec Newbb 5
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Citation :
mage a écrit :
Tu utilises le système de cache pour augmenter les performances?

J'ai oublié de répondre: non, surtout pas! Je désactive tout. Le système de cache de Xoops est certainement intéressant pour des sites avec un trafic modéré et hébergement-serveur mutualisé, mais il ralentit clairement les pages avec un trafic élevé (trop d'appels sql...). Conclusion, j'utilise memcache pour le chargement du contenu (partie 'content') des pages. Memcache est bien plus efficace. L'habillage n'est pas mis en cache (inutile en fait).

Et je recours à quelques optimisations logiques (mais cela demande de la prog). Par exemple, le bloc 'top 18 des poissons' et 'définitions importantes' qui apparaît à droite dans la partie 'dictionnaire' est un seul bloc "fixe" (qui ne change 'jamais'): inutile de le charger en SQL (ou même memcache), mieux vaut l'intégrer en dur dans le template avec un test "if uri=...".

Posté le : 28/01/2019 21:23
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: Re-création de Aquaportail.com en Xoops 2.5.10 avec Newbb 5
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
@Thierry: merci! Au passage fais gaffe à un éventuel passage à SQL 8: le mot 'rank' (dans la table USERS) est devenu un nom réservé. Ca tombe bien que ce soit quasiment le premier que je vire de cette table (beaucoup trop lourde).

Par rapport à NewBB, le problème que je rencontre concerne les uploads d'images: à un moment donné, je ne comprenais par pourquoi on ne pouvait plus charger la moindre image... conclusion: trop de fichiers dans le répertoire (plus de 10 000... ) et il a fallu modifier les paramètres de Linux pour accepter plus de fichiers: bingo, perte de perfs! Conclusion, je vais écrire un patch pour les nouveaux uploads classés par année en préfixant les images (2019- + nom d'image généré par Xoops) et les répartir en répertoires, le tout sera invisible pour l'utilisateur avec une règle de ré-écriture en htaccess.

Posté le : 28/01/2019 21:02
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re: Re-création de Aquaportail.com en Xoops 2.5.10 avec Newbb 5
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
@thierry: cool! idem, je vire les 2/3 de NewBB (karma, tris, uniquement du flat, sondages, css pour remplacer les images, etc.)! et je change notamment la function xoops_getrank dans include/functions.php pour éviter un appel sql (un simple tableau suffit: on ne change jamais cela une fois fait)... et plein d'autres optimisations comme ça.

Tu as fait comment pour le transfert de codage des bases (collation et colonnes) en UTF8? Je regarde plusieurs scripts, mais je suis indécis.

@mage: merci.

Il y a plein d'appels à SQL qui sont inutiles (comme celui cité pour Thierry), parfois des appels redondants. Certaines requêtes régulières ne correspondent pas à des index de tables: il faut créer ces index! Passage des champs INT en MEDIUM, SMALL, voire TINYINT (le jour où un site aura besoin d'un INT pour les uid d'utilisateurs par exemple, faudra me prévenir... ), etc... Une seule modification de typage ne change rien, mais 50 ou 100, oui! Utilisez du ENUM au lieu d'un TINYINT (pour les yes/no), etc. Penser à définir en UNSIGNED toutes les colonnes numériques du groupe INT (il n'y a qu'un seul cas où il ne faut pas le faire avec le timestamp), etc. Bref, il y a pas mal d'optimisations dans les structures des tables à faire.

Et puis un jour, il faudra penser à virer certains champs de la table USERS qui: 1- ne sont pas conformes avec la RGPD; 2- devenus complètement obsolètes (YIM, etc.). Toujours dans les structures: ordonnés dès le départ les champs par les plus utilisés (par exemple: inutile de déclarer en 2e colonne un champ presque jamais appelé et 15è colonne un champ très exploité).

Tout ceci constitue des pouièmes de nano-secondes, mais à force, on encombre moins le serveur SQL.

Posté le : 28/01/2019 11:53
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer


Re-création de Aquaportail.com en Xoops 2.5.10 avec Newbb 5
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Bonjour à tous,
après 13 ans de loyaux services, je vais passer d'une antique version 2.0.1x de Xoops à une version 2.5.10, en y intégrant Newbb 5.0. Actuellement, la version 2.5.10 n'est pas complète, il faut la patcher (longuement...) avec les "repository" du GitHub de Xoops (cf. https://github.com/XOOPS/XoopsCore25/commits/master : près de 100 modifications de code..., cela a été fastidieux!).

Qu'est-ce qui amène ce changement? Les versions de PHP et MySQL se succèdent et les vieilles versions de Xoops ne sont plus adaptées (trop de code à changer). Le trafic sur le site atteint aussi des chiffres, avec environ 800 000 visiteurs uniques par mois (soit environ 1,5 millions de visites et plus de 3 millions de pages), que le serveur (pourtant un joli système...) commence à avoir du mal à digérer avec des temps de réponses de 300-350 ms (au lieu des 200 ms recommandés par Google). Une solution consisterait donc à changer de serveur pour plus puissant (ce qui sera d'ailleurs fait conjointement à l'évolution de la plate-forme).

Mon site Aquaportail dispose de fonctionnalités uniques (dév. perso) avec un url-rewriting maison (plus aucun lien .php mais tout en .html) pour obtenir des url-canoniques efficaces et vraiment uniques, des modules persos (guide des espèces, dictionnaire très amélioré, etc.). En fait, le seul module officiel Xoops visible est le forum NewBB, mais très retouché (voir complètement revu)!!! Les modules News et Smartsection, encore présents, ne sont (surtout) plus mis en avant (beaucoup des articles ont été transférés dans le dictionnaire) et seront supprimés (je teste Publisher).

Le ralentissement du site actuel vient justement de NewBB, dont, pourtant, beaucoup de fonctionnalités ont été supprimées pour gagner du temps sur les tables de données. Toutefois, en accord avec Mamba (célèbre et éminent membre de la communauté Xoops), comme la version NewBB 5.0 est en Beta, nous allons avancer pour obtenir une 5.0 valable. Je ne ferais "mes" modifications qu'avec une version stable et débuguée. Je vais essayer d'apporter mon obole pour accélérer NewBB, hyper-gourmand en ressources! (en supprimant certaines choses, en optimisant les champs des tables [smallint à la place de int par exemple: dans les index, c'est excellent comme modif!], j'ai quand même divisé le temps de réponse par 5 sur la version actuelle!...).

En résumé, c'est un ré-apprentissage de Xoops. Au passage, je regrette qu'il n'y ait pas de documentation actualisée sur la création de modules : je patauge bien (mais il faut comprendre et apprendre ). Si quelqu'un a un lien sympa à ce sujet, j'ai mes propres modules à modifier pour être compatibles avec Xoops 2.5.x.

Pour l'heure, j'ai déjà intégré mon style CSS responsive (très efficace avec juste 20 ko de code CSS et javascript non obligatoire). Quand le site de test sera suffisamment stable et sécurisé, je donnerais le lien.

Posté le : 27/01/2019 13:26
_________________
Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Transférer la contribution vers d'autres applications Transférer



 Haut
(1) 2 3 4 ... 44 »




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

53 Personne(s) en ligne (39 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 53 | Plus ...