Illimiter User, articles, . ..

@je-evrard @bazooka07 bonjour,
le sujet à déjà été posté, mais les pluxml's évolue.
j'ai suivi vos conversation : > https://forum.pluxml.org/discussion/5900/9999 .
mais avec pluxml-user, c'est un échec.
c'est pour celà que ce poste est dédié
au Nombre de profil, d'article, ect . . .
Quelle est les changements exact à faire pour Illimité ou du moins faire une limitation à 9 chiffres 999.999.999.
Evitons les débats que j'ai pu voir, avec les tris, les nettoyages, ect . . .

cordialement votre

I'm the Doctor, and I declare this war is over!

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonsoir,
    Il te faut modifier les expressions régulières qui ont été listés et regarder aussi tous les appels à str_pad().
    Quand quelqu'un m'affichera un blog avec plus de 9000 articles, j'aviserai.
    Pour l'instant, il y a la version 6.0 qui me tient plus à cœur. Et c'est un sacré chemin de croix avec "git rebase ..." sur la version officielle

  • thedoctorthedoctor Member
    avril 2021 modifié

    Bonjour bonjour,
    Je suis sûr un concept d'un réseau social.
    C'est pour cela que je demande de m'éclairer sur ce point,
    Donc oui les 999 profil dépassera largement
    Et les articles aussi.
    J'ai vu le 6 . . . A voir
    Amicalement

    I'm the Doctor, and I declare this war is over!

  • Bonjour,

    Peut-être que PluXml n'est pas adapté à ton usage. Tu va pouvoir augmenter le nombre de profils, d'articles mais est-ce que ton concept sera toujours performant ? Est-ce que tu ne sera pas obliger de gonfler tes serveurs plus que nécessaire par rapport à une solution avec une DB ?

    J'ai un string de l'array

  • Bonjour bonjour, @flipflip
    Avec tous les cms que j'ai testé, pluxml est assez simple, léger avec pas mal d'option et plugin.
    Pour mon projet, pluxml est le mieux.
    Seul bémol c'est la limitation des membres et article, Qu'on retrouve pas ailleurs.
    Et oui je serai dans tous les cas, devoir augmenter la vitesse du serveur. Comme tous les autres cms..
    Cordialement.
    The doctor

    I'm the Doctor, and I declare this war is over!

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,

    L'intérêt d'une base de données est de pouvoir utiliser des index.
    En clair tu peux générer, à chaque nouvel article, des listes d'articles triés par membres. Idem pour les catégories et les mot-clés (tags).
    PluXml crée la liste des articles dans la propriété $plxMotor->plxGlob_arts->aFiles à chaque visite sur une page.
    Pour afficher la liste des articles d'un membre, il va falloir filtrer toute la liste des articles à chaque demande.
    Pour moins de 3000 articles, d'après certains essais, le temps pour filtrer n'est pas sensible. Au delà, c'est l'inconnu.
    A l'inverse, avec une base de données ces listes filtrées sont toutes prêtes et n'attendent que les visiteurs.
    Pareil pour les mot-clés et les catégories.

    Tu n'es pas le premier à faire la remarque sur la limitation du nombre d'articles et on peut se demander s'il est pertinent d'avoir une longueur fixe pour les numéros d'articles, d'utilisateurs et de catégories. Une simple limitation à utiliser uniquement des chiffres serait suffisant.

    Mais remplacer 4 par 8 comme tu le proposes dans un de tes précèdents posts n'est pas suffisant et ne correspond pas à ce que j'ai indiqué. Il faut aussi modifier les instructions qui contiennent str_pad et renommer en masse les fichiers articles.

    Modifier toutes les expressions régulières demande du temps, surtout que la plupart sont mal fichues depuis des versions de PluXml.

    Démarre déjà ton projet avec 900 utilisateurs et on verra le temps de réponse de ton serveur.
    S'il est correct, on fera les modifs. Elles ne me font "même pas peur".

  • flipflipflipflip Member
    avril 2021 modifié

    @thedoctor , le problème n'est pas que le nombre d'articles ou de profils que tu pourra créer mais le nombre de visiteurs que tu aura à l'instant T. Si tu a 1 visiteur pas de problème, mais si tu a 100 visiteurs simultanés la charge serveur est loin d'être la même. Pour 1 visiteur les articles seront chargées une fois par page, mais pour 100 visiteurs simultanés, les articles seront chargés 100 fois. Ton serveur a intérêt à être large en RAM et surtout à avoir des disques SSD avec du cache. Il y a peut être moyen d'optimiser ça avec du memcached ou APC mais je ne sais pas si PluXml le gère.

    Attention aussi à vouloir augmenter le nombre d'articles. Chaque articles est un fichier et suivant le FS tu a une limite du nombre de fichier dans un dossier. La limite est haute mais c'est à prendre en considération pour le futur de ton projet.

    C'est toute la différence entre une base de données et des fichiers. Comme te l'a expliqué @bazooka07 les DB utilisent des index pour optimiser les consultations (entre autre). Si ton serveur est correctement dimensionné et la DB bien configuré elle est chargé en mémoire donc tu es en quasi instantané. Alors que PluXml va demander au serveur de lire les noms de fichiers stockés sur le disque pour créer un "index" qui sera rechargé à chaque changement de page, par chaque visiteur et comme l'accès disque, même sur un SSD, est bien plus lent que la RAM je te laisse imaginer les temps de réponses.

    Si tu a ton propre serveur tu peux peut être envisager de monter le répertoire data/ de PluXml en RAM mais attention à la coupure d'électricité. Si le serveur s'arrête tout ce qui est en RAM est perdu donc il faut mettre un mécanisme de synchro entre la RAM et un espace disque (il existe peut être d'autres solutions suivant le FS que tu choisira). En gros tu va te monter une usine à gaz et cela te coûtera bien trop cher en serveur (oublie tout de suite si tu es sur de l'hébergement mutualisé).

    J'adore PluXml mais à un moment il faut se poser la bonne question : est-ce qu'il est taillé pour mon projet ?

    Si c'est pour monter un réseau social, il existe plusieurs solutions dont une que je trouve très simple à installer et à faire fonctionner : HumHub https://www.humhub.com/en

    Donne nous plus d'infos sur ton projet si tu souhaite que l'on te guide.

    J'ai un string de l'array

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Si c'est pour monter un réseau social, il existe Diaspora et il y a moyen de s'installer un pod sur son serveur perso :
    https://diasporafoundation.org/
    https://wiki.diasporafoundation.org/Main_Page
    Et le code source est ouvert.

    Cela évitera de se vendre à Facebook, Twitter, Google et autres GAFAMs. et le serveur sera du bon côté de l'océan Atlantique. Donc pas d'obligation avec le Patriot Act et d'ingérence d'un état étranger !

  • thedoctorthedoctor Member
    avril 2021 modifié

    Bonjour bonjour,
    Je vous remercie à tous les 2 de m'avoir conseillé, éclairé et appris pas mal de choses, qui va m'aider à évolué mon projet.
    Pour les cms je comprend mieux leurs fonctionnement.
    Je vais lancer un site test, pour voir la fluidité de pluxml sur un grand nombre de visiteur simultanément et avec bien sûr, sur un hébergement mutualisé 🤪 . Et je ferai un retour sur un autre post.
    Merci pour les Links des réseaux sociaux,
    Jamais entendu parler comme quoi les cconnaissances de l'un fait les connaissances de l'autre.
    Mon projet sur pluxml:
    Article avec plusieurs template au choix.
    J'ai créé plusieurs template: article-temple, article-temple1, ect. . .
    Remplacer le background via le plugin de @bazooka07 . Mais c'est compliqué.
    Rendre ou non son article visible, via le mot de passe , . .
    Les articles sont pas indexes.
    Et/ou juste là possibilité de faire un beau profil pro ou pour le plaisir avec un éditeur de texte.
    Déjà un petit début du projet, avec d'autre fonctionnalités.
    Et optimisé avec tablette et pc
    Et aussi refaire l'interface admin.
    Donc beaucoup de chose à penser.
    En attendant j'espère que ce post va éclairer les autres concernant 9999 articles 🤣
    Cordialement votre.
    @bazooka07 @flipflip
    A suivre.

    I'm the Doctor, and I declare this war is over!

Connectez-vous ou Inscrivez-vous pour répondre.