HOME > RSS > BLOGS France > [SPIP - contrib]

R S S : [SPIP - contrib]


PageRank : 3 %

VoteRank :
(0 - 0 vote)





tagsTags: , , , , ,


Français - French

RSS FEED READER



Pour un fonctionnement communautaire efficace dans la communauté SPIP

24 May, by chankalan, Cyril Marion, cy_altern, Frash, ladnet, nat33, Pierrox, RastaPopoulos, RealET, tcharlss, Teddy Payet, tofulm[ —]

Où l'on propose de tester des nouvelles façons de prendre des décisions et d'avancer collectivement sur des projets SPIP, de manière transparente, en impliquant la communauté, et en étant plus accueillants pour les nouvelles personnes. Tout ça dans la tendresse.

Durant le week-end SPIP à Toulouse en mai 2017, une présentation a été faite autour de l'organisation de la communauté, des prises de décision, des chantiers SPIP bloqués, et des pistes de solutions ont été proposées.
https://contrib.spip.net/Presentation-Organisation-et-decisions-dans-une

Suite à cela, nous avons constitué un groupe de personnes intéressées pour réfléchir aux pistes évoquées : les décrire plus en détail, les améliorer, en proposer d'autres…

Nos objectifs

  • Débloquer certains chantiers qui ne bougent plus de longue date, entre autre par difficulté de prise de décision.
  • Mieux accueillir les nouvelles personnes en décrivant les valeurs de la communauté ET son fonctionnement plus concret, de manière explicite et publique.

Notre groupe cherche à approfondir les pistes évoquées durant la présentation et le débat qui a suivi. En complétant possiblement avec de nouvelles idées.

Mandat impératif

Pour certains sujets, parce qu'ils sont bloqués depuis longtemps, longs, ou complexes, nous proposons la constitution de groupes de travail mandatés en amont pour une tâche précise. C'est une manière de travailler et de décider supplémentaire, qui n'a pas vocation à s'appliquer à tous les sujets.

Cela signifie que les personnes de ce groupe auront autorité sur ce sujet pendant un certain temps, et que leur production sera vraiment utilisée à la fin. C'est en effet la différence majeure, puisque n'importe quel groupe peut déjà avancer sur un sujet, faire un plugin de test ou des maquettes, mais sans aucune garantie que ce sera intégré officiellement (dans le noyau, ou dans le site officiel, etc).

Il s'agit d'une autorité de compétence, circonscrite à un sujet et dans le temps : « je reconnais l'autorité du cordonnier à savoir fabriquer des chaussures ».

Le but est d'augmenter légèrement le niveau de formalisme et de transparence pour nos prises de décision sur des gros sujets, tout en restant souple. Rien de bureaucratique, actuellement on part vraiment de pas grand chose, question formalisme et transparence.

En contrepartie de cette responsabilité, un groupe mandaté de la sorte aurait quelques obligations :

  • Diversité des personnes le composant
  • Disponibilité dans le temps des personnes qui s'engagent dans ce groupe
  • Transparence sur l'avancement du sujet
  • Consultation régulière de l'avis de la communauté quand il y a certains choix importants à faire

Des outils pour débattre et décider ensemble

Pour avancer sur ces sujets, il nous faut pouvoir débattre, lancer des propositions, parfois faire des votes, et isoler les chantiers.

Au regard des expériences passées, nous sommes arrivés à la conclusion que les listes de discussion emails n'étaient pas le moyen le plus adapté pour débattre et prendre des grandes décisions de manière transparente et ouverte. C'est assez confidentiel, très tourné vers les discussions techniques, avec un archivage et une recherche dans le passé difficile, et en plus ce n'est pas très engageant pour d'autres profils que les devs.

L'idée était donc de trouver un outil qui a une interface sur le web, accessible à tout le monde. Une proposition était de se tourner vers les outils dédiés à la démocratie en ligne. Et justement Framasoft en propose désormais un : Framavox, une instance de Loomio.

Nous y avons créé un groupe « SPIP » ouvert à tout le monde.

Cet outil permet d'isoler les chantiers/groupes de travail, fournit des fils de discussions, différents systèmes de consultation : sondages, propositions, vote à points, etc.

Chaque groupe de travail pourra être matérialisé par un sous-groupe accessible en lecture à tout le monde.

Une charte pour accueillir les gens et décrire la communauté

Actuellement, il n'existe aucune description explicite et commune à l'ensemble de la communauté, qui rappelle les valeurs d'origine du projet et comment nous fonctionnons.

Ce type de document existe mais uniquement appliqué à SPIP-Zone, les gens qui contribuent au dépôt SVN, donc essentiellement des devs.

Un texte de ce genre doit servir à accueillir les nouvelles personnes en rendant publiques et explicites nos manières de faire, et permet à celles déjà là de s'y référer lorsqu'il y a des problèmes. Il doit contenir à la fois certaines valeurs (sur le sexisme, sur l'argent, etc) mais aussi décrire des mécanismes pour tenter de résoudre les conflits, lorsqu'il n'y a pas consensus.

Nous proposons de partir de la charte de SPIP-Zone qui existe déjà, en l'étendant à l'ensemble de la communauté, et en l'augmentant sur certains points.

Tu es invité⋅e !

Nous avons entamé cette réflexion et commençons à tester des outils, mais tout n'est pas figé dans le marbre, il reste des zones de flou et des questions à résoudre.

Tout le monde est invité à tester l'outil Framavox en rejoignant le groupe SPIP, ne serait-ce que pour y suivre l'activité. L'inscription est ouverte à tou⋅te⋅s et ne requiert pas de validation.

Une fois membre du groupe SPIP, tu pourras demander à participer aux différents sous-groupes qui t'intéressent, notamment celui consacré à la rédaction de la charte/mode d'emploi.

Où l'on propose de tester des nouvelles façons de prendre des décisions et d'avancer collectivement sur des projets SPIP, de manière transparente, en impliquant la communauté, et en étant plus accueillants pour les nouvelles personnes. Tout ça dans la tendresse.
Durant le week-end SPIP à Toulouse en mai 2017, une présentation a été faite autour de l'organisation de la communauté, des prises de décision, des chantiers SPIP bloqués, et des pistes de solutions ont été proposées. https://contrib.spip.net/Presentation-Organisation-et-decisions-dans-une Suite à cela, nous avons constitué un groupe de personnes intéressées pour réfléchir aux pistes évoquées : les décrire plus en détail, les améliorer, en proposer d'autres… {{{Nos objectifs}}} -*Débloquer certains chantiers qui ne bougent plus de longue date, entre autre par difficulté de prise de décision. -*Mieux accueillir les nouvelles personnes en décrivant les valeurs de la communauté ET son fonctionnement plus concret, de manière explicite et publique. Notre groupe cherche à approfondir les pistes évoquées durant la présentation et le débat qui a suivi. En complétant possiblement avec de nouvelles idées. {{{[Mandat impératif->https://fr.wikipedia.org/wiki/Mandat_imp%C3%A9ratif]}}} Pour certains sujets, parce qu'ils sont bloqués depuis longtemps, longs, ou complexes, nous proposons la constitution de groupes de travail {{mandatés en amont}} pour une tâche précise. C'est une manière de travailler et de décider {{supplémentaire}}, qui n'a pas vocation à s'appliquer à tous les sujets. Cela signifie que les personnes de ce groupe auront autorité sur ce sujet pendant un certain temps, et que leur production {{sera vraiment utilisée}} à la fin. C'est en effet la différence majeure, puisque n'importe quel groupe peut déjà avancer sur un sujet, faire un plugin de test ou des maquettes, mais sans aucune garantie que ce sera intégré officiellement (dans le noyau, ou dans le site officiel, etc). Il s'agit d'une autorité de compétence, circonscrite à un sujet et dans le temps : je reconnais l'autorité du cordonnier à savoir fabriquer des chaussures. Le but est d'{{augmenter légèrement le niveau de formalisme et de transparence}} pour nos prises de décision sur des gros sujets, tout en restant souple. Rien de bureaucratique, actuellement on part vraiment de pas grand chose, question formalisme et transparence. En contrepartie de cette responsabilité, un groupe mandaté de la sorte aurait quelques obligations : -* Diversité des personnes le composant -* Disponibilité dans le temps des personnes qui s'engagent dans ce groupe -* Transparence sur l'avancement du sujet -* Consultation régulière de l'avis de la communauté quand il y a certains choix importants à faire {{{Des outils pour débattre et décider ensemble}}} Pour avancer sur ces sujets, il nous faut pouvoir débattre, lancer des propositions, parfois faire des votes, et isoler les chantiers. Au regard des expériences passées, nous sommes arrivés à la conclusion que les listes de discussion emails n'étaient pas le moyen le plus adapté pour débattre et prendre des grandes décisions de manière transparente et ouverte. C'est assez confidentiel, très tourné vers les discussions techniques, avec un archivage et une recherche dans le passé difficile, et en plus ce n'est pas très engageant pour d'autres profils que les devs. L'idée était donc de trouver un outil qui a une interface sur le web, accessible à tout le monde. Une proposition était de se tourner vers les outils dédiés à la démocratie en ligne. Et justement [Framasoft->https://framasoft.net] en propose désormais un : [Framavox->https://framavox.org], une instance de [Loomio->https://www.loomio.org/]. Nous y avons créé [un groupe « SPIP » ouvert à tout le monde->https://framavox.org/invitations/53e5743247da3dd2ebe7]. Cet outil permet d'isoler les chantiers/groupes de travail, fournit des fils de discussions, différents systèmes de consultation : sondages, propositions, vote à points, etc. Chaque groupe de travail pourra être matérialisé par un sous-groupe accessible en lecture à tout le monde. {{{Une charte pour accueillir les gens et décrire la communauté}}} Actuellement, il n'existe aucune description explicite et commune à l'ensemble de la communauté, qui rappelle les valeurs d'origine du projet et comment nous fonctionnons. [Ce type de document existe mais uniquement appliqué à SPIP-Zone->https://zone.spip.org/trac/spip-zone/wiki/CharteDeFonctionnement], les gens qui contribuent au dépôt SVN, donc essentiellement des devs. Un texte de ce genre doit servir à accueillir les nouvelles personnes en rendant publiques et explicites nos manières de faire, et permet à celles déjà là de s'y référer lorsqu'il y a des problèmes. Il doit contenir à la fois certaines valeurs (sur le sexisme, sur l'argent, etc) mais aussi décrire des mécanismes pour tenter de résoudre les conflits, lorsqu'il n'y a pas consensus. Nous proposons de partir de la charte de SPIP-Zone qui existe déjà, en l'étendant à l'ensemble de la communauté, et en l'augmentant sur certains points. {{{Tu es invité⋅e !}}} Nous avons entamé cette réflexion et commençons à tester des outils, mais tout n'est pas figé dans le marbre, il reste des zones de flou et des questions à résoudre. [inscription<-]{{Tout le monde est invité à tester l'outil Framavox [en rejoignant le groupe SPIP->https://framavox.org/invitations/53e5743247da3dd2ebe7]}}, ne serait-ce que pour y suivre l'activité. L'inscription est ouverte à tou⋅te⋅s et ne requiert pas de validation. Une fois membre du groupe SPIP, tu pourras demander à participer aux différents sous-groupes qui t'intéressent, notamment celui consacré à la rédaction de la charte/mode d'emploi.

Go diagrams with maxiGos.

https://contrib.spip.net/Diagrammes-de-go-avec-maxiGos-1894play episode download
20 May, by Robert Sebille[ —]

Maxigos is a plugin for SPIP which allows the use of the main features of maxiGos, “a set of tools to insert games, problems and go diagrams saved in sgf format in a web page.”

The plugin works on basis of a model. The sgf code can be written as a parameter of the model or contained in an sgf (Smart Game Format) file.

The plugin was tested under SPIP 3.1, but there is no reason it should not work under SPIP 3.0, or 2.1 and 2.0. You have to test. Feedbacks from users are welcome.

Installation.

As any spip plugin

Authorization of SGF documents

SPIP has “forgotten”;) to allow .sgf extension files and compresses them as zip files. They have to be authorized directly in the database, by adding a row in the “spip_type_documents” table. The plugin performs this operation on activation.

Third party.

The plugin embeds its own version of maxiGos, v6.64 (standalone players only + editor + language files), licensed BSD.

Rules for sgf format.

If you want to write sgf directly into the content, refer to the spécifications. But, most of the time, you will probably prefer to use sgf files.

Model parameters

formatting
- langue=[langue] where [langue] can take the values : fr (for French, default), en (for English), ja (for Japanese), zh (for Chinese), zh-tw (for Chinese-taiwan)
- style=[style] where [style] can take the values: classic (default), neo (for neo-classic), tatami, minimal (for minimalist), cameleon, [which are multitype values] or fm, kifu, tiger [which are monotype values]
- type=[type] where [type] can take the values: basic (default), comment, diagram, game, problem, tree [which are multistyle values], edit, lesson [which are monostyle values]

For the meaning of the style and type parameters, refer to the examples on this page http://jeudego.org/maxiGos/_maxigos/_doc/_en/download.php from the maxiGos website under the heading “Download stand-alone players only” and view the examples.

Multitypes or monotypes, and multistyles or monostyles

  • Multitypes style values ​​and multistyles type values ​​can be associated, for example: | style=neo | type=comment or | style=cameleon | type=problem
  • On the other hand,
    • The monotype style values ​​(fm, kifu, tiger) have their own type (and therefore the | type=[something] parameter will not do anything with these styles.
    • And the monostyle types (edit, lesson) have their own style (and therefore the | style=[something] parameter will not work with these types.

SGF content
If the two following parameters (id_doc and contenu) are present, only the id_doc parameter will be taken into account.
- id=XX or - the content is in a file of id=XX, with extension .sgf, downloaded via SPIP. Regardless of whether the file is linked to the object (such as the article) where the model call is inserted
- contenu=a_sgf_content_directly_written - the SGF content is written directly or copied/pasted into the SPIP object. Beware, sgf content manually written in an article, does not support the “|” (pipe). This applies only to the contenu parameter.

Customization parameters, by types and styles

  • All types
    • init=[init] where [init] can take the values: first (default, =go to the start of the SGF) or last (=go to the end of the main variant of the SGF file) - maxiGos parameter: initMethod
    • ombre=X where X can take the values: 0 (default, =does not display a shadow on stone bottom right) or 1 (=displays a shadow on stone bottom right). - maxiGos parameter: stoneShadowOn
  • Types basic, comment, game, tree, edit, lesson and styles fm, tiger
    • demo=X where X can take the values: 0 (=the visitor can place stones on the goban and thus create variants) or 1 (=the visitor can not place a stone on the goban or create variants). Practical for demonstrations. - Parameter maxiGos: (opposite to) canPlaceVariation
  • Types comment, diagram, problem, tree, lesson, styles fm, tiger, kifu and all tatami style types
    • indices=X where X can take the values: 0 (=The indices are not displayed arround the goban), 1 (=The indices are displayed arround the goban) or undefined (=the SGF decides via the FG property). - Parameter maxiGos: indicesOn
    • numeros=X where X can take the values: 0 (=the stones on the goban are not numbered), 1 (=the stones on the goban are numbered) or undefined (=the SGF decides via the PM property). - MaxiGos parameter: numberingOn
  • Types tree, edit, and tiger style
    • commentaire_arbre=X where X can take the values: 0 or 1 (= If X is 1, replaces in the tree commented move numbers by a “?”). - maxiGos parameter: markCommentOnTree
  • Type problem only.
    • recommencer_tout=X where X can take the values: 0 or 1 (=If recommencer_tout is 1, displays a retry button). - maxiGos parameter: canRetry
    • reprendre_coup=X where X can take the values: 0 or 1 (= If reprendre_coup is 1, displays an undo button). - MaxiGos parameter: canUndo
    • montrer_suite=X where X can take the values: 0 or 1 (= If montrer_suite is 1, displays a continuation button. A click on this button shows moves of the first branch of the sgf tree from the current position). - MaxiGos parameter: canContinuation

Examples of use.

In an article, since the use in a template appears here irrelevant.

will present an example of a problem (taking a stone), in classic style, basic type.

will display a tatami-style player, with a tree type, in Chinese language, from the game or the problem contained in a .sgf file of id=XX.

Temporary demonstration

In the articles of this section

Maxigos is a plugin for SPIP which allows the use of the main features of [maxiGos->http://jeudego.org/maxiGos/], a set of tools to insert games, problems and go diagrams saved in sgf format in a web page.
The plugin works on basis of a model. The sgf code can be written as a parameter of the model or contained in an sgf ([Smart Game Format->https://en.wikipedia.org/wiki/Smart_Game_Format]) file. The plugin was tested under SPIP 3.1, but there is no reason it should not work under SPIP 3.0, or 2.1 and 2.0. You have to test. Feedbacks from users are welcome. {{{Installation.}}} As any [spip plugin->https://www.spip.net/en_article3475.html] {{{Authorization of SGF documents}}} SPIP has forgotten;) to allow .sgf extension files and compresses them as zip files. They have to be authorized directly in the database, by adding a row in the spip_type_documents table. The plugin performs this operation on activation. {{{Third party.}}} The plugin embeds its own version of maxiGos, v6.64 (standalone players only + editor + language files), [licensed BSD->http://jeudego.org/maxiGos/_maxigos/_doc/license.txt]. {{{Rules for sgf format.}}} If you want to write sgf directly into the content, refer to the [spécifications->http://www.red-bean.com/sgf/]. But, most of the time, you will probably prefer to use sgf files. {{{Model parameters}}} {{formatting}} - langue=[langue] where [langue] can take the values : fr (for French, default), en (for English), ja (for Japanese), zh (for Chinese), zh-tw (for Chinese-taiwan) - style=[style] where [style] can take the values: classic (default), neo (for neo-classic), tatami, minimal (for minimalist), cameleon, [which are multitype values] or fm, kifu, tiger [which are monotype values] - type=[type] where [type] can take the values: basic (default), comment, diagram, game, problem, tree [which are multistyle values], edit, lesson [which are monostyle values] For the meaning of the style and type parameters, refer to the examples on this page http://jeudego.org/maxiGos/_maxigos/_doc/_en/download.php from the maxiGos website under the heading Download stand-alone players only and view the examples. {{Multitypes or monotypes, and multistyles or monostyles}} -* Multitypes style values ​​and multistyles type values ​​can be associated, for example: | style=neo | type=comment or | style=cameleon | type=problem -* On the other hand, -** The monotype style values ​​(fm, kifu, tiger) have their own type (and therefore the | type=[something] parameter will not do anything with these styles. -** And the monostyle types (edit, lesson) have their own style (and therefore the | style=[something] parameter will not work with these types. {{SGF content}} If the two following parameters (id_doc and contenu) are present, only the id_doc parameter will be taken into account. - id=XX or - the content is in a file of id=XX, with extension .sgf, downloaded via SPIP. Regardless of whether the file is linked to the object (such as the article) where the model call is inserted - contenu=a_sgf_content_directly_written - the SGF content is written directly or copied/pasted into the SPIP object. Beware, sgf content manually written in an article, does not support the |  (pipe). This applies only to the contenu parameter. {{Customization parameters, by types and styles}} -* All types -** init=[init] where [init] can take the values: first (default, =go to the start of the SGF) or last (=go to the end of the main variant of the SGF file) - maxiGos parameter: initMethod -** ombre=X where X can take the values: 0 (default, =does not display a shadow on stone bottom right) or 1 (=displays a shadow on stone bottom right). - maxiGos parameter: stoneShadowOn -* Types basic, comment, game, tree, edit, lesson and styles fm, tiger -** demo=X where X can take the values: 0 (=the visitor can place stones on the goban and thus create variants) or 1 (=the visitor can not place a stone on the goban or create variants). Practical for demonstrations. - Parameter maxiGos: (opposite to) canPlaceVariation -* Types comment, diagram, problem, tree, lesson, styles fm, tiger, kifu and all tatami style types -** indices=X where X can take the values: 0 (=The indices are not displayed arround the goban), 1 (=The indices are displayed arround the goban) or undefined (=the SGF decides via the FG property). - Parameter maxiGos: indicesOn -** numeros=X where X can take the values: 0 (=the stones on the goban are not numbered), 1 (=the stones on the goban are numbered) or undefined (=the SGF decides via the PM property). - MaxiGos parameter: numberingOn -* Types tree, edit, and tiger style -** commentaire_arbre=X where X can take the values: 0 or 1 (= If X is 1, replaces in the tree commented move numbers by a ?). - maxiGos parameter: markCommentOnTree -* Type problem only. -** recommencer_tout=X where X can take the values: 0 or 1 (=If recommencer_tout is 1, displays a retry button). - maxiGos parameter: canRetry -** reprendre_coup=X where X can take the values: 0 or 1 (= If reprendre_coup is 1, displays an undo button). - MaxiGos parameter: canUndo -** montrer_suite=X where X can take the values: 0 or 1 (= If montrer_suite is 1, displays a continuation button. A click on this button shows moves of the first branch of the sgf tree from the current position). - MaxiGos parameter: canContinuation {{{Examples of use.}}} In an article, since the use in a template appears here irrelevant. will present an example of a problem (taking a stone), in classic style, basic type. will display a tatami-style player, with a tree type, in Chinese language, from the game or the problem contained in a .sgf file of id=XX. {{{Temporary demonstration}}} In the articles of [this section->http://web.sebille.name/gopantin/spip.php?rubrique8]

Slick

https://contrib.spip.net/Diaporamaplay episode download
17 May, by chankalan, jeanmarie, nostromo, Phenix[ —]

Intégration à SPIP du carrousel Slick : https://kenwheeler.github.io/slick/

Fonctions de Slick

Son utilisation permet d'afficher une liste d'éléments défilants, en l'occurrence ici une série de photographies.
Par les configurations proposées, il est possible de mettre en place des effets de fondus enchaînes, de sélectionner le nombre d'images visibles et d'appliquer un défilement automatique ou manuel.

Installation et configuration

Une fois le plugin installé comme les autres, la page de configuration est accessible soit par ecrire/?exec=configurer_slick soit par le menu « Squelettes > Slick Slideshow », permettant d'ajuster les paramètres suivants :

  • activer automatiquement : oui ou non
  • Sélécteur jQuery pour Slick : choisir l'élément par une classe ou un id
  • Elément à utiliser comme Slide : cibler l'élément HTML qui sera une diapositive, il doit être directement dans l'élément sélectionné précédemment.
  • Nombre de slide à afficher : le nombre de diapositives visibles
  • Nombre de slide à déplacer : le nombre de diapositives qui se déplacent en même temps
  • AutoPlay : lecture automatique ou non
  • Vitesse de l'autoplay : le déclenchement après le chargement
  • Fade : effet de fondu entre les diapositives
  • Vitesse de l'animation : la rapidité de la transition
  • Vertical : si non ce sera horizontal
  • Lazyload : ne pas charger les images avant de les voir, puis les charger dès qu'on veut les voir (ondemand), ou bien charger déjà les prochaines (avant de les voir, progressive)
  • Centrer les éléments : ...
  • Animation CSS3 (easing) : effet d'accélération/ralentissement lors des transitions
  • Afficher les bulles de contrôle
  • Pause au survol
  • Pause au survol des bulles de contrôle
  • Support du RTL : si oui, on adapte le diaporama à l'environnement de langue, et dont le sens de lecture peut aller de la droite vers la gauche.
  • Hauteur automatique : si oui, la hauteur s'adaptera à la hauteur de chaque diapositive. Sinon la plus haute sera la hauteur du diaporama.
  • Flèches précédent/suivant : utiliser la navigation précédent/suivant (non par défaut)

Affichage dans les textes

Avec les paramètres par défaut, il suffit d'avoir des images dans son site et d'insérer le diaporama dans un texte avec le modèle suivant :

Dix images du site au hasard seront affichées avec les paramètres optionnels que vous pourrez ajouter :

  • largeur : - la largeur en pixels
  • hauteur : - la hauteur en pixels
  • nombre : - le nombre d'images qu'on veut afficher

Exemple :

Il ne faut inclure qu'une seule fois le modèle sur la même page, car il contient un identifiant qui doit rester unique (#slick).

Pour les autres paramètres, la configuration générale du plugin les règle. Voir la page « Squelettes > Slick Slideshow ».

Il est possible de personnaliser le modèle en le surchargeant : copiez le fichier du plugin modeles/slick.html et dans le dossier squelettes/modeles en le renommant comme vous voulez. Vous pourrez le personnaliser et l'appeler dans vos textes de la même manière que l'autre

Intégration à SPIP du carrousel Slick : https://kenwheeler.github.io/slick/
{{{Fonctions de Slick}}} Son utilisation permet d'afficher une liste d'éléments défilants, en l'occurrence ici une série de photographies. Par les configurations proposées, il est possible de mettre en place des effets de fondus enchaînes, de sélectionner le nombre d'images visibles et d'appliquer un défilement automatique ou manuel. {{{Installation et configuration}}} Une fois le plugin installé [comme les autres->https://www.spip.net/fr_article3396.html], la page de configuration est accessible soit par ecrire/?exec=configurer_slick soit par le menu {{Squelettes > Slick Slideshow}}, permettant d'ajuster les paramètres suivants : -* {{activer automatiquement}} : oui ou non -* {{Sélécteur jQuery pour Slick}} : choisir l'élément par une classe ou un id -* {{Elément à utiliser comme Slide}} : cibler l'élément HTML qui sera une diapositive, il doit être directement dans l'élément sélectionné précédemment. -* {{Nombre de slide à afficher}} : le nombre de diapositives visibles -* {{Nombre de slide à déplacer}} : le nombre de diapositives qui se déplacent en même temps -* {{AutoPlay}} : lecture automatique ou non -* {{Vitesse de l'autoplay}} : le déclenchement après le chargement -* {{Fade}} : effet de fondu entre les diapositives -* {{Vitesse de l'animation}} : la rapidité de la transition -* {{Vertical}} : si non ce sera horizontal -* {{Lazyload}} : ne pas charger les images avant de les voir, puis les charger dès qu'on veut les voir (ondemand), ou bien charger déjà les prochaines (avant de les voir, progressive) -* {{Centrer les éléments}} : ... -* {{Animation CSS3 (easing)}} : effet d'accélération/ralentissement lors des transitions -* {{Afficher les bulles de contrôle}} -* {{Pause au survol}} -* {{Pause au survol des bulles de contrôle}} -* {{Support du RTL}} : si oui, on adapte le diaporama à l'environnement de langue, et dont le sens de lecture peut aller de la droite vers la gauche. -* {{Hauteur automatique}} : si oui, la hauteur s'adaptera à la hauteur de chaque diapositive. Sinon la plus haute sera la hauteur du diaporama. -* {{Flèches précédent/suivant}} : utiliser la navigation précédent/suivant (non par défaut) {{{Affichage dans les textes}}} Avec les paramètres par défaut, il suffit d'avoir des images dans son site et d'insérer le diaporama dans un texte avec le modèle suivant : Dix images du site au hasard seront affichées avec les paramètres optionnels que vous pourrez ajouter : -* largeur : - la largeur en pixels -* hauteur : - la hauteur en pixels -* nombre : - le nombre d'images qu'on veut afficher Exemple : Il ne faut inclure qu'une seule fois le modèle sur la même page, car il contient un identifiant qui doit rester unique (#slick). Pour les autres paramètres, la configuration générale du plugin les règle. Voir la page {{Squelettes > Slick Slideshow}}. Il est possible de personnaliser le modèle en le surchargeant : copiez le fichier du plugin modeles/slick.html et dans le dossier squelettes/modeles en le renommant comme vous voulez. Vous pourrez le personnaliser et l'appeler dans vos textes de la même manière que l'autre

Date de modification manuelle

16 May, by Matthieu Marcillaud[ —]

Ce plugin ajoute un nouveau champ sur les articles, permettant de saisir une date de modification manuellement, qui n'est pas renseignée automatiquement et ne change pas à chaque enregistrement de l'article.

Configuration

Une fois le plugin installé, les articles ont un nouveau champ de date qui peut être saisi. Il n'y a rien d'autre à faire [1].

Utilisation

Sur la page d'un article, une nouvelle date de modification manuelle est affichée. Il est possible de la modifier, de la même manière que l'on modifie la date de publication de l'article.

Date de modification manuelle, non renseignée
Formulaire de saisie des dates de l'article
Une entrée est ajoutée pour la date de modification manuelle.
Affichage de la date de modification manuelle renseignée

Dans les squelettes

Le champ créé et utilisé dans la table SQL se nomme date_modif_manuelle et peut donc être utilisé comme balise à l'intérieur des boucles articles dans les squelettes, comme n'importe quel champ de date.

  1. span>(ARTICLES){id_article}>
  2. Publication : [(#DATE|affdate)]
  3. Mis à jour : [(#DATE_MODIF_MANUELLE|affdate)]

Télécharger

Pour certaines listes présentant les articles les plus récents, sur la page d'accueil ou sur des rubriques, il peut être utile d'utiliser un tri qui récupère les articles les plus récents soit par date de modification soit par date de publication. Pour cela on peut utiliser ce critère de tri {!par GREATEST(champ1, champ2)} qui triera en utilisant la plus grande des 2 valeurs :

  1. span>(ARTICLES)
  2. {!par GREATEST(date, date_modif_manuelle)}
  3. {0, 5}
  4. >
  5. Titre : #TITRE
  6. Date de publication : [(#DATE|affdate)]
  7. Date de modification : [(#DATE_MODIF_MANUELLE|affdate)]
  8. [(#SET{date,
  9. #DATE_MODIF_MANUELLE|intval
  10. |?{#DATE_MODIF_MANUELLE, #DATE}
  11. })]
  12. Date le modification, sinon date de publication : [(#GET{date}|affdate)]

Télécharger


[1] Une future évolution pourrait être de permettre cette fonctionnalité sur d'autres objets éditoriaux via une configuration.

Ce plugin ajoute un nouveau champ sur les articles, permettant de saisir une date de modification manuellement, qui n'est pas renseignée automatiquement et ne change pas à chaque enregistrement de l'article.
{{{Configuration}}} Une fois le plugin installé, les articles ont un nouveau champ de date qui peut être saisi. Il n'y a rien d'autre à faire[[Une future évolution pourrait être de permettre cette fonctionnalité sur d'autres objets éditoriaux via une configuration.]]. {{{Utilisation}}} Sur la page d'un article, une nouvelle date de modification manuelle est affichée. Il est possible de la modifier, de la même manière que l'on modifie la date de publication de l'article. {{{Dans les squelettes}}} Le champ créé et utilisé dans la table SQL se nomme date_modif_manuelle et peut donc être utilisé comme balise à l'intérieur des boucles articles dans les squelettes, comme n'importe quel champ de date. Publication : [(#DATE|affdate)]
Mis à jour : [(#DATE_MODIF_MANUELLE|affdate)]
Pour certaines listes présentant les articles les plus récents, sur la page d'accueil ou sur des rubriques, il peut être utile d'utiliser un tri qui récupère les articles les plus récents soit par date de modification soit par date de publication. Pour cela on peut utiliser ce critère de tri {!par GREATEST(champ1, champ2)} qui triera en utilisant la plus grande des 2 valeurs : Titre : #TITRE Date de publication : [(#DATE|affdate)] Date de modification : [(#DATE_MODIF_MANUELLE|affdate)] [(#SET{date, #DATE_MODIF_MANUELLE|intval |?{#DATE_MODIF_MANUELLE, #DATE} })] Date le modification, sinon date de publication : [(#GET{date}|affdate)]

Objets virtuels

15 May, by Matthieu Marcillaud[ —]

Ce plugin permet de gérer sur la plupart des objets éditoriaux déclarés à SPIP un lien de redirection (comme l'on peut déjà avoir sur les articles). Cette redirection, si elle est renseignée, est appliquée lorsqu'on va sur cet objet dans l'espace public.

Configuration

Une fois le plugin Objets Virtuels activé, il se configure dans l'espace privé en se randant sur la page ?exec=configurer_objets_virtuels.

Plugin objets virtuels activé
Cliquer l'icone à droite pour le configurer.

La page offre un formulaire qui liste les objets éditoriaux connus. On peut cocher ceux sur lesquels on désire voir proposer le formulaire de redirection. Il faut évidemment enregistrer ensuite. Pour les objets cochés, un champ SQL nommé virtuel est créé dans la table de cet objet, et servira à stocker l'URL ou le lien de redirection.

Liste des objets éditoriaux proposant des redirections
Il faut cocher les objets éditoriaux souhaités.

Utilisation

En se rendant sur un objet que l'on a configuré, le formulaire de redirection est alors proposé. On peut y renseigner une URL complète, ou un lien interne SPIP tel que art24, article24 ou rub12, etc.

Formulaire de saisie d'une URL ou lien de redirection
On peut saisir une URL complète ou un lien interne tel que rubrique25

Une fois un lien ou une URL saisie, le formulaire affiche le lien. De même le centre de la page, en haut du contenu affiche aussi un cadre indiquant que cet élément est redirigé ailleurs.

Formulaire avec une redirecton active
Un lien est présenté, ici vers la rubrique « Événements ».
Centre de la page, dans l'espace privé, avec une redirection active
Un cadre au centre de la page présente aussi la redirection.

À partir de maintenant, lorsqu'une redirection est active, cliquer le bouton « Voir en ligne » amènera sur la redirection souhaitée.

Spécificités

Dans le cas d'une rubrique, il n'est pas possible de supprimer un objet ayant une redirection : il faut enlever la redirection au préalable.

Le plugin Rubriques virtuelles permettait déjà d'avoir des redirections sur les rubriques. Tout ce qu'il offrait (des spécificités par rapport aux rubriques) a été intégré dans ce plugin.

Ce plugin permet de gérer sur la plupart des objets éditoriaux déclarés à SPIP un lien de redirection (comme l'on peut déjà avoir sur les articles). Cette redirection, si elle est renseignée, est appliquée lorsqu'on va sur cet objet dans l'espace public.
{{{Configuration}}} Une fois le plugin Objets Virtuels activé, il se configure dans l'espace privé en se randant sur la page ?exec=configurer_objets_virtuels. La page offre un formulaire qui liste les objets éditoriaux connus. On peut cocher ceux sur lesquels on désire voir proposer le formulaire de redirection. Il faut évidemment enregistrer ensuite. Pour les objets cochés, un champ SQL nommé virtuel est créé dans la table de cet objet, et servira à stocker l'URL ou le lien de redirection. {{{Utilisation}}} En se rendant sur un objet que l'on a configuré, le formulaire de redirection est alors proposé. On peut y renseigner une URL complète, ou un lien interne SPIP tel que art24, article24 ou rub12, etc. Une fois un lien ou une URL saisie, le formulaire affiche le lien. De même le centre de la page, en haut du contenu affiche aussi un cadre indiquant que cet élément est redirigé ailleurs. À partir de maintenant, lorsqu'une redirection est active, cliquer le bouton «Voir en ligne» amènera sur la redirection souhaitée. {{{Spécificités}}} Dans le cas d'une rubrique, il n'est pas possible de supprimer un objet ayant une redirection : il faut enlever la redirection au préalable.
Le plugin [Rubriques virtuelles->https://plugins.spip.net/rubriques_virtuelles.html] permettait déjà d'avoir des redirections sur les rubriques. Tout ce qu'il offrait (des spécificités par rapport aux rubriques) a été intégré dans ce plugin.

Présentation : Organisation et décisions dans une optique autogérée et non-argentée

11 May, by RastaPopoulos, tcharlss[ —]

Cette présentation a été faite durant la rencontre SPIP à Toulouse en mai 2017.

Elle propose des pistes de solutions pour avancer sur les chantiers compliqués et bloquants, notamment par la rédaction d'une charte/mode d'emploi pour la communauté et la constitution de groupes de travail mandatés en amont.

Régulièrement revient sur le tapis - et c'est très bien - le questionnement sur comment nous organisons la communauté, comment les décisions sont prises. Pas toujours pour les mêmes raisons, parce que communication… parce que chantiers qui n'avancent pas… ou qui ont capoté dans le passé, etc.

Partant de ce constat, certains avancent qu'une organisation plus formelle et officielle, telle qu'une association, serait la solution à plein de problèmes, et que ça permettrait ceci-cela.

Nous aimerions expliquer à la fois en quoi nous sommes d'accord sur certains constats, tout en affirmant que ce chemin ne résoudra rien de plus magiquement. Et qu'il est possible d'avancer sur des choses bloquantes de longue date, d'être peut-être parfois plus formel et rigoureux sur certaines choses, tout en restant une communauté autonome, autogérée et sans gestion d'argent direct. Sans se cacher qu'il y a bien des soucis, et qu'on ne peut pas se contenter uniquement du consensus en permanence.

Diapositives de la présentation.

Utilisez les flèches droite et gauche pour naviguer, et la flèche du bas sur certaines diapos qui ont des sous-chapitres.

IMG/html/charte.html
Diapos de la présentation sur les blocages et l'organisation de la communauté

Vidéo de la présentation

Suite à un soucis technique de rodage, nous n'avons l'image et le son que des 12 premières minutes (pour les autres présentations, le son a été enregistré séparément). Nous publions tout de même ces 12 minutes pour mémoire

Il s'agit d'une première version « brute de pomme ». La version finale comprenant la capture du vidéoprojecteur sera publiée plus tard.

Cette vidéo est consultable également sur medias.spip.net

Présentation : Organisation et décisions dans une optique autogérée et non-argentée
Cette présentation a été faite durant la rencontre SPIP à Toulouse en mai 2017.
Malheureusement seul le début de la présentation a été enregistré.
Cette présentation a été faite durant la [rencontre SPIP à Toulouse en mai 2017->https://party.spip.net/SPIPoulet-2-017]. Elle propose des pistes de solutions pour avancer sur les chantiers compliqués et bloquants, notamment par la rédaction d'une charte/mode d'emploi pour la communauté et la constitution de groupes de travail mandatés en amont.
Régulièrement revient sur le tapis - et c'est très bien - le questionnement sur comment nous organisons la communauté, comment les décisions sont prises. Pas toujours pour les mêmes raisons, parce que communication… parce que chantiers qui n'avancent pas… ou qui ont capoté dans le passé, etc. Partant de ce constat, certains avancent qu'une organisation plus formelle et officielle, telle qu'une association, serait la solution à plein de problèmes, et que ça permettrait ceci-cela. Nous aimerions expliquer à la fois en quoi nous sommes d'accord sur certains constats, tout en affirmant que ce chemin ne résoudra rien de plus magiquement. Et qu'il est possible d'avancer sur des choses bloquantes de longue date, d'être peut-être parfois plus formel et rigoureux sur certaines choses, tout en restant une communauté autonome, autogérée et sans gestion d'argent direct. Sans se cacher qu'il y a bien des soucis, et qu'on ne peut pas se contenter uniquement du consensus en permanence. {{{Diapositives de la présentation.}}} {Utilisez les flèches droite et gauche pour naviguer, et la flèche du bas sur certaines diapos qui ont des sous-chapitres.} {{{Vidéo de la présentation}}} {Suite à un soucis technique de rodage, nous n'avons l'image et le son que des 12 premières minutes (pour les autres présentations, le son a été enregistré séparément). Nous publions tout de même ces 12 minutes pour mémoire} {Il s'agit d'une première version brute de pomme. La version finale comprenant la capture du vidéoprojecteur sera publiée plus tard.} Cette vidéo est consultable également sur [medias.spip.net->https://medias.spip.net/medias/video-tutorials/article/organisation-et-decisions-dans-une]

PHPcURL

8 May, by Guytarr, Teddy Payet[ —]

Début de plugin pour utiliser la librairie cURL de PHP un peu partout sans relire la documentation à chaque fois

Prérequis

Il faut disposer de l'extension cURL pour PHP :
Sous Windows, vous devez décommenter dans votre fichier php.ini la ligne suivante :

extension=php_curl.dll

Il faut ensuite recharger ou redémarrer Apache.

Installation

Ce plugin s'installe comme tous les plugins par l'intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la page dédiée.

Utilisation

PHPcURL déclare simplement 4 fonctions pour les 4 usages de cURL :

  • phpcurl_get
  • phpcurl_post
  • phpcurl_put
  • phpcurl_delete

Les arguments sont toujours les mêmes, seul le premier est obligatoire :

  • url
  • contenu : data_string qui sera la valeur fournie à CURLOPT_POSTFIELDS ;
  • type de contenu : content_type, qui sera la valeur fournie à CURLOPT_HTTPHEADER ;
  • retour : verbeux ou silencieux.

Les valeurs par défaut :

  • data_string est NULL
  • content_type est du json
  • le retour est verbeux (false)

Quelques exemples d'utilisation :

Toute suggestion d'amélioration pour le rendre utilisable dans tous les cas est bienvenue.

Début de plugin pour utiliser la librairie cURL de PHP un peu partout sans relire la documentation à chaque fois
{{{Prérequis}}} Il faut disposer de l'extension cURL pour PHP : Sous Windows, vous devez décommenter dans votre fichier php.ini la ligne suivante : extension=php_curl.dll Il faut ensuite recharger ou redémarrer Apache. {{{Installation}}} Ce plugin s'installe comme tous les plugins par l'intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la [page dédiée->http://www.spip.net/fr_article3396.html]. {{{Utilisation}}} PHPcURL déclare simplement 4 fonctions pour les 4 usages de cURL : -* phpcurl_get -* phpcurl_post -* phpcurl_put -* phpcurl_delete Les arguments sont toujours les mêmes, seul le premier est obligatoire : -* {{url}} -* {{contenu}} : data_string qui sera la valeur fournie à CURLOPT_POSTFIELDS ; -* {{type de contenu}} : content_type, qui sera la valeur fournie à CURLOPT_HTTPHEADER ; -* {{retour}} : verbeux ou silencieux. Les valeurs par défaut : -* data_string est {NULL} -* content_type est du {json} -* le retour est {verbeux} (false) Quelques exemples d'utilisation : -* [phpcurl_get->https://zone.spip.org/trac/spip-zone/browser/_plugins_/elasticsearch/formulaires/configurer_elasticsearchserveur.php?rev=104209#L15] en php -* [phpcurl_put->https://zone.spip.org/trac/spip-zone/browser/_plugins_/elasticsearch/inclure/put_article.html?rev=104209#L40] en squelette Toute suggestion d'amélioration pour le rendre utilisable dans tous les cas est bienvenue.

Vol plané - 2

https://contrib.spip.net/Iconographie-de-SPIPplay episode download
7 May, by chankalan[ —]

vol

vol plané + texte + détouré
vol plané + texte + fond blanc

Elasticsearch

7 May, by Guytarr, Teddy Payet[ —]

Un connecteur pour brancher un site SPIP et indexer le contenu dans le moteur d'indexation et de recherche Elasticsearch. Actuellement, seul les articles et les documents bureautiques sont pris en charge, c'est une contribution en chantier qui doit encore beaucoup évoluer, mais qui peut être utilisable avec un peu d'effort.

Prérequis

Attention, il vous faudra au préalable disposer de Java et installer :

Il faut également disposer de l'extension cURL pour php :
Sous windows, vous devez décommenter dans votre php.ini :

extension=php_curl.dll

Il faut ensuite recharger ou redémarrer apache.

Vous devez lancer pour commencer le serveur tika avec la commande suivante depuis le répertoire où vous l'avez déposé :

java -jar tika-server-1.14.jar

Puis lancez Elasticsearch avec la commande suivante depuis le répertoire où vous l'avez déposé sur Linux-like :

sh bin/elasticsearch

ou sur Windows :

bin\elasticsearch.bat

Installation

Ce plugin s'installe comme tous les plugins par l'intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la page dédiée.

Configuration

Par défaut, Elasticsearch se lance sur le port 9200 et tika sur le 9998.
Vous pouvez vérifier qu'ils sont lancés en ouvrant le navigateur sur ces ports, par exemple, si vous travaillez en local :
http://localhost:9200 et http://localhost:9998.

Vous devrez ensuite configurer l'extracteur de documents avec le nom du serveur et le port de tika (localhost et 9998 si vous êtes en local). Le plugin Elasticsearch devra être aussi réglé avec ses url et port de serveur (http://localhost:9200 si vous êtes en local).

Renseignez ensuite un nom pour l'index.

Utilisation

Après avoir installé et configuré le plugin Elasticsearch, vous pourrez alors lancer l'indexation.
Le plugin indexe les articles par lot de 500 sur le site et pour les documents par 20. L'indexation est une liste de travaux et donc est lancée lorsqu'il y a des visites.

Nous vous recommandons un module complémentaire pour votre navigateur afin de faire un rafraîchissement automatique d'une page du site si vous êtes en local.

Les nouveaux articles ou documents sont indexés au fil de leur publication.

Une fois l'ensemble des contenus indexés vous pouvez relancer une indexation complète si nécessaire : si vous faites d'énormes modifications sur vos contenus, par exemple une modification d'arborescence. Tous les cas ne sont effectivement pas encore gérés mais c'est un début fonctionnel.

Il n'y a alors pas d'interruption de service car l'ancien index reste utilisé pour les recherches tandis que toutes les modifications du site se font dans le nouvel index. Une fois l'indexation regénérée, l'ancien index est supprimé et les recherches se font alors sur le nouvel index.

État des lieux

Problèmes connus et améliorations prévues :

  • si vous réinitialisez la liste des travaux pendant l'indexation cela l'arrête ;
  • si vous déplacez une rubrique la hiérarchie des articles n'est pas mise à jour ;
  • l'usage de l'analyseur ngram est temporaire (il remonte trop de résultats), il est prévu d'utiliser le fuzzy dans le futur en remplacement si les performances ne s'en trouvent pas trop affectées, ce qui était le cas lors de mes essais ;
  • il est difficile de prévoir un front cohérent, pour l'instant, il s'adapte à un squelette Z avec content, et il n'y a pas de style embarqué ;
  • il est difficile de prévoir du générique pour la partie publique ainsi que la manière d'indexer car ce que l'on souhaite indexer va dépendre de chaque site. Il faut travailler un peu mais vous avez un exemple de fonctionnement et il est assez rapide de fournir un squelette avec un mapping spécifique, un « put » spécifique à vos objets et un requêtage.
  • l'utilisation de squelettes était simplement pour produire quelque chose de fonctionnel rapidement, il est prévu de refaire en PHP certaines parties qui sont inutilement en squelettes.
  • une première version qui comprenait un autre objet (formations) ainsi que l'utilisation d'accès restreint (qui complique beaucoup les choses) est utilisée en production. Cette version simplifiée va permettre de repartir sur une base plus saine.

Références

Plugin testé avec apache tika v1.14 et toutes les versions de la branche 5 d'Elasticsearch jusqu'à la 5.4.0 incluse.

Un connecteur pour brancher un site SPIP et indexer le contenu dans le moteur d'indexation et de recherche [Elasticsearch->https://fr.wikipedia.org/wiki/ElasticSearch]. Actuellement, seul les articles et les documents bureautiques sont pris en charge, c'est une contribution en chantier qui doit encore beaucoup évoluer, mais qui peut être utilisable avec un peu d'effort.
{{{Prérequis}}} Attention, il vous faudra au préalable disposer de Java et installer : -* [Elasticsearch->https://www.elastic.co/downloads/elasticsearch] dans sa branche 5 -* [apache tika server ->http://tika.apache.org/download.html] -* ainsi qu'[extracteur de documents->https://plugins.spip.net/extrairedoc.html] pour extraire le texte et le titre des documents bureautiques. Il faut également disposer de l'extension cURL pour php : Sous windows, vous devez décommenter dans votre php.ini : extension=php_curl.dll Il faut ensuite recharger ou redémarrer apache. Vous devez lancer pour commencer le serveur tika avec la commande suivante depuis le répertoire où vous l'avez déposé : java -jar tika-server-1.14.jar Puis lancez Elasticsearch avec la commande suivante depuis le répertoire où vous l'avez déposé sur Linux-like : sh bin/elasticsearch ou sur Windows : bin\elasticsearch.bat {{{Installation}}} Ce plugin s'installe comme tous les plugins par l'intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la [page dédiée->http://www.spip.net/fr_article3396.html]. {{{Configuration}}} Par défaut, Elasticsearch se lance sur le port 9200 et tika sur le 9998. Vous pouvez vérifier qu'ils sont lancés en ouvrant le navigateur sur ces ports, par exemple, si vous travaillez en local : http://localhost:9200 et http://localhost:9998. Vous devrez ensuite configurer l'extracteur de documents avec le nom du serveur et le port de tika {(localhost et 9998 si vous êtes en local)}. Le plugin Elasticsearch devra être aussi réglé avec ses url et port de serveur {(http://localhost:9200 si vous êtes en local)}. Renseignez ensuite un nom pour l'index. {{{Utilisation}}} Après avoir installé et configuré le plugin Elasticsearch, vous pourrez alors lancer l'indexation. Le plugin indexe les articles par lot de 500 sur le site et pour les documents par 20. {{L'indexation est une liste de travaux et donc est lancée lorsqu'il y a des visites.}} Nous vous recommandons un module complémentaire pour votre navigateur afin de faire un rafraîchissement automatique d'une page du site si vous êtes {en local}. Les nouveaux articles ou documents sont indexés au fil de leur publication. Une fois l'ensemble des contenus indexés vous pouvez relancer une indexation complète si nécessaire : si vous faites d'énormes modifications sur vos contenus, par exemple une modification d'arborescence. Tous les cas ne sont effectivement pas encore gérés mais c'est un début fonctionnel. Il n'y a alors pas d'interruption de service car l'ancien index reste utilisé pour les recherches tandis que toutes les modifications du site se font dans le nouvel index. Une fois l'indexation regénérée, l'ancien index est supprimé et les recherches se font alors sur le nouvel index. {{{État des lieux}}} Problèmes connus et améliorations prévues : -* si vous réinitialisez la liste des travaux pendant l'indexation cela l'arrête ; -* si vous déplacez une rubrique la hiérarchie des articles n'est pas mise à jour ; -* l'usage de l'analyseur [ngram->https://www.elastic.co/guide/en/elasticsearch/reference/5.4/analysis-ngram-tokenizer.html] est temporaire (il remonte trop de résultats), il est prévu d'utiliser le [fuzzy->https://www.elastic.co/blog/found-fuzzy-search] dans le futur en remplacement si les performances ne s'en trouvent pas trop affectées, ce qui était le cas lors de mes essais ; -* il est difficile de prévoir un front cohérent, pour l'instant, il s'adapte à un squelette Z avec content, et il n'y a pas de style embarqué ; -* il est difficile de prévoir du générique pour la partie publique ainsi que la manière d'indexer car ce que l'on souhaite indexer va dépendre de chaque site. Il faut travailler un peu mais vous avez un exemple de fonctionnement et il est assez rapide de fournir un squelette avec un [mapping->https://zone.spip.org/trac/spip-zone/browser/_plugins_/elasticsearch/json/mapping_article.json.html] spécifique, un [put->https://zone.spip.org/trac/spip-zone/browser/_plugins_/elasticsearch/inclure/put_article.html] spécifique à vos objets et un [requêtage->https://zone.spip.org/trac/spip-zone/browser/_plugins_/elasticsearch/json/elasticsearch_query.html]. -* l'utilisation de squelettes était simplement pour produire quelque chose de fonctionnel rapidement, il est prévu de refaire en PHP certaines parties qui sont inutilement en squelettes. -* une première version qui comprenait un autre objet (formations) ainsi que l'utilisation d'accès restreint (qui complique beaucoup les choses) est utilisée en production. Cette version simplifiée va permettre de repartir sur une base plus saine. {{{Références}}} -* Installer Apache Tika : https://tika.apache.org/0.7/gettingstarted.html -* Elasticsearch : https://www.elastic.co/ -* cURL : https://curl.haxx.se
Plugin testé avec apache tika v1.14 et toutes les versions de la branche 5 d'Elasticsearch jusqu'à la 5.4.0 incluse.

 !">Ne me quitte pas !

24 April, by HAPpy, ladnet, Mehdi, RealET[ —]

Ne me quitte pas, pour ne plus perdre votre contenu en cours d'édition !

« Ne me quitte pas ! » a été réalisé en intégrant le plugin jQuery « AreYouSure »

Il a pour conséquence d'afficher un message d'avertissement lors du rechargement ou de la fermeture de la page active si le contenu en a été modifié.

« J'ai perdu tout le texte de l'article que j'écrivais sur mon site suite à une fausse manipulation » dit le webmaster.

« Eh bien, ne me quitte pas ! » répond SPIP.

Téléchargement du plugin

L'archive du plugin se récupère ici : Ne me quitte pas ! (zip)

Il nécessite SPIP 2.1.0 minimum.

Il s'installe comme n'importe quel plugin.

Une fois installé, il faut vider le cache de SPIP pour que la protection soit définitivement activée.

Remerciements

Cette extension d'outil a été programmée grâce au soutien de RealET, que je remercie pour le temps qu'il m'a accordé.

Bonne utilisation

Le nom du plugin fait référence à un buisson d'Afrique du Sud surnommé un « Ne me quitte pas ! » dans le film Les dieux sont tombés sur la tête.

Ne me quitte pas, pour ne plus perdre votre contenu en cours d'édition !
{{Ne me quitte pas !}} a été réalisé en intégrant le plugin jQuery [AreYouSure->https://github.com/codedance/jquery.AreYouSure] Il a pour conséquence d'afficher un message d'avertissement lors du rechargement ou de la fermeture de la page active si le contenu en a été modifié. J'ai perdu tout le texte de l'article que j'écrivais sur mon site suite à une fausse manipulation {dit le webmaster}. Eh bien, ne me quitte pas ! {répond SPIP}. {{{Téléchargement du plugin}}} L'archive du plugin se récupère ici : [Ne me quitte pas !->http://files.spip.org/spip-zone/nemequittepas.zip] (zip) Il nécessite SPIP 2.1.0 minimum. Il [s'installe comme n'importe quel plugin->http://www.spip.net/fr_article3396.html]. Une fois installé, il faut vider le cache de SPIP pour que la protection soit définitivement activée. {{{Remerciements}}} Cette extension d'outil a été programmée grâce au soutien de [RealET->aut411], que je remercie pour le temps qu'il m'a accordé. Bonne utilisation
Le {{nom}} du plugin fait référence à un buisson d'Afrique du Sud surnommé un Ne me quitte pas ! dans le film {Les dieux sont tombés sur la tête}.

0 | 10










mirPod.com is the best way to tune in to the Web.

Search, discover, enjoy, news, english podcast, radios, webtv, videos. You can find content from the World & USA & UK. Make your own content and share it with your friends.


HOME add podcastADD PODCAST FORUM By Jordi Mir & mirPod since April 2005....
ABOUT US SUPPORT MIRPOD TERMS OF USE BLOG OnlyFamousPeople MIRTWITTER