Recherche avancée

Médias (0)

Mot : - Tags -/signalement

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (17)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • 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 (...)

  • 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 (...)

Sur d’autres sites (4748)

  • Evolution #3926 : Remplacement de safehtml par le plug htmlpurifier ou autre

    14 janvier 2019, par Guillaume Fahrner

    Sorry je n’avais pas vu ce message :

    cedric - a écrit :

    Depuis https://core.spip.net/projects/spip/repository/revisions/24131 le plugin HTMLPurifier est fonctionel sans nécessiter de patch dans le core ?

    Malheureusement si : il reste une surcharge de la fonction propre() via inc/texte.php. Elle est utilisée pour réaliser la protection HTML via echappe_html() AVANT le 1er filtrage de sécurité via echapper_html_suspect(). Un deuxième est réalisé via echappe_retour_modeles($t, $interdire_script) ou $interdire_script est vrai en espacé privé ou si le mode parano actif et faux sinon. (Je n’ai pas su faire autrement, mais il y a peut être une astuce a trouver.)

    Je ne sais pas si tu considères que c’est le core mais une surchage des règles YAML de textwheel est également réalisé afin que l’on envoi bien tout qui doit l’être dans les filtres de sécurité.

    Donc non pas de modification du core nécessaire pour que le plugin fonctionne. A voir si ces surcharges mériterais une "intégration directe" future.

    on est bon et on peut release tel quel en indiquant que le plugin htmlpurifier est disponible pour tests et se laisser le temps ?

    A mon avis oui. Pour rappel : le mode parano est actuellement inutilisable avec l’actuel safehtml(). Du coup ça peut être une approche pour l’intégrer/le tester au fil de l’eau : commencé par les gens qui utilisent le mode parano en leur recommandant chaudement/forcant ce plugin.

    Ci dessous la liste des plugins que j’utilise sans problème hors textwheel/todo (cf https://core.spip.net/issues/4254) avec htmlPurifier :

    Abonnements 3.3.6 - stable
    Agenda 3.26.0 - stable
    API de vérification 1.8.1 - stable
    API Prix 0.1.16 - dev
    Article PDF 1.0.10 - stable
    Autorité 0.10.20 - stable
    Banque&paiement 3.6.7 - stable
    Cache Cool 0.5.4 - stable
    Challenge Hacking 1.0.0 - stable
    Champs Extras 3.11.7 - stable
    Chatbox 1.0.5 - stable
    Coloration Code 99 - stable
    Commandes 1.15.5 - stable
    Compositions 3.7.3 - stable
    Crayons 1.26.18 - stable
    CTF all the day 1.0.0 - stable
    Facteur 3.6.2 - stable
    Formulaire de contact avancé 0.16.5 - stable
    Frimousses 1.5.1 - stable
    GIS 4.44.24 - stable
    HTML Purifier 5.0.0.1 - test
    iCalendar 0.4.5 - test
    Import ics 4.4.3 - stable
    Imprimer document 0.2.2 - stable
    LangOnet 1.4.6 - stable
    MailShot 1.27.3 - stable
    MailSubscribers 2.11.3 - stable
    Markdown 1.0.2 - test
    Messagerie 3.1.8 - test
    Mini Calendrier 2.4.1 - stable
    Mot de passe dès l’inscription 1.0.19 - stable
    Newsletters 1.6.0 - stable
    Nombres de visiteurs connectés 0.2.3 - stable
    NoSPAM 1.5.18 - stable
    Notation 2.4.2 - test
    Notifications 3.6.8 - stable
    Notifications avancées 0.4.2 - test
    Pages 1.3.7 - stable
    Pre & Code 99 - test
    Saisies pour formulaires 3.11.1 - stable
    Social tags 1.1.1 - stable
    SPIP Bonux 3.4.6 - stable
    Tip A Friend 1.6.9 - stable
    Todo 2.2.1 - stable
    Traduction entre rubriques 3.1.3 - stable
    YAML 1.5.4 - stable

    Je pense que si on doit intégrer le plugin ça sera sur la version dev 3.3, pas sur la version stable, et ça va demander de prendre le temps de voir toutes les modifs et les impacts éventuels que tu n’aurais pas vu ou auxquelles tu n’aurais pas pensé.

    Clairement je pense me faire insulter :-) Je suis prêt ^^ Plus sérieusement il faut absolument tester/restester/reretester. J’ai tenté de faire au mieux mais je ne peux pas revoir tout le code HTML généré par les plugins... Au moindre écart de conformité HTML ca ne passera pas. Le bug https://core.spip.net/issues/4254 en est un bon exemple : avec htmlpurifier l’élément

    est supprimé ; avec "safehtml() standard" le code invalide est conservé et c’est le navigateur qui va corriger.

    Il faut voir les bons cotés : cela force les bonnes pratiques, met SPIP au plus haut niveau du standard (Drupal fait moins bien), aide a identifier des bugs et ce qui passe dans propre() sera obligatoirement valide. C’est aussi a terme moins de problèmes d’injection XSS a traiter pour la team.

    Sur la fonction de survol des logos le sujet reste ouvert ? On est en effet d’accord que cette écriture est obsolète et devrait être revue de toute façon, mais c’est donc un point à traiter dans le core le cas échéant

    Euh je comprend pas, faut-il intégrer le patch des puces de statut dans ce plugin ? Je pensais plus coder le truc """proprement""" avec un JS dans le directement dans /prive/. A décolérer complètement à mon sens.

    Encore merci pour le temps que tu y passes :)

  • Interfacing to an Xbox Optical Drive

    1er octobre 2013, par Multimedia Mike — xbox

    The next generation Xbox is going to hit the streets soon. But for some reason, I’m still interested in the previous generation’s unit (i.e., the original Xbox). Specifically, I’ve always wondered if it’s possible to use the original Xbox’s optical drive in order to read Xbox discs from Linux. I was never curious enough to actually buy an Xbox just to find out but I eventually came across a cast-off console on a recycle pile.

    I have long known that the Xbox has what appears to be a more or less standard optical drive with a 40-pin IDE connector. The only difference is the power adapter which I surmise is probably the easiest way to turn a bit of standardized hardware into a bit of proprietary hardware. The IDE and power connectors look like this :


    Xbox optical drive connections

    Thus, I wanted to try opening an Xbox and plugging the optical drive into a regular PC, albeit one that supports IDE cables, and allow the Xbox to supply power to the drive. Do you still have hardware laying around that has 40-pin IDE connectors ? I guess my Mac Mini PPC fits the bill, but I’ll be darned if I’m going to pry that thing open again. I have another IDE-capable machine buried in my closet, last called into service when I needed a computer with a native RS-232 port 3 years ago. The ordeal surrounding making this old computer useful right now can be another post entirely.

    Here’s what the monstrosity looks like thanks to characteristically short IDE cable lengths :


    Xbox optical drive connected directly to PC

    Click for larger image


    Process :

    1. Turn on Xbox first
    2. Turn on PC

    Doing these things in the opposite order won’t work since the kernel really wants to see the drive when booting up. Inspecting the 'dmesg' log afterward reveals interesting items :

    <br />
    hdd: PHILIPS XBOX DVD DRIVE, ATAPI CD/DVD-ROM drive<br />
    hdd: host max PIO5 wanted PIO255(auto-tune) selected PIO4<br />
    hdd: UDMA/33 mode selected<br />
    [...]<br />
    hdd: ATAPI DVD-ROM drive, 128kB Cache<br />

    Why is that interesting ? When is the last time to saw disk devices prefixed by ‘hd’ rather than ‘sd’ ? Blast from the past. Oh, and the optical drive’s vendor string clearly indicates that this is an Xbox drive saying ‘hi !’.

    Time To Read
    When I first studied an Xbox disc in a normal optical drive, I noticed that I was able to read 6992 2048-byte sectors — about 14 MB of data — as reported by the disc table of contents (TOC). This is just enough data to play a standard DVD video animation that kindly instructs the viewer to please use a proper Xbox. At this point, I estimated that there must be something special about Xbox optical drive firmware that knows how to read alternate information on these discs and access further sectors.

    I ran my TOC query tool with an Xbox Magazine demo disc in the optical drive and it reported substantially more than 6992 sectors, enough to account for more than 2 GB of data. That’s promising. I then tried running 'dd' against the device and it was able to read… about 14 MB, an exact quantity of bytes that, when divided by 2048 bytes/sector, yields 6992 sectors.

    Future (Past ?) Work
    Assuming Google is your primary window into the broader internet, the world is beginning to lose its memory of things pertaining to the original Xbox (Microsoft’s naming scheme certainly doesn’t help searches). What I’m saying is that it can be difficult to find information about this stuff now. However, I was able to learn that a host needs to perform a sort of cryptographic handshake with the drive at the SCSI level before it is allowed to access the forbidden areas of the disc. I think. I’m still investigating this and will hopefully post more soon.

  • How to install ffmpeg

    8 octobre 2017, par user5913892

    I want to make a "mini" editor video. My goal is, cut some part of the video and then save it and also create an undo button. Now , I was looking for the best solution (This operation have to be done in a website) and I found that I have to use ffmpeg. I didn’t know if ffmpeg was already installed on my server and I use this php script to discover it :

    &lt;?php

    /**
    * Test script for FFmpeg
    *
    * @author Andycoder /wdevblog.net.ru/>
    */

    ini_set('display_errors',1);
    error_reporting(E_ALL);

    $is_windows = strpos( php_uname(), "Windows" ) !== false;
    $ffmpeg_path = !empty( $_POST['ffmpeg_path'] ) &amp;&amp; strpos( $_POST['ffmpeg_path'], 'ffmpeg' ) !== false ? trim( $_POST['ffmpeg_path'] ) : '';
    if( !$ffmpeg_path &amp;&amp; !$is_windows ){
       $ffmpeg_path = trim( shell_exec( 'which ffmpeg' ) );
    }

    function getCodecs( $ffmpeg_path = '' ) {

       $lines = array();
       $encoders = array();
       exec( "{$ffmpeg_path} -codecs", $lines);

       foreach ($lines as $line) {

           if (preg_match('/^\s+([A-Z .]+)\s+(\w{2,})\s+(.*)$/', $line, $m)) {
               $type = trim($m[1]);
               if (strpos($type, 'E') !== false) {
                   $encoder = trim($m[2]);
                   if (strpos($encoder, ',') !== false) {
                       foreach (split(',', $encoder) as $e) {
                           $encoders[] = $e;
                       }
                   } else {
                       $encoders[] = $encoder;
                   }
               }
           }
       }
       sort($encoders);

       return $encoders;
    }

    function getPHPPath(){

       $is_windows = strpos( strtolower(php_uname()), 'windows' ) !== false;

       if( $is_windows ){
           $output = dirname(ini_get('extension_dir')) . "/php.exe";
       }else{
           $output = trim(shell_exec("which php"));
       }

       return $output;
    }

    $info = array();

    $info['php_version'] = array( 'name' => 'PHP version', 'value' => phpversion() );
    $info['php_path'] = array( 'name' => 'PHP path', 'value' =>  getPHPPath() );
    $info['web_server'] = array( 'name' => 'Web server', 'value' => $_SERVER['SERVER_SOFTWARE'] );
    $info['ffmpeg_path'] = array( 'name' => 'FFMPEG path', 'value' =>  $ffmpeg_path );

    $info['ffmpeg_version'] = array( 'name' => 'FFMPEG version', 'value' => '' );
    if( $ffmpeg_path ){
       $ffmpeg_ver = shell_exec( "{$ffmpeg_path} -version" );
       preg_match( '/.+version.+/', $ffmpeg_ver, $matches );
       if( !empty( $matches ) ){
           $info['ffmpeg_version']['value'] = $matches[0];
       }
    }
    $info['yamdi_path'] = array( 'name' => 'Yamdi path', 'value' => !$is_windows ? trim(shell_exec('which yamdi')) : '' );
    $info['mp4box_path'] = array( 'name' => 'MP4Box (GPAC) path', 'value' => !$is_windows ? trim(shell_exec('which MP4Box')) : '' );
    $info['qtfaststart_path'] = array( 'name' => 'qt-faststart path', 'value' => !$is_windows ? trim(shell_exec('which qt-faststart')) : '' );
    $info['flvtool2_path'] = array( 'name' => 'flvtool2 path', 'value' => !$is_windows ? trim(shell_exec('which flvtool2')) : '' );

    $info['ffmpeg_codecs'] = array( 'name' => 'FFMPEG codecs', 'value' => array() );
    if( $ffmpeg_path ) {
       $info['ffmpeg_codecs']['value'] = getCodecs( $ffmpeg_path );
    }

    if( empty( $info['ffmpeg_codecs']['value'] ) ){
       $info['ffmpeg_path']['value'] = '';
    }

    ksort($info);

    ?>



       



    <code class="echappe-js">&lt;script type=&quot;text/javascript&quot;&gt;<br />
       function expandCollapse( id ){<br />
           if( document.getElementById(id).style.display == 'none' ){<br />
               document.getElementById(id).style.display = 'block';<br />
           }else{<br />
               document.getElementById(id).style.display = 'none';<br />
           }<br />
       }<br />
    &lt;/script&gt;


    < ?php foreach( $info as $key => $opt ) : ?>

    < ?php endforeach ; ?>

    Property Value
    < ?php echo $opt[’name’] ; ?> :

    < ?php if( !empty( $opt[’value’] ) ) : ?>

    < ?php
    if( !is_array( $opt[’value’] ) ) :
    echo $opt[’value’] ;
    else : ?>

    [Expand/Collapse]

    < ?php foreach( $opt[’value’] as $val ) : ?>

    < ?php echo $val ; ?>

    < ?php endforeach ; ?>

    < ?php endif ; ?>

    < ?php else : ?>
    [Not found]
    < ?php endif ; ?>

    that return me this :

    enter image description here

    So, I have not ffmpeg installed on that server. The server should be Linux, I say this because I use one of the many website in Internet to discover it.
    enter image description here

    I know that the website say that the Webserver is Engine-x, but my company has told that is Apache (as the php script already told me). Now , I found this link http://www.mysql-apache-php.com/ffmpeg-install.htm (in Stackoverflow and many other parts) that say how to install ffmpeg in Linux, but Where should I execute these commands ? Should I use Putty ? or What ?