Slash-CMS, un CMS modulable et évolutif pour des développements spécifiques

Posté par . Édité par Florent Zara, Benoît Sibaud et NeoX. Modéré par Xavier Claude. Licence CC by-sa
Tags :
12
13
fév.
2013
PHP

Slash CMS est un système de gestion de contenu (CMS) Open Source sous licence GPL v3. Développé en PHP / MySQL avec les standards POO et MVC, sa structure lui donne l'avantage d'être modulable et évolutif. Il permet de déployer rapidement une administration fonctionnelle pour des développements spécifiques.

Logo Slash CMS

Le projet, bien que très avancé, nécessite encore le développement de beaucoup plus de modules et templates complémentaires. Il continue de grandir avec pour buts et feuille de route :

  • la simplification de la création et la gestion de sites internet et applications web.
  • favoriser et simplifier le travail des développeurs pour des demandes spécifiques en proposant un ensemble de modules et de fonctionnalités prêts à l’emploi, comme le ferait un Framework.

Si vous voulez partager l’aventure, tester, donner votre avis, … n'hésitez pas !

Capture d'écran de Slash-CMS

  • # From scratch... ?

    Posté par (page perso) . Évalué à 1.

    Le CMS a l'air intéressant, mais pourquoi avoir tout fait "from scratch" ?
    Il existe aujourd'hui de très bonnes briques applicatives en PHP (Zend Framework ou Symfony 2, par exemple ; tous deux peuvent être utilisé en tant que frameworks, avec leur architecture MVC propre, ou comme librairies en utilisant juste les briques applicatives nécessaires), qui auraient pu permettre de ne pas avoir à réinventer une énième fois la route.

    • [^] # Re: From scratch... ?

      Posté par . Évalué à 4.

      Parce que… !!!

      Faudra quand même qu’on m’explique pourquoi c’est trop génial d’avoir des multitudes de distributions Linux, mais, quand il s’agit des CMS, frameworks ou autres toolkits, alors là, non c’est pas bien, tous ces gens qui « réinventent la roue ».

      • [^] # Re: From scratch... ?

        Posté par (page perso) . Évalué à -2.

        Merci, tu as été plus rapide que moi :)

      • [^] # Re: From scratch... ?

        Posté par . Évalué à 6.

        Heu… les multitudes distributions de Linux sont justement un très mauvais exemple, c'est rarement fait "from scratch" et même quand ça l'est, c'est tout de même basé justement sur le noyau Linux et l'applicatif n'est pas réinventé.

        Au final les distributions Linux sont surtout du choix de logiciels par défaut, du packaging et du "rebranding".

        • [^] # Re: From scratch... ?

          Posté par (page perso) . Évalué à 4.

          Oui, je suis d'accord avec l'idée de ne pas ré-inventer la roue.
          Disons que par passion, loisir, et plaisir aussi, on peux ce lancer dans ce genre de projet.
          Mais on ne peux pas critiquer l'initiative d'essayer.

          Les multitudes et alternatives, quelques part, permettent aussi d'éviter le monopole.

          • [^] # Re: From scratch... ?

            Posté par . Évalué à 2.

            Pourquoi ne pas respecter les PSR ?
            Mon vim clignote avec phpcs.

            • [^] # Re: From scratch... ?

              Posté par (page perso) . Évalué à 5.

              Et pour les ignorants comme moi (qui ai dû chercher sur le net), les PSR ce sont des règles de bons usages de codage pour PHP (l'équivalent du PEP8 de Python):

              Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

              • [^] # Re: From scratch... ?

                Posté par . Évalué à 1.

                il y en a quand même qui sont pour le moins surprenantes :

                Code MUST use 4 spaces for indenting, not tabs.

                j'avoue que celle là je ne la respecterais jamais, je ferai tout l'inverse !

                Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
                Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.

                mais

                Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body.

                ça c'est pareil … l'intérêt est pour le moins étrange. Le même comportement pour tous les cas est quand même souhaitable …
                la dernière étant pour ma part la plus utile …

                The closing ?> tag MUST be omitted from files containing only PHP.

                je trouve ça totalement incroyable de promouvoir de telles choses !!! Et on appelle ça des bonnes pratiques … on ne doit pas avoir les mêmes!

                The PHP constants true, false, and null MUST be in lower case.

                ça c'est pareil … l'intérêt est franchement douteux.

                pour le reste c'est effectivement assez standard …

                • [^] # Re: From scratch... ?

                  Posté par (page perso) . Évalué à 3.

                  The closing ?> tag MUST be omitted from files containing only PHP.
                  

                  je trouve ça totalement incroyable de promouvoir de telles choses !!! Et on appelle ça des bonnes pratiques … on ne doit pas avoir les mêmes!

                  C'est certainement pour éviter les caractères morts en fin de fichiers, qu'on pourrait retrouver un peu partout sur la page générée. Mais c'est évident que c'est ignoble ! PHP, quoi…

                  • [^] # Re: From scratch... ?

                    Posté par . Évalué à 1.

                    on a aussi le droit de faire des choses bien en PHP même si certaines choses sont réellement moches et mal implémentées … rajouter une couche de saleté dans des recommandations de "bonnes pratiques" c'est juste contre-productif.

                • [^] # Re: From scratch... ?

                  Posté par . Évalué à 3. Dernière modification le 14/02/13 à 09:48.

                  j'avoue que celle là je ne la respecterais jamais, je ferai tout l'inverse !

                  Vu que n'importe quel éditeur décent peux faire ça de façon totalement transparente quel intérêt de vouloir faire à sa façon (quelle soit objectivement ou subjectivement meilleure) ? Ça fait juste chier tout le monde de devoir en permanence adapter ses réglages à chaque projet.

                  Y'a un moment le tripotage de nouille des développeurs sur la "beauté" ne vaut pas ce que ça implique à long terme.

                  Et puis bon tu fais du PHP quoi, si y'a vraiment quelque chose qui te choque dans ce que tu énonces tu aurais du fuir depuis très très longtemps…

                  • [^] # Re: From scratch... ?

                    Posté par (page perso) . Évalué à 2.

                    Y'a un moment le tripotage de nouille des développeurs sur la "beauté" ne vaut pas ce que ça implique à long terme.

                    Hum, lorsque tu as du code à relire, tu apprécies une certaine homogénéité qui te permet de savoir a-priori comment les choses sont organisées et présentées. Ça te fais gagner pas mal de temps et ça te permet de te concentrer sur les choses plus essentielles.

                    Comme il est dit ici¹:

                    Beautiful is better than ugly.

                    et

                    Readability counts.

                    ¹ Dont je conseillerais la traduction en français par R.Cordeau.

                    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

                    • [^] # Re: From scratch... ?

                      Posté par . Évalué à 2.

                      Hum, lorsque tu as du code à relire, tu apprécies une certaine homogénéité qui te permet de savoir a-priori comment les choses sont organisées et présentées. Ça te fais gagner pas mal de temps et ça te permet de te concentrer sur les choses plus essentielles.

                      Et justement sauf à travailler toute ta vie sur une ile déserte sur un projet qui n'intéresse personne tu passes ton temps à:
                      - Travailler sur différents projets fait par différentes personnes
                      - Fusionner, intégrer, mélanger différents projets fait par différentes personnes
                      - Reprendre du travail fait par différentes personnes

                      Tes arguments expliquent justement pourquoi il faut avoir une excellente raison pour différer coding standard usuels de ton langage même si ils sont pas parfait. Ta beauté d'avoir des tabs à la place de 4 espaces on peut la comprendre. Mais elle va casser les couilles pour toujours à tout le monde qui va devoir à lire, modifier ou intégrer ton code. Est ce que ca en vaut la peine ? Définitivement non.

                      • [^] # Re: From scratch... ?

                        Posté par (page perso) . Évalué à 2.

                        Je pense qu'on est sur la même ligne, suivre les règles pour avoir un code homogène (c'est ton "tripotage de nouille des développeurs sur la beauté" qui m'a induit en erreur, pour moi le code bien présenté suivant les règles est "beau" sans que ce soit tripotage)

                        Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

                        • [^] # Re: From scratch... ?

                          Posté par . Évalué à 3.

                          On est d'accord. Il faut prendre ma phrase dans son contexte. Je répondais spécifiquement à:

                          Code MUST use 4 spaces for indenting, not tabs.
                          

                          j'avoue que celle là je ne la respecterais jamais, je ferai tout l'inverse !

                          • [^] # Re: From scratch... ?

                            Posté par . Évalué à 1.

                            L'intérêt d'avoir une tabulation à la place d'un nombre d'espace est tout simple :

                            Ils préconisent 4 … moi je préfère 3 … un autre peut-être 2 … un quatrième 5 …

                            Une tabulation, tu règles dans ton outil d'édition préféré l'espace associé à ta tabulation et tu as la taille que TU souhaites sans pour autant passer tout ton code comme modifié dans ton outil de gestion de version tout simplement pour mettre le formatage selon ton point de vue … indenter à coût d'espace c'est juste abjecte.

                            Maintenant tu as le droit de me convaincre que c'est bien, mais j'attends des arguments solides.

                            • [^] # Re: From scratch... ?

                              Posté par . Évalué à 2.

                              Tu n'as rien compris.

                              Je ne te dis pas que c'est mieux, je te dis que tu peux vivre avec ce petit inconvénient (bouhh j'ai 4 au lieu de 2 ou la parenthèse pas sur la bonne ligne) et que le coût des petites transgressions pour faire mieux est que c'est galère à long terme. Pour les gens qui bossent à 2 sur du code jetable ou qui n'est pas maintenu c'est certainement pas évident. Pour les autres c'est toujours relou.

                              Plus tout le monde fait pareil, plus c'est simple même si c'est pas toujours l'optimum.

                              • [^] # Re: From scratch... ?

                                Posté par . Évalué à -1.

                                donc tu m'expliques que c'est pas top, que ma proposition règle le problème mais que c'est pas grave d'avoir une mauvaise recommandation …

                                • [^] # Re: From scratch... ?

                                  Posté par . Évalué à 5.

                                  Tu as vraiment des problèmes de lecture ou de compréhension.

                                  1. Non je ne dis pas que ce n'est pas top. Tab VS Space n'est pas le sujet et je argumenterais pas la dessus.
                                  2. Non je ne dis pas que ta proposition règle le problème
                                  3. Oui je dis que sauf excellente raison il vaut suivre une mauvaise recommandation (l'importance de ce genre de choix est fondamentale…) que de faire son "_moi j'ai raison_" car la consistance à plus de valeur que . Non ta satisfaction à pouvoir mettre des tabs à 2 ou 16 ne sont pas une excellente raison.

                                  Le code sur lequel tu bosses il va finir par passer dans les mains de 100 mecs comme toi qui préfèrent tel ou tel choix. Il va se faire merger et aggréger dans tout les sens. Au final soit ta codebase c'est le bronx et l'enfer à gérer, soit tu finis reformater et tu vas pleurer sur les merges et les hotfixes pendant des années.

                                  Il n'y a pas de recette miracle (les styles divergent toujours etc.) mais se conformer à des règles simples vaut mieux que le "MOI JE SAIS". Tout le monde sait… mais personne n'est d'accord. Alors quand dans un langage tu as une convention reconnue tu la respecte…

                                  • [^] # Re: From scratch... ?

                                    Posté par . Évalué à 0.

                                    Il n'y a pas de recette miracle (les styles divergent toujours etc.) mais se conformer à des règles simples vaut mieux que le "MOI JE SAIS". Tout le monde sait… mais personne n'est d'accord. Alors quand dans un langage tu as une convention reconnue tu la respecte…

                                    personnellement, je ne comprends pas l'intérêt de suivre une règle simple qui est juste bête. Ce n'est pas du moi je sais, c'est juste de la prise de recul sur un problème qui peut être simplement résolu par une configuration présente dans tous les éditeurs de codes tout en respectant les personnalisations de chacun.

                                    mais bon … apparemment il vaut mieux suivre comme un mouton …

                • [^] # Re: From scratch... ?

                  Posté par (page perso) . Évalué à 2.

                  ça c'est pareil … l'intérêt est pour le moins étrange. Le même comportement pour tous les cas est quand même souhaitable …

                  C'est il me semble la meme regle dans Linux. Ceci dit je ne vois pas l'interet des acolades en fin de ligne, meme pour les structures de controle.

                • [^] # Re: From scratch... ?

                  Posté par . Évalué à 2.

                  1. >> Code MUST use 4 spaces for indenting, not tabs.

                  j'avoue que celle là je ne la respecterais jamais, je ferai tout l'inverse !

                  Tu peux rouler à gauche si l'envie t'en dis aussi…
                  Personnellement je préférerai les tabs, en PHP, je respecte la PSR, en nodejs je respecte le npm coding style (2 spaces), python PEP8 (4 spaces) etc…

                  The closing ?> tag MUST be omitted from files containing only PHP.

                  je trouve ça totalement incroyable de promouvoir de telles choses !!! Et on appelle ça des bonnes pratiques … on ne doit pas avoir les mêmes!
                  Je pense que c'est pour éviter de polluer internet avec des problèmes de session_start() …

                  Moi ça me lourde sérieusement que certains ne respectent pas les "normes" en place.
                  Bon pour rire, je vais ajouter 42 à tous les codes de retour http sur mes api, non ?

              • [^] # Re: From scratch... ?

                Posté par (page perso) . Évalué à 2.

                J'ai trouvé un article plutôt sympa sur le sujet : http://www.geek-directeur-technique.com/2012/06/19/normes-php-psr-2-aie-rate/

      • [^] # Re: From scratch... ?

        Posté par (page perso) . Évalué à 1.

        Je ne suis pas spécialement pro-dogme, mais utiliser des briques de base comme celles de Symfony 2 (ou une autre technologie "reconnue") permet notamment à un éventuel contributeur de se sentir rapidement à l'aise dans le code (il aura très probablement déjà travaillé avec ces classes), au lieu de devoir apprendre une énième couche d'abstraction de fichiers et tutti quanti.
        Mais chacun est libre de faire son propre code, je ne critique pas - je voulais juste savoir ce qui avait motivé ce choix :-)
         
        Par contre, comme le souligne Nasga, là ou c'est plus embêtant à mon humble avis c'est qu'effectivement vos classes ne respectent pas les PSR. On est pas obligé de respecter ces normes mais elles sont tout de même en train de se généraliser dans le monde du développement PHP, et ne sont pas dénuées de bon sens.
        Il est tout de même plus facile d'associer du code tiers au sien si les deux ensembles de code suivent les mêmes normes, notamment pour tout ce qui concerne le chargement des classes ?
         
        Bon courage à vous pour la suite et bonne chance à Slash-CMS, en tout cas ! Abondance de code libre ne peut nuire ;-)

  • # Site privée ?

    Posté par (page perso) . Évalué à 1.

    Yop,

    Projet intéressant.
    Vu que la doc c'est pas encore ça :
    Y-a-t-il possibilité de rendre un site complétement privée? (via identification)
    Gestion de groupes rôles … ?

    Merci

    Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

    • [^] # Re: Site privée ?

      Posté par (page perso) . Évalué à 1.

      "vu que la doc c'est pas encore ça"
      Effectivement c'est un gros problème.

      "y-a-t-il possibilité de rendre un site complétement privée? (via identification)"
      De base non, mais en dupliquant le module de sécurisation de l'administration pour le front cela doit ce faire sans trop de problème.

      "Gestion de groupes rôles … ?"
      Prévue, mais pas encore implémentée.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.