Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (68)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

Sur d’autres sites (6296)

  • apply ffmpeg to many files

    30 juillet 2015, par puchu

    I have written simple script :

    #!/bin/bash
    find . -name "*.m4a" | while read filename;
    do
       new_filename=$(echo "$filename" | sed "s/^\(.*\)m4a$/\1flac/g");
       if [ ! -f "$new_filename" ]
       then
               #ffmpeg -i "$filename" -acodec flac "$new_filename" > /dev/null 2>&1;
               #wait $!;
               echo "$filename";
               echo "$new_filename";
       fi
    done

    it outputs correct result :

    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/04 - Met.m4a
    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/04 - Met.flac
    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/02 - Nach Dem Winter.m4a
    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/02 - Nach Dem Winter.flac

    if uncomment ffmpeg and wait :

    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/04 - Met.m4a
    ./Equilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/04 - Met.flac
    uilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/02 - Nach Dem Winter.m4a
    uilibrium, ALAC [GER] viking.folk/2003 - Demo 2003, ALAC/02 - Nach Dem Winter.flac

    And no flacs has been done !

    PS

    #!/bin/bash
    find . -name "*.m4a" | while read filename;
    do
       new_filename=$(echo "$filename" | sed "s/^\(.*\)m4a$/\1flac/g");
       if [ ! -f "$new_filename" ]
       then
               ffmpeg -i "$filename" -acodec flac "$new_filename";
               echo "$filename";
               echo "$new_filename";
       fi
       sleep 5;
    done

    1) encode start but suddenly stop with no error messages

    2) encode couldn’t start because of "uilibrium" instead of "./Equilibrium"

    3) = 1)

    4) = 2)

    ...

    last) correctly

  • Anomalie #3055 (En cours) : Autorisation sur les listes d’objets

    5 mai 2015, par Eric Lupinacci

    En fait, c’est à mon avis un problème plus général, de rigueur dans l’appel des autorisations en entrée des pages mais aussi de stratégie de définition des autorisations qui sont malheureusement assez rarement arborescentes.

    Si on prend les pages objet comme article, rubrique et auteur par exemple, elle commencent toutes par une autorisation :

    (#AUTORISERvoir,article,#ID_ARTICLE ou
    (#AUTORISERvoir,rubrique,#ID_RUBRIQUE ou
    (#AUTORISERvoir,auteur,#ID_AUTEUR
    


    Cependant d’ailleurs seul l’autorisation article_voir est définie, les autres renvoyant sur l’autorisation par défaut. Mais au moins une autorisation est appelée systématiquement quelque soit le moyen avec lequel on arrive sur cette page.
    A partir de là si il existe un bouton qui envoie sur cette page il faut le conditionner par cette autorisation (code HTML) et si c’est un menu créé automatiquement alors là il faut créer une autorisation de menu qui appelle l’autorisation de voir et pas le contraire à mon avis.

    Donc si on étend ça aux pages articles, auteurs et rubriques je suis d’accord qu’il faudrait une autorisation voir_xxxx (ce qui n’est pas le cas actuellement) qui serait appelée en entrée de la page comme l’exemple ci-dessous pour la page articles :

    (#AUTORISERvoir,_articles
    


    et il faudrait alors coder l’autorisation du menu Articles de cette façon :

    function autoriser_articles_menu_dist($faire, $type, $id, $qui, $opt) 
        return autoriser(’voir’, ’_articles’) ;
    
    


    En effet, la décision d’afficher ou pas le menu est indépendante du fait de voir ou pas la page articles mais doit s’appuyer dessus si on décide de ne pas présenter un lien qui mène vers une page interdite.
    Et il faudrait systématiser cela pour tous les plugins objet du core à mon avis.

    En second lieu il faudrait faire une passe sur le code des autorisations actuelles pour imbriquer un peu plus les autorisations de façon arborescente ce qui leur donnerait plus de lisibilité car parfois elles sont identiques sans qu’on s’en rende compte car le code est dupliqué.

  • Anomalie #4562 : Suite #4468 : Unification des CSS pour les boutons et les icônes

    17 février 2021

    Bon bon bon, on a pas mal réfléchi au sujet avec rastapopoulos, et je crois qu’on est arrivé à une solution satisfaisante.
    En tout cas une solution qui répond complètement aux problèmes et besoins soulevés dans ce ticket, en ce qui me concerne.

    Le problème était de ne traiter des icônes que sous l’angle d’une utilisation dans des boutons, de ne le faire qu’à moitié en proposant un jeu d’icônes très restreint, et avec des icônes pas toutes prévues pour cette utilisation qui plus est.

    Dans l’immédiat, pour clôturer ce ticket au plus vite, il s’agirait de faire ça :

    • dans le CSS, retirer complètement les variantes de boutons avec icônes : .bouton_add, .bouton_supprimer, etc. (ça sera fait différemment et mieux).
    • renommer la classe .bouton en .btn : c’est moins verbeux et on comprend aussi bien.
    • préfixer les variantes génériques qui restent : .btn_mini au lieu de .btn mini, etc.
    • finir les derniers petits ajustement visuels.

    Avec ça le ticket pourra enfin être fermé.

    Mais alors comment fait-on pour avoir des icônes dans les boutons ?
    C’est l’étape suivante.

    Des icônes

    On s’est dit, tant qu’à faire, autant proposer tout de suite un jeu complet d’icônes symboliques.

    Les besoins sont multiples pour pleins d’éléments d’interface, dans les plugins et dans le core : plier/déplier des trucs, dupliquer un contenu, afficher un menu, remonter dans la hiérarchie, etc., etc. (je fais vite).
    Et chacun doit réimplémenter ça un peu à sa sauce.

    On reprendrait un jeu d’icônes existant, qu’on n’aura pas à maintenir, optimisé, et qui fournit des icônes cohérentes visuellement, utilisables dans tous les contextes.
    Il y a plusieurs choix de jeux d’icônes libres : Bootstrap-icons, Octicon, Material, Entypo, etc.

    Ces icônes seraient utilisables de 2 façons :

    1. Des classes

    Quand il s’agit d’icônes purement décoratives, des classes que l’on peut ajouter à n’importe quel élément inline.
    Pour éviter les conflits, on propose la contraption de spip + icon = spicon.
    Cette solution utilise une fontface, l’icône hérite de la taille et de la couleur du texte.

    Pour les boutons, même principe : la classe signifie « ajoute une icône dans cet élément »

    Exemples :

    <span class="CodeRay"><span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_menu</span><span class="delimiter">"</span></span><span class="tag">></span>Ouvrir le menu<span class="tag"></span>
    <span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_truc</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"></span> Du texte
    <span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">titrem spicon_machin</span><span class="delimiter">"</span></span><span class="tag">></span>Mon titre<span class="tag"></span>
    </span></span></span></span>

    2. Une balise #ICON

    En complément, on peut vouloir embarquer une icône svg dans le HTML.

    On propose de reprendre et d’adapter la super balise #ICON du plugin Zcore, qui fait ça très bien.
    Cette balise permet d’embarquer une icône du set par défaut, mais également n’importe quelle autre (je rentre pas dans les détails).

    Un modèle correspondant permettra aussi d’inclure des icônes svg dans les textes :

    <span class="CodeRay">#ICONE{identifiant}
    #ICONE{chemin/vers/mon_icone.svg}
    #ICONE{#identifiant_autre_set}
    </span>

    Identifiants sémantiques

    Les identifiants des icônes seront directement ceux du jeu d’icônes choisi.
    Mais ils peuvent avoir des noms un peu barbares : chevron-double-right, eye-slash, grip-vertical, etc.

    Dans tous les cas on pourra les utiliser tels quels, mais en plus de ça, on propose de faire une correspondance sémantique pour les icônes correspondants aux actions les plus courantes. Par exemple au lieu de faire #ICONE{chevron-double-down} on pourra faire #ICONE{deplier}.

    La liste initiale est visible ici : https://demo.hedgedoc.org/3zIXkcFLTVSwV0nKC1_qcA?both

    Voilà, je crois que c’est tout, rastapopoulos tu complètera si j’ai oublié des trucs.
    Peut-être qu’on peut partir sur un nouveau ticket pour ce sujet et la branche dev qui ira avec.

    À vous les studios.