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

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

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 ».

Discussion

22 discussions

  • 3

    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
    • Résolu
      un soucis techniques sans rapport

    • Bonjour
      je travaille avec votre plugin depuis 3 / 4 sites que je produis
      pour être honnête l’admin fait vraiment plus « pro » et mes clients sont contents

      sur un nouveau projet qui utilise les mots clés je remarque un bug embarrassant

      dans un article avec plusieurs groupes impossible de supprimer le second mot clé
      si on supprime pas le premier
      impossible d’en ajouter un si il y en a un présent du second groupe
      je le supprime en cochant la case j’enregistre et il revient :-(
      je suis passé en config avancée des mots clés mis les groupes en select le résultat est le même

      je viens d’installer le plugin sur un spip propre et vide ça fait pareil

      les multiples mots clés sont inexploitables
      pas d’erreurs en console ni en php / mysql

      dommage car cette interface est super sympa

      si vous avez une idée pour résoudre ce problème ?
      merci de votre aide
      Natacha

    • Idem sur un SPIP 3.2.8.
      Dans certains articles, impossible d’ajouter un mot clef... pas toujours le même...
      Si ce bug n’est pas réparé, impossible d’utiliser cette nouvelle interface.
      Avez-vous trouvé une piste ?
      A bientôt et merci,
      Julien

    Répondre à ce message

  • Bonjour à tous,

    Merci pour cet excellent plugin mais je me rends compte qu’il est incompatible avec le plugin LESS CSS 1.4.4 https://plugins.spip.net/lesscss.html

    Lorsque les deux sont activés, un script ou une feuille de style ne se charge pas sur l’espace privé et donc le menu ressemble à une succession de texte les uns au-dessus des autres, sans aucun intérêt.

    Une fois LESS CSS désactivé, tout fonctionne parfaitement. Mais LESS CSS est indispensable à mon squelette.

    SPIP 3.2.7 et squelette ScolaSPIP

    Auriez-vous une piste ?

    Merci d’avance.

    Répondre à ce 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

    Répondre à ce 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.

    Répondre à ce 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.

    Répondre à ce 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

    Répondre à ce 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 ^^

    Répondre à ce 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.

    Répondre à ce 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 ».

    Répondre à ce 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 :)

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom