Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (16)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (3369)

  • Evolution #3638 (Nouveau) : Utiliser la rechercher Fulltext par défaut pour le critère {recherche}

    7 janvier 2016, par Gilles VINCENT

    Suite à la discussion entammée sur spip-dev, je suggère d’utiliser la recherche Fulltext par défaut, au lieu des REGEXP actuelles
    http://thread.gmane.org/gmane.comp.web.spip.devel/66780

    Par défaut, recherche génère des requêtes des type REGEXP, ce qui n’est utile que si des utilisateurs font des recherches avec des expressions régulières, ce qui n’est pas le cas. Depuis le commit r21697 les tables ont installées par défaut au format MyISAM (demande #2727). SPIP gagnerait donc à utiliser les recherches en Fulltext.

    Analyse détaillée du problème faite par Remi () :

    Le problème c’est que ce type de requête est généré dès lors qu’il y a un
    espace dans la recherche et les requêtes REGEXP n’utilisent pas les index.

    Donc ça ne concerne pas que les utilisateurs qui recherchent des
    expressions régulières.

    Pour une recherche aussi bête que "chercher un mot" ça recherche
    REGEXP sur chaque colonne de la table
    spip_articles. Evidemment ça renvoie tous les articles contenant "un".

    Un exemple particulièrement inefficace : 51s pour faire une recherche sur 2
    mots sans avoir la certitude que les 2 mots ne s’y trouvent.

    1. Query_time : 51.073814 Lock_time : 0.018906 Rows_sent : 16363 Rows_examined : 36816

    SELECT t.id_article, t.surtitre, t.titre, t.soustitre, t.chapo, t.texte,
    t.ps, t.nom_site, t.url_site, t.descriptif FROM `xxxxxx`.spip_articles AS t
    WHERE t.surtitre REGEXP ’Etats unis|Etats|unis’ OR t.titre REGEXP ’Etats
    unis|Etats|unis’ OR t.soustitre REGEXP ’Etats unis|Etats|unis’ OR t.chapo
    REGEXP ’Etats unis|Etats|unis’ OR t.texte REGEXP ’Etats unis|Etats|unis’
    OR t.ps REGEXP ’Etats unis|Etats|unis’ OR t.nom_site REGEXP ’Etats
    unis|Etats|unis’ OR t.url_site REGEXP ’Etats unis|Etats|unis’ OR
    t.descriptif REGEXP ’Etats unis|Etats|unis’ ;

    Ici, ça me renvoie les articles qui contiennent "punissons",
    "réunis".

    A ce niveau, un bête like me met "que" 5s :

    SELECT * from (select *, concat( t.surtitre, t.titre, t.soustitre,
    t.chapo, t.texte, t.ps, t.nom_site, t.url_site, t.descriptif) search from
    spip_articles t) s WHERE s.search like ’%unis%’ or s.search like
    ’%Etats%’ ;

    Mais honnêtement 5s, ce n’est pas non plus acceptable.

    Mais s’il vous faut mettre un truc par défaut autre que du fulltext,
    utilisez LIKE sur la chaine à rechercher. Ca ira plus vite et ça vous
    renverra des résultats plus cohérents.

    Remi

  • Révision 22075 : Intégration dans SPIP de la possibilité de gérer des liens entre objets

    8 mai 2015, par marcimat ☺☮☯♫

    avec des rôles.

    On intègre l’API présente actuellement dans le plugin Rôles, en modifiant
    un peu les fonctions d’édition de liens.

    Celles-ci permettent maintenant d’éditer des liens ayant donc des rôles.
    Ces différents rôles et le nom de la colonne SQL qui les reçoit,
    s’ils sont utilisés, doivent être déclarés avec la déclaration
    de l’objet éditorial correspondant.

    Un exemple est donné avec le plugin « Roles auteurs » qui définit
    quelques rôles. Les champs décrivant les rôles : `roles_colonne`, `roles_titres` et `roles_objets`
    doivent être déclarés (via le pipeline declarer_tables_objets_sql).

    ```
    "roles_colonne" => "role",
    "roles_titres" => array(
    ’redacteur’ => ’info_statut_redacteur’,
    ’traducteur’ => ’roles_auteurs:traducteur’,
    ’correcteur’ => ’roles_auteurs:correcteur’,
    ’relecteur’ => ’roles_auteurs:relecteur’,
    ),
    "roles_objets" => array(
    ’articles’ => array(
    ’choix’ => array(’redacteur’, ’traducteur’, ’correcteur’, ’relecteur’),
    ’defaut’ => ’redacteur’
    )
    #’*’ => array()
    )
    ```

    Une fois déclaré, on peut appeler les fonctions d’édition de lien
    en transmettant des valeurs de rôles, tel que :

    ```
    objet_associer(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’correcteur’)
    ) ;

    // utilisera le rôle par défaut
    objet_associer(
    array(’auteur’ => 3),
    array(’article’ => 11)
    ) ;
    ```

    Si aucun rôle n’est indiqué, le rôle par défaut est appliqué.

    Dans le cas d’une dissociation également, si aucun rôle n’est indiqué,
    seuls les liaisons avec le rôle par défaut seront supprimés ; pour
    supprimer tous les rôles, il faut à ce moment là indiquer ’*’ :

    ```
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’correcteur’)
    ) ;

    // utilisera le rôle par défaut
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11)
    ) ;

    // enlèvera tous les rôles
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’*’)
    ) ;
    ```

    Le formulaire d’édition de liens n’utilisera pas les mêmes squelettes
    de liaison lorsqu’une colonne de rôle est déclarée.

    Ainsi dans cet exemple, au lieu de `prive/objets/liste/auteurs_lies.html`
    et `auteurs_associer.html`, cela utiliserait `prive/objets/liste/auteurs_roles_lies.html`
    et `auteurs_roles_associer.html`. Il faut donc créer ces squelettes.

    Ces squelettes peuvent poster les valeurs au formulaire pour insérer
    de nouveaux liens, de la forme `qualifier_lien[auteur-3-article-11][role]`
    en postant `redacteur` par exemple.

    Il est possible au passage de poster en plus d’autres valeurs, qui seront
    intégrées dans l’enregistrement du lien.
    Ainsi, poster en même temps `qualifier_lien[auteur-3-article-11][valeur]` = `50`
    enregistrera la valeur 50 dans la colonne `valeur` de la table de lien (qui doit
    exister !).

    D’autres informations sont présentes dans http://contrib.spip.net/Des-roles-sur-des-liens,
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles_auteurs ou encore
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles

  • Evolution #4102 : Ordre des inclures dans cache/charger_plugins_options.php

    8 juillet 2019, par cam.lafit -

    On pourrait avoir ce patch, au lieu d’écrire ligne à ligne on passe par un tableau. Ce qui permet de gérer l’ordre des lignes.

    1. <span class="CodeRay"><span class="line head"><span class="head">--- </span><span class="filename">/ecrire/inc/plugin.php</span></span>
    2. <span class="line head"><span class="head">+++ </span><span class="filename">/ecrire/inc/plugin.php</span></span>
    3. <span class="line change"><span class="change">@@</span> -817,7 +817,7 <span class="change">@@</span></span>
    4.  }
    5.  
    6.  <span class="keyword">function</span> <span class="function">plugins_precompile_xxxtions</span>(<span class="local-variable">$plugin_valides</span>, <span class="local-variable">$ordre</span>) {
    7. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$contenu</span> = <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span> => <span class="string"></span><span class="eyecatcher"><span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span></span>);</span>
    8. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$contenu</span> = <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span> => <span class="eyecatcher"><span class="predefined">array</span>(), <span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>()</span>);</span>
    9.      <span class="local-variable">$boutons</span> = <span class="predefined">array</span>();
    10.      <span class="local-variable">$onglets</span> = <span class="predefined">array</span>();
    11.      <span class="local-variable">$sign</span> = <span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span>;
    12. <span class="line change"><span class="change">@@</span> -861,7 +861,7 <span class="change">@@</span></span>
    13.                              <span class="predefined">unset</span>(<span class="local-variable">$info</span>[<span class="local-variable">$charge</span>][<span class="local-variable">$k</span>]);
    14.                          }
    15.                              <span class="local-variable">$_file</span> = <span class="local-variable">$root_dir_type</span> . <span class="string"><span class="delimiter">"</span><span class="content">.'</span><span class="local-variable">$plug</span><span class="content">/</span><span class="local-variable">$file</span><span class="content">'</span><span class="delimiter">"</span></span>;
    16. <span class="line delete"><span class="delete">-</span>                            <span class="local-variable">$contenu</span>[<span class="local-variable">$charge</span>]<span class="eyecatcher"> .= <span class="string"><span class="delimiter">"</span><span class="content">include_once_check(</span><span class="local-variable">$_file</span><span class="content">);</span><span class="char">\n</span></span></span><span class="string"><span class="delimiter">"</span></span>;</span>
    17. <span class="line insert"><span class="insert">+</span>                            <span class="local-variable">$contenu</span>[<span class="local-variable">$charge</span>]<span class="eyecatcher">[] = <span class="string"><span class="delimiter">"</span><span class="content">include_once_check(</span><span class="local-variable">$_file</span><span class="content">);</span></span></span><span class="string"><span class="delimiter">"</span></span>;</span>
    18.                          }
    19.                      }
    20.                  }
    21. <span class="line change"><span class="change">@@</span> -870,12 +870,12 <span class="change">@@</span></span>
    22.          }
    23.      }
    24.  
    25. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>] = <span class="string"><span class="delimiter">"</span><span class="content">define('_PLUGINS_HASH','</span><span class="delimiter">"</span></span> . <span class="predefined">md5</span>(<span class="local-variable">$sign</span>) . <span class="string"><span class="delimiter">"</span><span class="content">');</span><span class="char">\n</span><span class="delimiter">"</span></span> . <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]</span>;</span>
    26. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]<span class="eyecatcher"> .= plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">boutons_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$boutons</span>)</span></span>
    27. <span class="line delete"><span class="delete">-</span>    <span class="eyecatcher">    .</span> plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">onglets_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$onglets</span>);</span>
    28. <span class="line delete"><span class="delete">-</span></span>
    29. <span class="line delete"><span class="delete">-</span>    ecrire_fichier_php(_CACHE_PLUGINS_OPT, <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]</span>);</span>
    30. <span class="line delete"><span class="delete">-</span>    ecrire_fichier_php(_CACHE_PLUGINS_FCT, <span class="eyecatcher"><span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]</span>);</span>
    31. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">hash_opt</span> = <span class="string"><span class="delimiter">"</span><span class="content">define('_PLUGINS_HASH','</span><span class="delimiter">"</span></span> . <span class="predefined">md5</span>(<span class="local-variable">$sign</span>) . <span class="string"><span class="delimiter">"</span><span class="content">');</span><span class="char">\n</span><span class="delimiter">"</span></span></span>;</span>
    32. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]<span class="eyecatcher">[] = plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">boutons_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$boutons</span>);</span></span>
    33. <span class="line insert"><span class="insert">+</span>    <span class="eyecatcher"><span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>][] =</span> plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">onglets_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$onglets</span>);</span>
    34. <span class="line insert"><span class="insert">+</span></span>
    35. <span class="line insert"><span class="insert">+</span>    ecrire_fichier_php(_CACHE_PLUGINS_OPT, <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">hash_opt</span>.<span class="predefined">implode</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>,<span class="predefined">array_reverse</span>(<span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]))</span>);</span>
    36. <span class="line insert"><span class="insert">+</span>    ecrire_fichier_php(_CACHE_PLUGINS_FCT, <span class="eyecatcher"><span class="predefined">implode</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>,<span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>])</span>);</span>
    37.  }
    38.  
    39.  <span class="comment">/**</span>
    40.  
    41. </span>

    Télécharger