deblan.io-gemini/blog/posts/614.gmi
2022-08-18 13:36:51 +02:00

17 lines
6.5 KiB
Plaintext

# Nouveautés dans Murph v1.12
* 2022-03-26 17:50:00
* Développement, Logiciel libre, Projets personnels
{"time":1656000735581,"blocks":[{"id":"JoFaUbo8qC","type":"paragraph","data":{"text":"<a href="
=> https://doc.murph-project.org%5C%22%3EMurph
</a> est un <strong>framework open-source</strong> pour construire des CMS. Il est développé à l'aide de <strong>Symfony</strong> et permet de gérer des sites web avec <strong>plusieurs noms de domaines et en plusieurs langues</strong>."}},{"id":"oALHcV3c0I","type":"paragraph","data":{"text":"Voici un aperçu des changements depuis <a href="
=> https://www.deblan.io/post/612/nouveautes-dans-murph-v1-7%5C%22%3Ela
version 1.7</a> pour laquelle j'avais réalisé un article."}},{"id":"Z9nQVK2Bo5","type":"link","data":{"link":"
=> https://gitnet.fr/murph%22,%22meta%22:%7B%22title%22:%22murph%22,%22description%22:%22Murph
is an open-source CMF built on top of Symfony that helps you to build your own CMS. \r\n🔸 Documentation ➝
=> https://doc.murph-project.org/
\r\n🔹 Support ➝
=> https://matrix.to/#/#murph-project:neutralnetwork.org?via=neutralnetwork.org%22,%22image%22:%7B%22url%22:%22https://gitnet.fr/avatars/21e80a97805d9129230f13ef8d87aa3b%22%7D%7D%7D%7D,%7B%22id%22:%22OenmuyTwCb%22,%22type%22:%22header%22,%22data%22:%7B%22text%22:%22D%C3%A9pendances%22,%22level%22:3%7D%7D,%7B%22id%22:%22eTQJdrlFxg%22,%22type%22:%22paragraph%22,%22data%22:%7B%22text%22:%22Dans
un premier temps et c'est sans doute le changement le plus important, le <strong>core</strong> du projet a été migré vers un dépôt dédié. Par conséquent, le moteur de <strong>Murph</strong> peut être installée comme une dépendance classique via composer."}},{"id":"GUd89AAlQt","type":"paragraph","data":{"text":"Ainsi, le fichier <code class="inline-code">composer.json</code> du projet <code class="inline-code">murph/murph-skeleton</code> a été réduit au strict nécessaire et permet de mettre à jour facilement Murph."}},{"id":"CuzrZ39k5n","type":"paragraph","data":{"text":"Dans cette même démarche à faciliter le développement et surtout la mise à jour des dépendances javascript, toutes les dépendances du fichiers <code class="inline-code">package.json</code> ont été migré vers un package node dédié."}},{"id":"-GWIFyIJY3","type":"list","data":{"style":"unordered","items":["Projet squelette de Murph :&nbsp; <a href="https://gitnet.fr/murph/murph-skeleton">murph/murph-skeleton</a>","Core de Murph :&nbsp; <a href="https://gitnet.fr/murph/murph-core">murph/murph-core</a>","Projet de dépendances NPM :&nbsp; <a href="https://gitnet.fr/murph/murph-npm">murph/murph-npm</a>"]}},{"id":"gtk1INFxJa","type":"paragraph","data":{"text":"À la suite de ces changements, mettre à jour une instance de Murph est très simple :"}},{"id":"YLgSCxvnWc","type":"code","data":{"code":"composer update\nyarn upgrade\nmake build"}},{"id":"N_tqOA05Om","type":"header","data":{"text":"Nouvelles fonctionnalités et correctifs","level":3}},{"id":"Tw0odSpRG6","type":"paragraph","data":{"text":"Globalement, pas mal de petites corrections ont été apportées. Voici les fonctionnalités implémentées depuis la v1.7.<br>"}},{"id":"hJs1u03uKi","type":"paragraph","data":{"text":"Le gestionnaire de fichiers permet à présent de renommer un fichier. Seule l'extension du fichier ne peut pas être modifiée pour des questions de sécurité. <br>Son affichage est également mieux géré dans le cas où plusieurs modales sont affichées (ajout d'un flou sur les modales du dessus).<br>"}},{"id":"C2G0DU_XCR","type":"paragraph","data":{"text":"Il est possible d'indiquer des rôles dans la configuration de Murph afin de définir des permissions sur des éléments d'un menu. Ainsi, une page pourra être restreinte à des utilisateur⋅trices spécifiques. "}},{"id":"P8Sl1LhtVb","type":"paragraph","data":{"text":"Afin de réaliser des liens dans un template Twig vers des éléments de la navigation, quatre nouvelles fonctions twig ont été ajoutées : <code class="inline-code">code_url</code>, <code class="inline-code">code_path</code>. Pour gérer les cas d'exceptions, vous pouvez également utiliser : <code class="inline-code">safe_code_url</code> et <code class="inline-code">safe_code_path</code>.<br>Ces fonctions prennent en paramètres le code du menu et le code du nœud. Le moteur va détecter la navigation courante pour générer le lien. Cette fonctionnalité est très pratique quand plusieurs navigations partagent une arborescence commune et qu'on souhaite faciliter le développement des templates.&nbsp; "}},{"id":"aGqbJw511O","type":"paragraph","data":{"text":"Un nouveau maker symfony a été créé pour générer facilement une nouvelle page. Au même titre que pour générer une entité en ligne de commande, vous pourrez créer et paramétrer une page avec <code class="inline-code">php bin/console make:page</code>.<br>"}},{"id":"M52zR4OF9M","type":"paragraph","data":{"text":"L'éditeur EditorJS a été ajouté dans Murph et ajoute approche complémentaire à TinyMce pour rédiger du contenu. Comme cet éditeur s'appuie sur l'idée de blocs, un nouvelle fonction twig permet de rendre un contenu édité avec EditorJS : <code class="inline-code">editorjs_to_html</code>. Cette fonction peut prendre un tableau de blocs autorisés à être rendus. Par ailleurs, bien que des vues par défaut existent pour rendre chaque bloc, vous pourrez paramétrer des vues spécifiques pour vos blocs. Cet article est d'ailleurs rédigé avec EditorJS."}},{"id":"K_n2foA7GY","type":"paragraph","data":{"text":"La gestion du menu de l'administration de Murph a été simplifiée par l'utilisation de vues pour créer des sections et des éléments de menu."}},{"id":"YFR7wNy0Zs","type":"paragraph","data":{"text":"Enfin, la version de Murph a été ajoutée dans l'interface d'administration en haut à droite.<br>"}},{"id":"myBZqg83XO","type":"header","data":{"text":"Installation de Murph","level":3}},{"id":"wxvMNlX9u6","type":"paragraph","data":{"text":"Pour installer et Murph et commencer à développer son CMS, le processus est ultra simple :"}},{"id":"nVJNg1MlcZ","type":"code","data":{"code":"composer create-project murph/murph-skeleton MonProjet # Installation du projet\ncd MonProjet\ncp .env .env.local\nvim .env.local \nmake build # On génère les données du CMF (base de données, assets, etc.)\nphp bin/console murph:user:create # Création d'un compte\nsymfony server:start -d # On lance le serveur web de dev"}},{"id":"8lT7luaofd","type":"paragraph","data":{"text":"J'espère que ça vous plaira ☺️"}}],"version":"2.24.3"}