web/lib/Zend/Cache.php
author Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
Fri, 23 May 2014 03:17:03 +0200
changeset 1118 96866d5ba708
parent 807 877f952ae2bd
child 1230 68c69c656a2c
permissions -rw-r--r--
add hybrid reading

<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Cache
 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Cache.php 24656 2012-02-26 06:02:53Z adamlundrigan $
 */


/**
 * @package    Zend_Cache
 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
abstract class Zend_Cache
{

    /**
     * Standard frontends
     *
     * @var array
     */
    public static $standardFrontends = array('Core', 'Output', 'Class', 'File', 'Function', 'Page');

    /**
     * Standard backends
     *
     * @var array
     */
    public static $standardBackends = array('File', 'Sqlite', 'Memcached', 'Libmemcached', 'Apc', 'ZendPlatform',
                                            'Xcache', 'TwoLevels', 'WinCache', 'ZendServer_Disk', 'ZendServer_ShMem');

    /**
     * Standard backends which implement the ExtendedInterface
     *
     * @var array
     */
    public static $standardExtendedBackends = array('File', 'Apc', 'TwoLevels', 'Memcached', 'Libmemcached', 'Sqlite', 'WinCache');

    /**
     * Only for backward compatibility (may be removed in next major release)
     *
     * @var array
     * @deprecated
     */
    public static $availableFrontends = array('Core', 'Output', 'Class', 'File', 'Function', 'Page');

    /**
     * Only for backward compatibility (may be removed in next major release)
     *
     * @var array
     * @deprecated
     */
    public static $availableBackends = array('File', 'Sqlite', 'Memcached', 'Libmemcached', 'Apc', 'ZendPlatform', 'Xcache', 'WinCache', 'TwoLevels');

    /**
     * Consts for clean() method
     */
    const CLEANING_MODE_ALL              = 'all';
    const CLEANING_MODE_OLD              = 'old';
    const CLEANING_MODE_MATCHING_TAG     = 'matchingTag';
    const CLEANING_MODE_NOT_MATCHING_TAG = 'notMatchingTag';
    const CLEANING_MODE_MATCHING_ANY_TAG = 'matchingAnyTag';

    /**
     * Factory
     *
     * @param mixed  $frontend        frontend name (string) or Zend_Cache_Frontend_ object
     * @param mixed  $backend         backend name (string) or Zend_Cache_Backend_ object
     * @param array  $frontendOptions associative array of options for the corresponding frontend constructor
     * @param array  $backendOptions  associative array of options for the corresponding backend constructor
     * @param boolean $customFrontendNaming if true, the frontend argument is used as a complete class name ; if false, the frontend argument is used as the end of "Zend_Cache_Frontend_[...]" class name
     * @param boolean $customBackendNaming if true, the backend argument is used as a complete class name ; if false, the backend argument is used as the end of "Zend_Cache_Backend_[...]" class name
     * @param boolean $autoload if true, there will no require_once for backend and frontend (useful only for custom backends/frontends)
     * @throws Zend_Cache_Exception
     * @return Zend_Cache_Core|Zend_Cache_Frontend
     */
    public static function factory($frontend, $backend, $frontendOptions = array(), $backendOptions = array(), $customFrontendNaming = false, $customBackendNaming = false, $autoload = false)
    {
        if (is_string($backend)) {
            $backendObject = self::_makeBackend($backend, $backendOptions, $customBackendNaming, $autoload);
        } else {
            if ((is_object($backend)) && (in_array('Zend_Cache_Backend_Interface', class_implements($backend)))) {
                $backendObject = $backend;
            } else {
                self::throwException('backend must be a backend name (string) or an object which implements Zend_Cache_Backend_Interface');
            }
        }
        if (is_string($frontend)) {
            $frontendObject = self::_makeFrontend($frontend, $frontendOptions, $customFrontendNaming, $autoload);
        } else {
            if (is_object($frontend)) {
                $frontendObject = $frontend;
            } else {
                self::throwException('frontend must be a frontend name (string) or an object');
            }
        }
        $frontendObject->setBackend($backendObject);
        return $frontendObject;
    }

    /**
     * Backend Constructor
     *
     * @param string  $backend
     * @param array   $backendOptions
     * @param boolean $customBackendNaming
     * @param boolean $autoload
     * @return Zend_Cache_Backend
     */
    public static function _makeBackend($backend, $backendOptions, $customBackendNaming = false, $autoload = false)
    {
        if (!$customBackendNaming) {
            $backend  = self::_normalizeName($backend);
        }
        if (in_array($backend, Zend_Cache::$standardBackends)) {
            // we use a standard backend
            $backendClass = 'Zend_Cache_Backend_' . $backend;
            // security controls are explicit
            require_once str_replace('_', DIRECTORY_SEPARATOR, $backendClass) . '.php';
        } else {
            // we use a custom backend
            if (!preg_match('~^[\w\\\\]+$~D', $backend)) {
                Zend_Cache::throwException("Invalid backend name [$backend]");
            }
            if (!$customBackendNaming) {
                // we use this boolean to avoid an API break
                $backendClass = 'Zend_Cache_Backend_' . $backend;
            } else {
                $backendClass = $backend;
            }
            if (!$autoload) {
                $file = str_replace('_', DIRECTORY_SEPARATOR, $backendClass) . '.php';
                if (!(self::_isReadable($file))) {
                    self::throwException("file $file not found in include_path");
                }
                require_once $file;
            }
        }
        return new $backendClass($backendOptions);
    }

    /**
     * Frontend Constructor
     *
     * @param string  $frontend
     * @param array   $frontendOptions
     * @param boolean $customFrontendNaming
     * @param boolean $autoload
     * @return Zend_Cache_Core|Zend_Cache_Frontend
     */
    public static function _makeFrontend($frontend, $frontendOptions = array(), $customFrontendNaming = false, $autoload = false)
    {
        if (!$customFrontendNaming) {
            $frontend = self::_normalizeName($frontend);
        }
        if (in_array($frontend, self::$standardFrontends)) {
            // we use a standard frontend
            // For perfs reasons, with frontend == 'Core', we can interact with the Core itself
            $frontendClass = 'Zend_Cache_' . ($frontend != 'Core' ? 'Frontend_' : '') . $frontend;
            // security controls are explicit
            require_once str_replace('_', DIRECTORY_SEPARATOR, $frontendClass) . '.php';
        } else {
            // we use a custom frontend
            if (!preg_match('~^[\w\\\\]+$~D', $frontend)) {
                Zend_Cache::throwException("Invalid frontend name [$frontend]");
            }
            if (!$customFrontendNaming) {
                // we use this boolean to avoid an API break
                $frontendClass = 'Zend_Cache_Frontend_' . $frontend;
            } else {
                $frontendClass = $frontend;
            }
            if (!$autoload) {
                $file = str_replace('_', DIRECTORY_SEPARATOR, $frontendClass) . '.php';
                if (!(self::_isReadable($file))) {
                    self::throwException("file $file not found in include_path");
                }
                require_once $file;
            }
        }
        return new $frontendClass($frontendOptions);
    }

    /**
     * Throw an exception
     *
     * Note : for perf reasons, the "load" of Zend/Cache/Exception is dynamic
     * @param  string $msg  Message for the exception
     * @throws Zend_Cache_Exception
     */
    public static function throwException($msg, Exception $e = null)
    {
        // For perfs reasons, we use this dynamic inclusion
        require_once 'Zend/Cache/Exception.php';
        throw new Zend_Cache_Exception($msg, 0, $e);
    }

    /**
     * Normalize frontend and backend names to allow multiple words TitleCased
     *
     * @param  string $name  Name to normalize
     * @return string
     */
    protected static function _normalizeName($name)
    {
        $name = ucfirst(strtolower($name));
        $name = str_replace(array('-', '_', '.'), ' ', $name);
        $name = ucwords($name);
        $name = str_replace(' ', '', $name);
        if (stripos($name, 'ZendServer') === 0) {
            $name = 'ZendServer_' . substr($name, strlen('ZendServer'));
        }

        return $name;
    }

    /**
     * Returns TRUE if the $filename is readable, or FALSE otherwise.
     * This function uses the PHP include_path, where PHP's is_readable()
     * does not.
     *
     * Note : this method comes from Zend_Loader (see #ZF-2891 for details)
     *
     * @param string   $filename
     * @return boolean
     */
    private static function _isReadable($filename)
    {
        if (!$fh = @fopen($filename, 'r', true)) {
            return false;
        }
        @fclose($fh);
        return true;
    }

}
PKFBV}* tweet_live-84dd55fc7370/web/.htaccess.tmplUTmQPKFB[mB .tweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/config.phpUTmQPKFBx̐[ tweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyL tweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/images/head_logo.gifUTmQPKFB\tFM 3tweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/images/museo-2011.jpgUTmQPKFBЕ;3>dBeR tweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/images/slide4_museo_fr.pngUTmQPKFB7[MB^sA hvtweet_live-84dd55fc7370/web/2011-2012-museo-audiovisuel/index.phpUTmQPKFBP' C >wtweet_live-84dd55fc7370/web/2011-2012-museo-contribution/config.phpUTmQPKFBx̐\ \}tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyM  tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/head_logo.gifUTmQPKFB\tFN } tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/museo-2011.jpgUTmQPKFBl>dBeT tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/polemic_fly_home.pngUTmQPKFBЕ;3>dBeS tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/slide4_museo_fr.pngUTmQPKFBX6GI D S }Rtweet_live-84dd55fc7370/web/2011-2012-museo-contribution/images/tweetExplainBgd.gifUTmQPKFBWj~B P\tweet_live-84dd55fc7370/web/2011-2012-museo-contribution/index.phpUTmQPKFB)W< 3]tweet_live-84dd55fc7370/web/2011-2012-museo-desir/config.phpUTmQPKFBeA=S kctweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/big_visuel_catastrophe.jpgUTmQPKFBx̐U 6Ztweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyF tweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/head_logo.gifUTmQPKFB\tFG Itweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/museo-2011.jpgUTmQPKFBl>dBeM etweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/polemic_fly_home.pngUTmQPKFBЕ;3>dBeL stweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/slide4_museo_fr.pngUTmQPKFBX6GI D L 4/tweet_live-84dd55fc7370/web/2011-2012-museo-desir/images/tweetExplainBgd.gifUTmQPKFBWj~; 9tweet_live-84dd55fc7370/web/2011-2012-museo-desir/index.phpUTmQPKFBbc A 9tweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/config.phpUTmQPKFBx̐Z ?tweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyK tweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/images/head_logo.gifUTmQPKFB\tFL tweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/images/museo-2011.jpgUTmQPKFBЕ;3>dBeQ xKtweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/images/slide4_museo_fr.pngUTmQPKFBWj~@ >tweet_live-84dd55fc7370/web/2011-2012-museo-ingenierie/index.phpUTmQPKFB7a A tweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/config.phpUTmQPKFBx̐Z vtweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyK G#tweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/images/head_logo.gifUTmQPKFB\tFL L#tweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/images/museo-2011.jpgUTmQPKFBЕ;3>dBeQ #tweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/images/slide4_museo_fr.pngUTmQPKFB7[MB^s@ &&tweet_live-84dd55fc7370/web/2011-2012-museo-interfaces/index.phpUTmQPKFBw@ 큛'&tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/config.phpUTmQPKFBeA=W .&tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/big_visuel_catastrophe.jpgUTmQPKFBx̐Y %'tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyJ 4*tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/head_logo.gifUTmQPKFB\tFK 큫*tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/museo-2011.jpgUTmQPKFBl>dBeQ 1+tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/polemic_fly_home.pngUTmQPKFBЕ;3>dBeV ݕ-tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/slide4_catastrophe_fr.pngUTmQPKFBX6GI D P /tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/images/tweetExplainBgd.gifUTmQPKFBWj~? x0tweet_live-84dd55fc7370/web/2011-2012-museo-ouverture/index.phpUTmQPKFB^ F X0tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/config.phpUTmQPKFBeA=] 0tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/big_visuel_catastrophe.jpgUTmQPKFBx̐_ 1tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/big_visuel_museo_2011_fr.pngUTmQPKFBfyP b4tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/head_logo.gifUTmQPKFB\tFQ ߘ4tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/museo-2011.jpgUTmQPKFBl>dBeW Q5tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/polemic_fly_home.pngUTmQPKFBЕ;3>dBeV s7tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/slide4_museo_fr.pngUTmQPKFBX6GI D V 9tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/images/tweetExplainBgd.gifUTmQPKFBWj~E 9tweet_live-84dd55fc7370/web/2011-2012-museo-structured-data/index.phpUTmQPKFBOz* 9tweet_live-84dd55fc7370/web/CPV/config.phpUTmQPKFB-|8Е=8 T9tweet_live-84dd55fc7370/web/CPV/images/big_visuel_mb.pngUTmQPKFB4c4 }?tweet_live-84dd55fc7370/web/CPV/images/head_logo.gifUTmQPKFBjJʵ3 Á?tweet_live-84dd55fc7370/web/CPV/images/tail_cpv.pngUTmQPKFB7p : 7Atweet_live-84dd55fc7370/web/CPV/images/tweetExplainBgd.gifUTmQPKFBWj~) CAtweet_live-84dd55fc7370/web/CPV/index.phpUTmQPKFBF. DAtweet_live-84dd55fc7370/web/CPV/traduction.phpUTmQPKFB Un%v` ? bJAtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/config.phpUTmQPKFBCѧtiR NOAtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/images/big_visuel_rsln_mb.jpgUTmQPKFBatB p I >Ctweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/images/head_logo.gifUTmQPKFB IKF LCtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/images/slide4.jpgUTmQPKFBJM#rsS eeDtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/images/tail_jane-mcgonigal.jpgUTmQPKFBX6GI D O Dtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/images/tweetExplainBgd.gifUTmQPKFBWj~> Dtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/index.phpUTmQPKFBcC Dtweet_live-84dd55fc7370/web/JaneMcGonigal-gameDesign/traduction.phpUTmQPKFBC% KDtweet_live-84dd55fc7370/web/about.phpUTmQPKFB / / Dtweet_live-84dd55fc7370/web/archives-iframe.phpUTmQPKFBw2,qe( Dtweet_live-84dd55fc7370/web/archives.phpUTmQPKFB2 \1 Dtweet_live-84dd55fc7370/web/archives_metadata.phpUTmQPKFBlB 0Etweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/config.phpUTmQPKFBRAUchdJ \Etweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/images/archive.jpgUTmQPKFB9E[eM lEtweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/images/bgd_player.jpgUTmQPKFB6 S""$M Gtweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/images/fond_slide.jpgUTmQPKFBXyL g6Htweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/images/logo_head.pngUTmQPKFBWj~A EHtweet_live-84dd55fc7370/web/bpi-des-livres-aux-machines/index.phpUTmQPKFBq@0 FHtweet_live-84dd55fc7370/web/bpidoudou/config.phpUTmQPKFBxrƉ< NHtweet_live-84dd55fc7370/web/bpidoudou/images/archive_img.jpgUTmQPKFBNԌ|{> EHtweet_live-84dd55fc7370/web/bpidoudou/images/client_visual.jpgUTmQPKFBXy: 6TJtweet_live-84dd55fc7370/web/bpidoudou/images/logo_head.pngUTmQPKFBgA ycJtweet_live-84dd55fc7370/web/bpidoudou/images/slide_background.jpgUTmQPKFBWj~/ Ktweet_live-84dd55fc7370/web/bpidoudou/index.phpUTmQPKFBK( u!Ktweet_live-84dd55fc7370/web/callback.phpUTmQPKFB*-Z / $Ktweet_live-84dd55fc7370/web/caps2012/config.phpUTmQPKFBk9|@ `1Ktweet_live-84dd55fc7370/web/caps2012/images/caps2012_archive.jpgUTmQPKFB6ӺD Ktweet_live-84dd55fc7370/web/caps2012/images/caps2012_live_screen.jpgUTmQPKFBW? ^Mtweet_live-84dd55fc7370/web/caps2012/images/caps2012_slider.pngUTmQPKFBi: ?Rtweet_live-84dd55fc7370/web/caps2012/images/logo_ec_en.gifUTmQPKFB ŜCfs. DRtweet_live-84dd55fc7370/web/caps2012/index.phpUTmQPKFB9d;% 큈ERtweet_live-84dd55fc7370/web/clear.phpUTmQPKFB6g\6 0 GRtweet_live-84dd55fc7370/web/clic-2012/config.phpUTmQPKFB<9esf= QRtweet_live-84dd55fc7370/web/clic-2012/images/clic_archive.jpgUTmQPKFB 9HIA IRtweet_live-84dd55fc7370/web/clic-2012/images/clic_live_screen.jpgUTmQPKFBVNh< Stweet_live-84dd55fc7370/web/clic-2012/images/clic_slider.jpgUTmQPKFB⷗ԐNO? SUtweet_live-84dd55fc7370/web/clic-2012/images/head_logo_clic.pngUTmQPKFB7[MB^s/ YdUtweet_live-84dd55fc7370/web/clic-2012/index.phpUTmQPKFB4{ֶI]& eUtweet_live-84dd55fc7370/web/client.phpUTmQPKFBی z3& zUtweet_live-84dd55fc7370/web/common.phpUTmQPKFBsa+ Utweet_live-84dd55fc7370/web/config.php.tmplUTmQPKFB WC GUtweet_live-84dd55fc7370/web/curiouser-digital-humanities/config.phpUTmQPKFBafo#p$U Utweet_live-84dd55fc7370/web/curiouser-digital-humanities/images/Archive_Curiouser.jpgUTmQPKFB915R ׵Utweet_live-84dd55fc7370/web/curiouser-digital-humanities/images/Logo_Curiouser.gifUTmQPKFB7FF- Y R Utweet_live-84dd55fc7370/web/curiouser-digital-humanities/images/Logo_Curiouser.pngUTmQPKFB;X GUtweet_live-84dd55fc7370/web/curiouser-digital-humanities/images/bgd-player_Curiouser.jpgUTmQPKFBiP]itxX Vtweet_live-84dd55fc7370/web/curiouser-digital-humanities/images/fond_slide_Curiouser.jpgUTmQPKFB7[MB^sB GWtweet_live-84dd55fc7370/web/curiouser-digital-humanities/index.phpUTmQPKFBv!]> GWtweet_live-84dd55fc7370/web/edito-1213-01-contextes/config.phpUTmQPKFBzk%UJWJ PWtweet_live-84dd55fc7370/web/edito-1213-01-contextes/images/archive_img.jpgUTmQPKFBVUf0L ʦWtweet_live-84dd55fc7370/web/edito-1213-01-contextes/images/client_visual.jpgUTmQPKFB0I }Xtweet_live-84dd55fc7370/web/edito-1213-01-contextes/images/logo-edito.pngUTmQPKFB^^O Xtweet_live-84dd55fc7370/web/edito-1213-01-contextes/images/slide_background.jpgUTmQPKFBWj~= jrYtweet_live-84dd55fc7370/web/edito-1213-01-contextes/index.phpUTmQPKFBb@G HsYtweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/config.phpUTmQPKFBzk%UJWS zYtweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/images/archive_img.jpgUTmQPKFBVUf0U Ytweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/images/client_visual.jpgUTmQPKFB0R dZtweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/images/logo-edito.pngUTmQPKFB^^X Ztweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/images/slide_background.jpgUTmQPKFBWj~F c[tweet_live-84dd55fc7370/web/edito-1213-02-collectifs-auteurs/index.phpUTmQPKFBsڐQ@ J[tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/config.phpUTmQPKFBzk%UJWL [tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/images/archive_img.jpgUTmQPKFBVUf0N ,[tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/images/client_visual.jpgUTmQPKFB0K \tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/images/logo-edito.pngUTmQPKFB^^Q }\tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/images/slide_background.jpgUTmQPKFBWj~? ]tweet_live-84dd55fc7370/web/edito-1213-04-lire-ecrire/index.phpUTmQPKFB < F ]tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/config.phpUTmQPKFBzk%UJWR k]tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/images/archive_img.jpgUTmQPKFBVUf0T "^tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/images/client_visual.jpgUTmQPKFB0Q F^tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/images/logo-edito.pngUTmQPKFB^^W _tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/images/slide_background.jpgUTmQPKFB7[MB^sE C_tweet_live-84dd55fc7370/web/edito-1213-05-supports-ecriture/index.phpUTmQPKFB C)H _tweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/config.phpUTmQPKFBzk%UJWT _tweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/images/archive_img.jpgUTmQPKFBVUf0V L`tweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/images/client_visual.jpgUTmQPKFB0S d%atweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/images/logo-edito.pngUTmQPKFB^^Y ?atweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/images/slide_background.jpgUTmQPKFB7[MB^sG ebtweet_live-84dd55fc7370/web/edito-1213-06-modeles-economiques/index.phpUTmQPKFBWIi< Abtweet_live-84dd55fc7370/web/edito-arts-numeriques/config.phpUTmQPKFB |&(U btweet_live-84dd55fc7370/web/edito-arts-numeriques/images/archive-editorialisation.jpgUTmQPKFB4:@vM Fbtweet_live-84dd55fc7370/web/edito-arts-numeriques/images/big_visuel_edito.jpgUTmQPKFBfyF btweet_live-84dd55fc7370/web/edito-arts-numeriques/images/head_logo.gifUTmQPKFBc+LPT /btweet_live-84dd55fc7370/web/edito-arts-numeriques/images/slide4-editorialisation.jpgUTmQPKFBWj~; +ctweet_live-84dd55fc7370/web/edito-arts-numeriques/index.phpUTmQPKFBIZ9 t,ctweet_live-84dd55fc7370/web/edito-datacuration/config.phpUTmQPKFB |&(R h3ctweet_live-84dd55fc7370/web/edito-datacuration/images/archive-editorialisation.jpgUTmQPKFB4:@vJ Zctweet_live-84dd55fc7370/web/edito-datacuration/images/big_visuel_edito.jpgUTmQPKFBfyC !ctweet_live-84dd55fc7370/web/edito-datacuration/images/head_logo.gifUTmQPKFBc+LPQ ctweet_live-84dd55fc7370/web/edito-datacuration/images/slide4-editorialisation.jpgUTmQPKFB7[MB^s8 >dtweet_live-84dd55fc7370/web/edito-datacuration/index.phpUTmQPKFB5G!7 ?dtweet_live-84dd55fc7370/web/edito-inaugurale/config.phpUTmQPKFB |&(P SDdtweet_live-84dd55fc7370/web/edito-inaugurale/images/archive-editorialisation.jpgUTmQPKFB4:@vH jdtweet_live-84dd55fc7370/web/edito-inaugurale/images/big_visuel_edito.jpgUTmQPKFBfyA dtweet_live-84dd55fc7370/web/edito-inaugurale/images/head_logo.gifUTmQPKFBc+LPO vetweet_live-84dd55fc7370/web/edito-inaugurale/images/slide4-editorialisation.jpgUTmQPKFB9 > G Oetweet_live-84dd55fc7370/web/edito-inaugurale/images/tweetExplainBgd.gifUTmQPKFBWj~6 큖\etweet_live-84dd55fc7370/web/edito-inaugurale/index.phpUTmQPKFBŚTm 9 m]etweet_live-84dd55fc7370/web/edito-intelligence/config.phpUTmQPKFB |&(R 1cetweet_live-84dd55fc7370/web/edito-intelligence/images/archive-editorialisation.jpgUTmQPKFB4:@vJ Ήetweet_live-84dd55fc7370/web/edito-intelligence/images/big_visuel_edito.jpgUTmQPKFBfyC ftweet_live-84dd55fc7370/web/edito-intelligence/images/head_logo.gifUTmQPKFBc+LPQ Z!ftweet_live-84dd55fc7370/web/edito-intelligence/images/slide4-editorialisation.jpgUTmQPKFB9 > I nftweet_live-84dd55fc7370/web/edito-intelligence/images/tweetExplainBgd.gifUTmQPKFBWj~8 ~{ftweet_live-84dd55fc7370/web/edito-intelligence/index.phpUTmQPKFBO8{ < W|ftweet_live-84dd55fc7370/web/edito-reseaux-sociaux/config.phpUTmQPKFB |&(U ftweet_live-84dd55fc7370/web/edito-reseaux-sociaux/images/archive-editorialisation.jpgUTmQPKFB4:@vM #ftweet_live-84dd55fc7370/web/edito-reseaux-sociaux/images/big_visuel_edito.jpgUTmQPKFBfyF B;gtweet_live-84dd55fc7370/web/edito-reseaux-sociaux/images/head_logo.gifUTmQPKFBc+LPT @gtweet_live-84dd55fc7370/web/edito-reseaux-sociaux/images/slide4-editorialisation.jpgUTmQPKFBWj~; gtweet_live-84dd55fc7370/web/edito-reseaux-sociaux/index.phpUTmQPKFB?xMA: gtweet_live-84dd55fc7370/web/edito-serious-games/config.phpUTmQPKFB |&(S gtweet_live-84dd55fc7370/web/edito-serious-games/images/archive-editorialisation.jpgUTmQPKFB4:@vK Vgtweet_live-84dd55fc7370/web/edito-serious-games/images/big_visuel_edito.jpgUTmQPKFBfyD sPhtweet_live-84dd55fc7370/web/edito-serious-games/images/head_logo.gifUTmQPKFBc+LPR Uhtweet_live-84dd55fc7370/web/edito-serious-games/images/slide4-editorialisation.jpgUTmQPKFBWj~9 Khtweet_live-84dd55fc7370/web/edito-serious-games/index.phpUTmQPKFBXA 3 %htweet_live-84dd55fc7370/web/edito-webdoc/config.phpUTmQPKFB |&(L Шhtweet_live-84dd55fc7370/web/edito-webdoc/images/archive-editorialisation.jpgUTmQPKFB4:@vD ghtweet_live-84dd55fc7370/web/edito-webdoc/images/big_visuel_edito.jpgUTmQPKFBfy= }aitweet_live-84dd55fc7370/web/edito-webdoc/images/head_logo.gifUTmQPKFBc+LPK fitweet_live-84dd55fc7370/web/edito-webdoc/images/slide4-editorialisation.jpgUTmQPKFB9 > C Gitweet_live-84dd55fc7370/web/edito-webdoc/images/tweetExplainBgd.gifUTmQPKFBWj~2 itweet_live-84dd55fc7370/web/edito-webdoc/index.phpUTmQPKFB'QF"+, itweet_live-84dd55fc7370/web/edito/config.phpUTmQPKFBzk%UJW8 Witweet_live-84dd55fc7370/web/edito/images/archive_img.jpgUTmQPKFBVUf0: ]jtweet_live-84dd55fc7370/web/edito/images/client_visual.jpgUTmQPKFB07 jtweet_live-84dd55fc7370/web/edito/images/logo-edito.pngUTmQPKFB^^= ktweet_live-84dd55fc7370/web/edito/images/slide_background.jpgUTmQPKFB|4[^s+ ktweet_live-84dd55fc7370/web/edito/index.phpUTmQPKFB|4[^s7 ktweet_live-84dd55fc7370/web/edito/polemicaltimeline.phpUTmQPKFB+X: Sktweet_live-84dd55fc7370/web/eduinnov-conference/config.phpUTmQPKFBF+ o8sF ktweet_live-84dd55fc7370/web/eduinnov-conference/images/archive_img.jpgUTmQPKFB̀@D `ltweet_live-84dd55fc7370/web/eduinnov-conference/images/logo_head.pngUTmQPKFByF ^|ltweet_live-84dd55fc7370/web/eduinnov-conference/images/slider_home.pngUTmQPKFB7[MB^s9 |Entweet_live-84dd55fc7370/web/eduinnov-conference/index.phpUTmQPKFB 5 JFntweet_live-84dd55fc7370/web/eduinnov-focus/config.phpUTmQPKFBF+ o8sA =Qntweet_live-84dd55fc7370/web/eduinnov-focus/images/archive_img.jpgUTmQPKFB̀@? ntweet_live-84dd55fc7370/web/eduinnov-focus/images/logo_head.pngUTmQPKFByA untweet_live-84dd55fc7370/web/eduinnov-focus/images/slider_home.pngUTmQPKFB7[MB^s4 ptweet_live-84dd55fc7370/web/eduinnov-focus/index.phpUTmQPKFBPi&tM/ Wptweet_live-84dd55fc7370/web/eduinnov/config.phpUTmQPKFBF+ o8s; 1ptweet_live-84dd55fc7370/web/eduinnov/images/archive_img.jpgUTmQPKFB̀@9 qtweet_live-84dd55fc7370/web/eduinnov/images/logo_head.pngUTmQPKFBy; ]:qtweet_live-84dd55fc7370/web/eduinnov/images/slider_home.pngUTmQPKFB|4[^s. pstweet_live-84dd55fc7370/web/eduinnov/index.phpUTmQPKFBΆ}o> 3stweet_live-84dd55fc7370/web/eduinov-2013/conference/config.phpUTmQPKFB'C*J % stweet_live-84dd55fc7370/web/eduinov-2013/conference/images/archive_img.jpgUTmQPKFBZrqZU \L 13stweet_live-84dd55fc7370/web/eduinov-2013/conference/images/client_visual.jpgUTmQPKFBœ/0H ?stweet_live-84dd55fc7370/web/eduinov-2013/conference/images/head-logo.pngUTmQPKFB?Y]1cO Qstweet_live-84dd55fc7370/web/eduinov-2013/conference/images/slide_background.jpgUTmQPKFB7[MB^s= ttweet_live-84dd55fc7370/web/eduinov-2013/conference/index.phpUTmQPKFBV3 ]ttweet_live-84dd55fc7370/web/eduinov-2013/config.phpUTmQPKFB'C*? {ttweet_live-84dd55fc7370/web/eduinov-2013/images/archive_img.jpgUTmQPKFBZrqZU \A |Cttweet_live-84dd55fc7370/web/eduinov-2013/images/client_visual.jpgUTmQPKFBœ/0= ttweet_live-84dd55fc7370/web/eduinov-2013/images/head-logo.pngUTmQPKFB?Y]1cD ttweet_live-84dd55fc7370/web/eduinov-2013/images/slide_background.jpgUTmQPKFB|4[^s2 'utweet_live-84dd55fc7370/web/eduinov-2013/index.phpUTmQPKFBmc> |(utweet_live-84dd55fc7370/web/eduinov-2013/polemicaltimeline.phpUTmQPKFBE{sR"? T)utweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/config.phpUTmQPKFB'C*K 8utweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/images/archive_img.jpgUTmQPKFBZrqZU \M `utweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/images/client_visual.jpgUTmQPKFBœ/0I utweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/images/head-logo.pngUTmQPKFB?Y]1cP utweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/images/slide_background.jpgUTmQPKFB7[MB^s> Evtweet_live-84dd55fc7370/web/eduinov-2013/table-ronde/index.phpUTmQPKFBR%!B7* Evtweet_live-84dd55fc7370/web/embed_form.phpUTmQPKFB, + {Jvtweet_live-84dd55fc7370/web/embedscript.phpUTmQPKFB5w$ 5 Nvtweet_live-84dd55fc7370/web/enmi12-barcamp/config.phpUTmQPKFBF; Svtweet_live-84dd55fc7370/web/enmi12-barcamp/images/large.jpgUTmQPKFB&yu? wtweet_live-84dd55fc7370/web/enmi12-barcamp/images/logo-enmi.pngUTmQPKo".w