
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (80)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (4642)
-
Anomalie #4543 : Accessibilité des chargements ajax (live regions)
4 septembre 2020, par nicod _Réponse à tes remarques que j’ai faites remonter :
J’ai bien compris que c’est l’utilisateur qui déclenche explicitement les modifications via lien ou bouton.
Je comprends le besoin d’avoir des paramètres qui gèrent automatiquement la génération de ces attributs.Et tu l’as dit toi-même :
Dans les faits, on ne peut donc pas du tout présumer de ce qui est chargé en ajax de façon générique, ça peut être une liste avec pagination, mais ça peut être aussi un fragment de html qui se recharge en fonction d’autres évènements, ou même une page où différents blocs sont chargés en ajax (asynchrone) et ne sont pas modifiés ensuite.
Donc en pratique, sans connaître les contenus et les interactions utilisateur/contenus on ne peut pas savoir si c’est une bonne chose ou pas d’avoir ces attributs.
La solution qui consiste à les positionner sur des éléments englobants, sauf coup de chance involontaire, sera mauvaise.
Sur le site de la région c’est flagrant.
Par ailleurs, je ne connais pas les compétences en accessibilité numérique des personnes qui te répondent.
En l’occurrence, les réponses semblent indiquer que les personnes en question ne maîtrisent pas vraiment :le fonctionnement des live region et leur raison d’être
le fonctionnement des lecteurs d’écran
la différence entre ce qui est vocalisé dans un lecteur d’écran, la position du focus clavier et la position du curseur du lecteur d’écran
l’utilisation des lecteurs d’écranLa phrase "lancer la lecture des contenus mis à jour c’est bien très exactement ce qu’on cherchait à faire avec ces attributs" montre qu’il s’agit d’une mauvaise utilisation des propriétés aria-live et semble démontrer une connaissance très limitée des 4 points cités plus haut.
Personnellement, je n’ai pas les compétences suffisantes sur ces 4 points pour avoir un avis, je me fie à celui de l’expert, qui est de simplement supprimer les attributs aria.
Par contre, je sais par expérience que aria n’est pas facile à utiliser, et qu’il vaut mieux ne pas l’utiliser que mal l’utiliser. -
How should I write my privacy notice for Matomo Analytics under GDPR ?
24 avril 2018, par InnoCraftImportant note : this blog post has been written by digital analysts, not lawyers. The purpose of this article is to show you an example of a privacy notice for Matomo under GDPR. This work comes from our interpretation of the UK privacy commission : ICO. It cannot be considered as professional legal advice. So as GDPR, this information is subject to change. We strongly advise you to have a look at the different privacy authorities in order to have up to date information.
A basic rule of thumb is that if you are not processing personal data, then you do not need to show any privacy notice. But if you are doing so, such as processing full IP addresses, then a privacy notice is required at the time of the data collection. Please note that personal data may also be hidden, for example, in page titles or page URLs.
In this blog post, we will define what a privacy notice is according to GDPR and how to write it if you are using Matomo and you are processing personal data.
What is a privacy notice under GDPR ?
One of the most important rights that a data subject has under GDPR, is the right to be informed about the collection and use of their personal data.
Here is what ICO is saying about the privacy notice :
“You must provide individuals with information including : your purposes for processing their personal data, your retention periods for that personal data, and who it will be shared with. We call this ‘privacy information’.”
“When you collect personal data from the individual it relates to, you must provide them with privacy information at the time you obtain their data.”
Note that a privacy notice is different from a privacy policy.
The privacy notice has to include :
- the reasons why you are processing the personal data
- for how long
- who the different parties you are going to share them with are
So whatever lawful basis you are using (explicit consent or legitimate interest), you need to have a privacy notice if you collect personal data.
What does this privacy notice look like ?
ICO is providing best practices in order to display the information :
- a layered approach
- dashboards
- just-in-time notices
- icons
- mobile and smart device functionalities
Once more, it really depends on the data you are processing with Matomo. If you wish to track personal data on the entire website, you will probably have an upper or footer privacy notice such as :
If you wish to process specific data, you could also insert just-in-time notices such as :
What is the information you need to disclose to the final user ?
To us, there are two things to distinguish between the privacy notice and the privacy policy.
According to ICO, the privacy notice needs to include the 3 following elements :
- the reasons why you are processing the personal data
- for how long
- who are the different parties you are going to share them with
But you also need to inform them about :
- The name and contact details of your organisation.
- The name and contact details of your representative (if applicable).
- The contact details of your data protection officer (if applicable).
- The purposes of the processing.
- The lawful basis for the processing.
- The legitimate interests for the processing (if applicable).
- The categories of personal data obtained (if the personal data is not obtained from the individual it relates to).
- The recipients or categories of recipients of the personal data.
- The details of transfers of the personal data to any third countries or international organisations (if applicable).
- The retention periods for the personal data.
- The rights available to individuals in respect of the processing.
- The right to withdraw consent (if applicable).
- The right to lodge a complaint with a supervisory authority.
- The source of the personal data (if the personal data is not obtained from the individual it relates to).
- The details of whether individuals are under a statutory or contractual obligation to provide the personal data (if applicable, and if the personal data is collected from the individual it relates to).
- The details of the existence of automated decision-making, including profiling (if applicable).
Pretty long, don’t you think ? In order to reduce it, you can either adopt a layered approach where your “pop-up” window will act as a drop down menu. Or from what we understood, page 5 of this document provided by ICO, a privacy notice can link to a more detailed document, such as a privacy policy page.
Examples
Let’s take the example of a website which tracks the non-anonymised full IP address, and using User ID functionality to keep track of logged-in users. Under GDPR, the owner of the website will have to choose either to process personal data based on “Legitimate interests” or on “Consent”. Here is how it will look like :
Example of a privacy notice under GDPR Legitimate interests
This site uses Matomo to analyze traffic and help us to improve your user experience.
We process your email address and IP address and cookies are stored on your browser for 13 months. This data is only processed by us and our web hosting platform. Please read our Privacy Policy to learn more.
Example of a privacy notice under GDPR Consent
This site uses Matomo to analyze traffic and help us to improve your user experience.
We process your email address and IP address and cookies are stored on your browser for 13 months. This data is only processed by us and our web hosting platform.
[Accept] or [Opt-out]
Please read our Privacy Policy to learn more.
Once that information is provided to the user, you can then link it to your privacy policy where you will provide more details about it. Soon we will issue a blog post dealing with how to write a privacy policy page for Matomo.
The post How should I write my privacy notice for Matomo Analytics under GDPR ? appeared first on Analytics Platform - Matomo.
-
FFMPEG Encode webcam to webm videos
10 août 2016, par Mohammad Abu MusaI am building a screen recorder that captures the screen from Chrome then encode the video to webm extension using FFMPEG.
The code below handles each frame I get from Chrome, I convert it to
unit8_t
I also have buffer size and frame size. The thread is working and I am handling all the frames correctly.I tired this these two sample codes to encode frames into a video
https://ffmpeg.org/doxygen/trunk/encoding-example_8c-source.html
https://www.ffmpeg.org/doxygen/0.6/output-example_8c-source.htmlbut I failed,
I want help to achieve the following
1- Register only VP8 codec, I do not want to register all codecs because I am not using all of them. (The compilation time takes to long to link all codecs)
2- Write frames to a context in the
function write_frame(const uint8_t * data, uint32_t size, int w, int h,float timestamp)
3- Encoding the video and store it.
I think I will make this code open source since many people asked for it using Google Native Client but I do not have enough experience with FFMPEG so I need some help
void OnGetFrame(int32_t result, pp::VideoFrame frame) {
if (result != PP_OK) {
LogToConsole(PP_LOGLEVEL_ERROR, pp::Var("OnGetFrame error"));
}
//get the bufffer data
const uint8_t* data = static_cast<const>(frame.GetDataBuffer());
pp::Size size;
frame.GetSize(&size);
if (!attrib_width_ || !attrib_height_) {
//initialize width, height and starttime
attrib_starttime_ = frame.GetTimestamp();
attrib_width_ = size.width();
attrib_height_ = size.height();
}
//DO SOMETHING WITH THE FRAME
if (is_recording_) {
uint32_t buffersize = frame.GetDataBufferSize();
frames_counter_++;
write_frame(data, buffersize, size.width(), size.height(),
frame.GetTimestamp());
} else
return;
//THEN DISPOSE IT
video_track_.RecycleFrame(frame);
//make sure tracks are configured properly
if (need_config_) {
ConfigureTrack();
return;
} else {
//AND REQUEST A NEW FRAME
video_track_.GetFrame(
callback_factory_.NewCallbackWithOutput(
&EncoderInstance::OnGetFrame));
}
}
void write_frame(const uint8_t * data, uint32_t size, int w, int h,
float timestamp) {
PostMessage("LOG:: Writing Frame \n");
}
</const>