Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (48)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (10250)

  • Announcing Long Term Support in Piwik 2 – The analytics platform for your mission critical projects

    11 janvier 2016, par Matthieu Aubry — About, Development

    We are proud to announce our Long Term Support (LTS) for Piwik 2.X !

    Why Long Term Support (LTS) ?

    Part of our mission is to ready Piwik for the enterprise — and ready the enterprise for Piwik. Our fast release cycle and our ability to quickly innovate has served us well for the past seven years and has lead Piwik to being one of the most popular open source projects, used by over one million websites worldwide. But Piwik’s success today has also shown us that this fast release cycle is not suited for all users and customers. Like most large open source projects (such as Ubuntu, Firefox, Debian, Symfony, Node.js, etc.) at Piwik we now also offer a Long Term Support release which gives users the confidence that Piwik can be used for mission critical projects for months to come.

    What does LTS mean for Piwik ?

    For the duration of the LTS period, Piwik 2.X will continue to receive the following fixes :

    • Critical bugs causing data loss or data corruption.
    • Major and Critical security issues.

    Our goal is to offer you a Piwik LTS release that you can trust for all your mission critical projects.

    How long will Piwik 2.X be supported ?

    Piwik 2.X will be supported for at least 12 months after the initial release of Piwik 3.0.0.
    Piwik 3.0.0 is expected to be released in the second half of 2016.
    This means that Piwik 2.X will be supported at least until the second half of 2017.

    Which Piwik version is LTS ?

    The latest Piwik 2.16.X release is our Long Term Support version.

    How do I benefit from the LTS version ?

    To get the full benefits of Piwik LTS, please make sure you are using the latest LTS version. First, update to the latest Piwik 2.X version, then Configure Piwik to use the LTS release channel and then update to the latest LTS version.

    How do I configure Piwik to use the LTS version ?

    By default, Piwik will not use the LTS version. When you use the one-click update your Piwik instance will be updated to the very latest release : when Piwik 3.0.0 will be released, the one click update will update your instance to 3.0.0. It is however possible to configure your Piwik so that you will stay on Piwik 2.X and keep using the LTS Long Term Support version :

    • Login Piwik as the Super User,
    • Go to Settings > General > Update settings,
    • Under “Release channel” click “Latest stable 2.X Long Term Support version”, and click “Save”.

    How do I get professional Piwik Support ?

    If you need professional support for your Piwik service get in touch with the Piwik experts.


    For other questions, feedback or discussion, feel free to join our forums and comment on this LTS forum post.

    We wish you all a fantastic year 2016 !

  • UDP Networking - SO_REUSEADDR and select failing on Windows

    22 janvier 2019, par Luca

    I’m trying to set up multiple instances of FFMpeg for receiving a MPEG 2 TS stream. Both application setup the SO_REUSEADDR socket option.

    The UDP socket bind is successful, but only the first FFMpeg instance is actually receiving. As soon as the receiving instance is closed, the second instance starts receiving.

    I’ve set up a unit test demonstrating the actual FFMpeg behavior, extracting the actual system calls executed. The test is failing because the select call does not detect an I/O event on the second socket.

    What prevents the second socket to receive the datagram ?

    Note : this is a Google Test test. Just replace the TEST macro with a main function to get it working.

    #include
    #include

    #pragma comment(lib, "ws2_32.lib")

    typedef unsigned long nfds_t;

    int FFMPEGSocket_CreateSocketTx()
    {
       return socket(AF_INET, SOCK_DGRAM, 0);
    }

    int FFMPEGSocket_CreateSocket()
    {
       // Create socket
       int fd = socket(AF_INET, SOCK_DGRAM, 0);

       EXPECT_GT(fd, 0);

       // Set SO_REUSEADDR
       int reuse_socket = 1;

       EXPECT_EQ(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse_socket, sizeof(reuse_socket)), 0);

       // Bind
       struct sockaddr_in udpService;

       udpService.sin_family = AF_INET;
       udpService.sin_addr.s_addr = htonl(INADDR_ANY);
       udpService.sin_port = htons(4609);

       EXPECT_EQ(::bind(fd, (SOCKADDR*)&udpService, sizeof(udpService)), 0);

       // Set non blocking IO
       u_long param = 1;

       EXPECT_EQ(ioctlsocket(fd, FIONBIO, &param), 0);

       return fd;
    }

    void FFMPEGSocket_CloseSocket(int fd)
    {
       closesocket(fd);
    }

    int FFMPEGSocket_Pool(struct pollfd *fds, nfds_t numfds, int timeout)
    {
       fd_set read_set;
       fd_set write_set;
       fd_set exception_set;
       nfds_t i;
       int n = 0;
       int rc;

       FD_ZERO(&read_set);
       FD_ZERO(&write_set);
       FD_ZERO(&exception_set);

       for (int i = 0; i < numfds; i++) {
           if (fds[i].events & POLLIN)
               FD_SET(fds[i].fd, &read_set);
           if (fds[i].events & POLLOUT)
               FD_SET(fds[i].fd, &write_set);
           if (fds[i].events & POLLERR)
               FD_SET(fds[i].fd, &exception_set);

           if (fds[i].fd >= n)
               n = fds[i].fd + 1;
       }

       timeval tv;
       tv.tv_sec = 100 / 1000;
       tv.tv_usec = 1000 * (100 % 1000);
       rc = select(n, &read_set, &write_set, &exception_set, &tv);

       for (int i = 0; i < numfds; i++) {
           fds[i].revents = 0;

           if (FD_ISSET(fds[i].fd, &read_set))
               fds[i].revents |= POLLIN;
           if (FD_ISSET(fds[i].fd, &write_set))
               fds[i].revents |= POLLOUT;
           if (FD_ISSET(fds[i].fd, &exception_set))
               fds[i].revents |= POLLERR;
       }

       return rc;
    }

    TEST(FFMPEGSocket, PosixReuseAddr)
    {
       WSADATA wsaData;

       // Initialize network layer
       std::memset(&wsaData, 0, sizeof(wsaData));
       WSAStartup(MAKEWORD(2, 2), &wsaData);

       // Create two receiving sockets
       int fd1 = FFMPEGSocket_CreateSocket();
       int fd2 = FFMPEGSocket_CreateSocket();
       int fdtx = FFMPEGSocket_CreateSocketTx();

       // Read loop
       int ev = POLLIN;
       struct pollfd p1 = { fd1, ev, 0 };
       struct pollfd p2 = { fd2, ev, 0 };

       bool p1event = false, p2event = false;
       char datagram[32] = { 0 };

       for (int i = 0; (i < 10) && (!p1event || !p2event); i++) {
           {   // Transmit a single datagram
               struct sockaddr_in udpService;

               udpService.sin_family = AF_INET;
               udpService.sin_addr.s_addr = htonl(0x7F000001);
               udpService.sin_port = htons(4609);

               sendto(fdtx, datagram, 32, 0, (const sockaddr*)&udpService, sizeof(udpService));
           }

           // Receive
           struct pollfd fds[2] = { p1, p2 };

           if (FFMPEGSocket_Pool(fds, 2, 1000) < 0)
               break;      // Fail

           if (fds[0].revents & POLLIN)
               p1event = true;
           if (fds[1].revents & POLLIN)
               p2event = true;
       }

       EXPECT_TRUE(p1event);
       EXPECT_TRUE(p2event);

       FFMPEGSocket_CloseSocket(fd1);
       FFMPEGSocket_CloseSocket(fd2);

       // Shutdown network layer
       WSACleanup();
    }
  • Announcing Long Term Support in Piwik 2 – The analytics platform for your mission critical projects

    11 janvier 2016, par Matthieu Aubry — About, Development

    We are proud to announce our Long Term Support (LTS) for Piwik 2.X !

    Why Long Term Support (LTS) ?

    Part of our mission is to ready Piwik for the enterprise — and ready the enterprise for Piwik. Our fast release cycle and our ability to quickly innovate has served us well for the past seven years and has lead Piwik to being one of the most popular open source projects, used by over one million websites worldwide. But Piwik’s success today has also shown us that this fast release cycle is not suited for all users and customers. Like most large open source projects (such as Ubuntu, Firefox, Debian, Symfony, Node.js, etc.) at Piwik we now also offer a Long Term Support release which gives users the confidence that Piwik can be used for mission critical projects for months to come.

    What does LTS mean for Piwik ?

    For the duration of the LTS period, Piwik 2.X will continue to receive the following fixes :

    • Critical bugs causing data loss or data corruption.
    • Major and Critical security issues.

    Our goal is to offer you a Piwik LTS release that you can trust for all your mission critical projects.

    How long will Piwik 2.X be supported ?

    Piwik 2.X will be supported for at least 12 months after the initial release of Piwik 3.0.0.
    Piwik 3.0.0 is expected to be released in the second half of 2016.
    This means that Piwik 2.X will be supported at least until the second half of 2017.

    Which Piwik version is LTS ?

    The latest Piwik 2.16.X release is our Long Term Support version.

    How do I benefit from the LTS version ?

    To get the full benefits of Piwik LTS, please make sure you are using the latest LTS version. First, update to the latest Piwik 2.X version, then Configure Piwik to use the LTS release channel and then update to the latest LTS version.

    How do I configure Piwik to use the LTS version ?

    By default, Piwik will not use the LTS version. When you use the one-click update your Piwik instance will be updated to the very latest release : when Piwik 3.0.0 will be released, the one click update will update your instance to 3.0.0. It is however possible to configure your Piwik so that you will stay on Piwik 2.X and keep using the LTS Long Term Support version :

    • Login Piwik as the Super User,
    • Go to Settings > General > Update settings,
    • Under “Release channel” click “Latest stable 2.X Long Term Support version”, and click “Save”.

    How do I get professional Piwik Support ?

    If you need professional support for your Piwik service get in touch with the Piwik PRO experts.


    For other questions, feedback or discussion, feel free to join our forums and comment on this LTS forum post.

    We wish you all a fantastic year 2016 !