Makicatta : redesign de l’interface de l’espace privée

This contribution or plugin is actually being tested. Issues may occur, don’t hesitate to report those in following post’s comments.

Pourquoi ce plugin ?

L’interface privée de SPIP a peu évoluée au niveau visuel. Le but de ce plugin est d’apporter un rafraîchissement à cette interface en se basant sur AdminLTE tout en gardant un maximum de compatibilité avec les plugins. Le but est aussi d’apporter une interface responsive pour permettre aux utilisateurs d’éditer leur site SPIP sur mobile.

Le but de ce plugin n’est pas d’entrer dans une polémique (est-ce que c’est mieux ou pas que le SPIP actuel ? est-ce que c’est la bonne méthode de procéder que de faire cela dans son coin ? est-ce que le fonctionnement est optimal pour tout le monde ? etc.) : je partage juste une interface que mes utilisateurs préfèrent, mais c’est une question purement subjective, et ça ne substitue pas au travail de refonte de l’interface privée.

Statut

Le travail s’est focalisé pour le moment sur le portage vers AdminLTE de l’interface, mais un travail UX plus en profondeur pour bénéficier des nouvelles avancées est prévu dans un second temps.

Aperçu de l’interface privée

Installation et Configuration

Si vous n’avez pas déjà le dépôt externals dans votre SPIP, ajoutez le dépôt https://files.spip.net/externals/archives_externals.xml pour trouver le plugin automatiquement.

Les librairies dont le plugin a besoin sont assez lourdes donc il se peut que vous ayez besoin, en cas de timeout, de revenir sur l’interface privée, cliquer sur « Effacer les actions non exécutées » et relancer l’activation du plugin.

Si jamais tout est cassé, l’interface revient comme avant lorsqu’on désinstalle le plugin.

Plugins supplémentaires activés par Makicatta

  • BigUp : est intégré à la future SPIP 3.3, ça n’est qu’anticiper une évolution très pratique pour l’upload de documents

Plugins recommandés

N’hésitez pas à signaler dans le forum de cet article tel ou tel plugins qui vous semble indispensable pour les rédacteurs, et pourquoi.

Notes aux développeurs de plugins

  • Si vous voulez appliquer un style particulier à certains éléments en fonction de ce plugin, le body avec Makicatta contient la classe makicatta pour vous permettre de styler en CSS ou alors utiliser la balise #PLUGIN{makicatta} pour changer le code HTML ;
  • Pour convertir vos icônes au format FontAwesome, il suffit d’utiliser le pipeline makicatta_icones, par exemple pour affecter l’icône FontAwesome fas fa-file pour remplacer votre icône article-24.png :
    function prefixe_makicatta_icones($icones) {
        $icones['article'] = 'fas fa-file';
        return $icones;
    }

Comment remonter un problème ?

Le moyen le plus simple pour remonter un problème est d’utilisé la fonctionnalité idoine sur GitHub. Cela permet de centraliser et prioriser les retours plus facilement que dans les commentaires de cet article ;)

N’hésitez pas à préciser comment vous avez le problème et notamment quel plugin pose problème. La compatibilité n’ayant pas été testée avec toute la galaxie des plugins, cet élément est important.

S’il s’agit d’une icône manquante, vous pouvez aussi remonter le problème au créateur du plugin qui peut le résoudre (cf. Notes aux développeurs de plugins).

Comment contribuer ?

Vous pouvez par exemple commencer par regarder les problèmes remontés et proposer des correctifs.

De manière générale, le plugin est disponible sur GitHub pour vos pull-requests : cariagency/spip-makicatta. Les éventuels contributeurs réguliers pourront, sur demande, avoir un accès en écriture au repository pour ne plus avoir à faire de pull-request.

Le plugin comporte les squelettes de l’admin réécrits, et une feuille de style SCSS dans le dossier ’css’ pour styler les éléments qui en ont besoin. Le plugin utilise quelques pipelines pour modifier certains aspects, notamment affichage_final_prive qui surcharge des éléments ne pouvant être gérés dans les squelettes efficacement.

Si des plugins existants ont une vraie valeur ajoutée niveau UX, ils pourront même être rajoutés en dépendance de ce plugin pour favoriser une installation “one-click”.

updated on 5 November 2019

Discussion

21 discussions

  • Bonjour
    j’ai un gros soucis avec Makicatta plus exactement avec le plugin scssphp qui est obligatoire
    c’est la première fois que je déploie Makicatta pour un client et je n’avais jamais encore rencontré ce genre de problème
    le serveur est en php 7.1 (8 coeurs 16 Go) et héberge une cinquantaine de site Spip
    j’ai poussé max_execution_time à 120 au lieu de 30 par défaut suite aux premières erreurs

    PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php on line 1011

    à l’appel de l’admin -> 504 Gateway Time-out The server didn’t respond in time.
    et des slow logs ... voir plus bas avant et après maj scssphp
    après vidage manuel des caches j’ai réussi à mettre à jour scssphp v2.1.7 en V2.2
    mais c’est pareil
    avez vous déjà rencontré ce problème ?
    merci pour votre aide
    Natacha Courcelles

    [24-Jan-2020 10:10:27]  [pool cedresbleus] pid 123596
    script_filename = /home/users/cedresbleus/html/www/ecrire/index.php
    [0x00007f3ea342d310] preg_match() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1011
    [0x00007f3ea342d170] match() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:2840
    [0x00007f3ea342d0a0] keyword() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1871
    [0x00007f3ea342c8e0] value() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1618
    [0x00007f3ea342c5c0] expression() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea342c370] genericList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1522
    [0x00007f3ea342c300] spaceList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea342c0b0] genericList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1507
    [0x00007f3ea342bfd0] valueList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:2412
    [0x00007f3ea342bcd0] interpolation() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:2230
    [0x00007f3ea342b7d0] string() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1856
    [0x00007f3ea342b010] value() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1618
    [0x00007f3ea342acf0] expression() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea342aaa0] genericList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1480
    [0x00007f3ea342a900] argValue() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea342a6b0] genericList() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1452
    [0x00007f3ea342a610] argValues() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1979
    [0x00007f3ea342a310] func() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1872
    [0x00007f3ea3429b50] value() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1618
    [0x00007f3ea3429830] expression() /home/users/cedresbleus/html/www/plugins/auto/scssphp/v2.1.7/lib/scssphp/src/Parser.php:1541
     
    [24-Jan-2020 10:16:37]  [pool cedresbleus] pid 124213
    script_filename = /home/users/cedresbleus/html/www/ecrire/index.php
    [0x00007f3ea3426660] preg_match() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1092
    [0x00007f3ea3426040] whitespace() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1077
    [0x00007f3ea3425f10] literal() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1546
    [0x00007f3ea3425cc0] genericList() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1452
    [0x00007f3ea3425c20] argValues() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1979
    [0x00007f3ea3425920] func() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1872
    [0x00007f3ea3425160] value() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1618
    [0x00007f3ea3424e40] expression() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea3424bf0] genericList() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1522
    [0x00007f3ea3424b80] spaceList() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1541
    [0x00007f3ea3424930] genericList() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:1507
    [0x00007f3ea3424850] valueList() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:727
    [0x00007f3ea3422910] parseChunk() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Parser.php:191
    [0x00007f3ea3422540] parse() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:4562
    [0x00007f3ea34222f0] importFile() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:2243
    [0x00007f3ea3421fe0] compileImport() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:2407
    [0x00007f3ea341f5f0] compileChild() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:1919
    [0x00007f3ea341f380] compileChildrenNoReturn() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:4570
    [0x00007f3ea341f130] importFile() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:2243
    [0x00007f3ea341ee20] compileImport() /home/users/cedresbleus/html/www/plugins/scssphp/lib/scssphp/src/Compiler.php:2407

    Reply to this message

  • Bonjour,

    Je découvre et je n’ai qu’un mot BRAVO pour cette heureuse initiative, cela rajeunit l’espace privé !

    Sinon, toute petite suggestion, pourquoi ne pas mettre “rubriques” directement sous “Accueil” dans le menu latéral puisqu’on ne peut pas écrire d’article sans passer en premier lieu par la création d’une rubrique....

    Encore merci et encouragements !

    Cordialement

    Reply to this message

  • Jacques Boistault

    Bonjour,
    Bravo pour ce plugin qui dépoussière l’espace privé. Il était temps !
    Je note un souci d’affichage avec le plugin Massicot : la fenêtre de recadrage d’image est coupée avec MakiCatta si l’image est de grande taille.

    Reply to this message

  • Benoît Labourdette

    Merci, c’est génial !
    Il y a un petit point (un détail, mais d’importance pour moi) : lorsqu’on va chercher un document dans le serveur, le menu de sélection des fichiers dans le serveur est très étroit, ce qui fait que les noms des fichiers ne sont pas lisibles.

    Reply to this message

  • Bonjour
    je viens d’installer et d’utiliser pour la première fois votre plugin (V 0.3.1 SPIP 3.2.5 [24404] ) et ça fait du bien de voir se moderniser l’interface d’administration de Spip ! merci !
    ceci plus l’écran de connexion ça en jette

    juste un truc pas très pratique dans l’accueil
    les liens vers les rubriques sont en mode exec=rubrique_edit
    ce qui oblige à revenir en arrière pour naviguer dans la rubrique

    pour l’instant tout à l’air de fonctionner
    Merci encore pour ce travail
    Natacha

    Reply to this message

  • Hello,

    Lorsque je clique sur “Articles” —> “Ajouter” et que je clique sur enregistrer l’article, j’ai une erreur car ça essaye d’enregistrer l’article à la racine du site, et pas dans une rubrique ! le select id=“id_parent” n’apparait pas...

    je suis en SPIP 3.2.5 avec les plugins suivant :

    API de vérification 1.9.5 - stable
    Une API générique pour vérifier une valeur
    Plugin actif

    Big Upload 1.0.2 - test
    Téléverser des fichiers, quelque soit leur taille
    Plugin actifConfiguration Big Upload

    Centre image 0.10.6 - stable
    Filtres de calcul du centre d’intérêt d’images
    Plugin actif

    Changement de langue 0.3.3 - test
    Extension changement de langue pour Porte-Plume
    Plugin actif

    Citations bien balisées 0.1.5 - stable
    Traitement typographique des citations courtes
    Plugin actif

    Crayons 1.26.19 - stable
    Édition rapide depuis les pages publiques du site
    Plugin actifConfiguration Crayons

    Insérer Modèles 1.3.4 - stable
    Une aide à l’insertion des modèles dans vos textes
    Plugin actifConfiguration Insérer Modèles

    Makicatta 0.3.1 - dev
    Interface d’administration basée sur AdminLTE.
    Plugin actif

    Ortho-Typographie 1.5.0 - stable
    Typographie améliorée et remplacements automatiques.
    Plugin actifConfiguration Ortho-Typographie

    Porte Plume Partout 1.0.10 - test
    Afficher le Porte Plume sur la plupart des champs de saisie
    Plugin actifConfiguration Porte Plume Partout

    SCSS PHP 2.1.5 - stable
    Intégration de l’implémentation php de SCSS http://leafo.github.io/scssphp/. (...)
    Plugin actif

    Saisies pour formulaires 3.28.15 - stable
    Écrire facilement des champs de formulaires.
    Plugin actif

    YAML 1.5.4 - stable
    Un format de fichier simple pour éditer des listes de données
    Plugin actif

    Merci ^^

    Reply to this message

  • 1
    Maximilien Molet

    Bonjour, est - il normal que lorsque j’accède à ce dépôt => https://files.spip.net/externals/archives_externals.xml, la page me dise : “Erreur d’analyse XML : données incompréhensibles après l’élément de document” ?

    Cordialement,

    Maximilien Molet.

    • Oui, c’est tout à fait normal : cette url n’est pas destinée à être consulté via ton navigateur, mais à être copiée/collée dans le champ idoine d’ajout de dépôts de SPIP.

    Reply to this message

  • 5

    Bonjour,

    Dans la version du 22/8, paquet.xml indique les requis suivants :

    necessite nom=“bigup”
    necessite nom=“centre_image”
    necessite nom=“citations_bb”
    necessite nom=“crayons”
    necessite nom=“inserer_modeles”
    necessite nom=“orthotypo”
    necessite nom=“ppp”
    necessite nom=“pp_chgt_lg”

    Ne va-t-on pas finir par alourdir notablement le tout ? Quelles sont les évolutions récentes ou prévues qui nécessitent tout cela ?

    Merci
    Christophe

    • Bonjour Christophe,

      L’idée directrice avec Makicatta, c’est de fournir l’expérience utilisateur la plus agréable possible, et de donner à percevoir la qualité de SPIP.

      Donc :

      • bigup : est intégré à la future 3.3, ça n’est qu’anticiper une évolution très pratique pour l’upload de documents
      • centre_image : est partiellement intégré à spip (via image_recadre) et permet de faire des merveilles côté public (si squelettes prévus pour)
      • citations bien balisées, orthotypo améliorent la typo des textes produits. Ils renforcent donc la suprématie de SPIP dans ce domaine
      • crayons, insérer modèles, porte plume partout, changement de langue sont des outils au service du rédacteur qui améliorent la facilité de saisie et la qualité de saisie

      Si tu en connais d’autres qui iraient dans ce sens, n’hésite pas à les lister en réponse.

    • Je trouve qu’il y a énormément de plugins qui facilitent la prise en main. Mais je pense notamment à ces plugins:
      https://23forward.com/Plugin-SPIP-Insertion-avancee-d-images
      https://23forward.com/Plugin-SPIP-Image-responsive (bien que celui-ci soit aussi en concurrence avec https://contrib.spip.net/Adaptive-Images-4458 )

    • Finalement, et bien que je ne comprenne pas ce qui motive cette demande, la liste des necessite a été dégraissée pour se limiter au strict minimum, à savoir bigup.

      Pour les autres, bien qu’ils améliorent grandement le rendus typographique des sites et la facilité de saisie, ils ne sont que grandement suggérés.

      PierreTux, tu vas pouvoir tester (enfin !).

    • L’effet du dégraissage n’est pas visible en 0.3.1, faut-il attendre la 0.3.2 ?

    • Oui.
      Sachant que le tag 0.3.2 a été posé côté GitHub.
      Donc, ça devrait apparaître dans les externals de SPIP “bientôt”.

    Reply to this message

  • Bonjour,

    j’ai ouvert un ticket de bug ici il y a un mois, mais peut-être n’était-ce pas le bon endroit :)

    Reply to this message

  • Merci pour ce plugin que je teste enfin.
    Je vais néanmoins le désinstaller car les fonctionnalités du plugin Edition directe sont inactives. Quand on édite/crée beaucoup, Edition directe permet de gagner un temps certain.

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom