
Recherche avancée
Autres articles (84)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (15432)
-
Stopping Referrer Spam
13 mai 2015, par Piwik Core Team — CommunityIn this blog post we explain what is Referrer spam, this new kind of spam that has recently appeared on the Internet. We also provide solutions to stop it and preserve the quality of your analytics data.
What is Referrer Spam ?
Referrer spam (also known as log spam or referrer bombing) is a kind of spamming aimed at web analytics tools. A spammer bot makes repeated web site requests using a fake referrer URL to the site the spammer wishes to advertise.
Here is an example of referrer spam in action :
Half of those referrers are spams, here are some well know spammers that you may have seen in your logs :
buttons-for-you-website.com
,best-seo-offer.com
,semalt.com
…The benefit for spammers is that their website will appear in analytics tools like Piwik or Google Analytics :
- public analytics reports (or logs) will be indexed by search engines : links to the spammer’s website will improve its ranking
- curious webmasters are likely to visit their referrers, thus bringing traffic to the spammer’s website
How to deal with Referrer Spam ?
Referrer spam is still new and analytics tools are all handling it differently.
Referrer Spam in Piwik
At Piwik we started working on mitigating Referrer spam more than a year ago. If you use Piwik and keep it up to date, you do not need to do anything.
Referrer spammers are automatically excluded from your reports to keep your data clean and useful.
New spammers are continuously detected and added to Piwik’s blacklist on each update. If you find a new spammer in your analytics data, you can even report it so that it is added to the Piwik’s open referrer blacklist and blocked for everyone.
Referrer Spam in Google Analytics
Google Analytics doesn’t offer any spam protection by default. It can however be configured manually using a custom Filter.
To create a filter in Google Analytics go to the Admin section and click on All Filters. Create a new custom filter that excludes based on the Campaign Source field. In the Filter pattern enter the spammers domains you want to exclude (this is a regular expression) :
If new spammers arise you will need to update this list. You can also use Piwik’s referrer blacklist to exclude all the spammers currently detected.
Other Analytics Tools
Many web analytics tools do not yet handle Referrer spam and when using these tools, you will often find a lot of spam data in your Referrer Websites analytics reports.
If you use an analytics tool that does not exclude Referrer spam, we recommend to contact the vendor and ask them to implement a mechanism to remove these referrer spammers. As of today many analytics vendors still have not mitigated this issue.
Public List of Referrer Spammers
At Piwik with the help of our large community we have decided to tackle this growing spam issue. We have created a list of up to date referrer spammers that anyone can edit.
The list is available in a simple text file on Github : github.com/piwik/referrer-spam-blacklist.
The list is released under the Public Domain and anyone can use it within their applications to exclude referrer spammers.
Many people have already contributed new spammers to the list. We invite you to use the list in your apps and websites and help us keep the list up to date !
Let’s unite and fight the spammers together.
Happy Analytics !
-
Fatal error detected by JRE : libavcodec involved
16 novembre 2015, par hdfI’m experiencing this issue whenever I’m trying to run my java program. Could someone give me a clues on how to fix it ?
EDIT : the issue only occurs after a new environment has been set up.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#
#
# JRE version: OpenJDK Runtime Environment (7.0_85-b01) (build 1.7.0_85-b01)
# Java VM: OpenJDK 64-Bit Server VM (24.85-b03 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 2.6.1
# Distribution: Ubuntu 14.04 LTS, package 7u85-2.6.1-5ubuntu0.14.04.1
# Problematic frame:
# C [libavcodec.so.52.123.0+0x442060]
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x00007f8f70141800): JavaThread "threadpool-14" daemon [_thread_in_native, id=14508, stack(0x00007f8fa73a0000,0x00007f8fa74a1000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=128 (), si_addr=0x0000000000000000
Registers:
RAX=0x00007f8f701d2110, RBX=0x00007f8fa65030d0, RCX=0x00007f8fa688efd0, RDX=0x00007f8fa68904b0
RSP=0x00007f8fa749f380, RBP=0x00007f8fa749f3d8, RSI=0x000000000000000c, RDI=0x00007f8f701d2110
R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x00007f8fc5eb56e0, R11=0x00007f8fc591af50
R12=0x0000000000000000, R13=0x00007f8f701419d8, R14=0x00007f8fa749f578, R15=0x00007f8f70141800
RIP=0x00007f8fa688f060, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000000
TRAPNO=0x000000000000000d
Top of Stack: (sp=0x00007f8fa749f380)
0x00007f8fa749f380: 00007f8fa688f1a5 00007f8fa688ffe5
0x00007f8fa749f390: 00007f8fa6890025 00007f8fa6890065
0x00007f8fa749f3a0: 00007f8fa68900a5 00007f8fa68900e5
0x00007f8fa749f3b0: 00007f8fa6890125 00007f8fa68904b5
0x00007f8fa749f3c0: 00007f8fa6890678 00007f8fa7198f31
0x00007f8fa749f3d0: 0000000000000000 00007f8f70158540
0x00007f8fa749f3e0: 00007f8fa749f468 00007f8fa71966ae
0x00007f8fa749f3f0: 0000000776cfa560 0000000776cfa560...
Instructions: (pc=0x00007f8fa688f060)
0x00007f8fa688f040: c4 e3 5d 0c c0 55 c5 e4 5c c8 c5 e4 58 c0 c5 fc
0x00007f8fa688f050: 29 07 c5 fc 29 4f 20 c3 0f 1f 84 00 00 00 00 00
0x00007f8fa688f060: c5 fc 28 57 40 c5 fc 28 5f 60 c5 ec 5c fb c5 ec
0x00007f8fa688f070: 58 d3 c5 c4 57 3d 26 e0 13 00 c5 ec c6 df be c5
Register to memory mapping:
RAX=0x00007f8f701d2110 is an unknown value
RBX=0x00007f8fa65030d0: av_fft_calc+0 in /usr/local/lib/libavcodec.so.52.123.0 at 0x00007f8fa644d000
RCX=0x00007f8fa688efd0: <offset 0x441fd0="0x441fd0"> in /usr/local/lib/libavcodec.so.52.123.0 at 0x00007f8fa644d000
RDX=0x00007f8fa68904b0: <offset 0x4434b0="0x4434b0"> in /usr/local/lib/libavcodec.so.52.123.0 at 0x00007f8fa644d000
RSP=0x00007f8fa749f380 is pointing into the stack for thread: 0x00007f8f70141800
RBP=0x00007f8fa749f3d8 is pointing into the stack for thread: 0x00007f8f70141800
RSI=0x000000000000000c is an unknown value
RDI=0x00007f8f701d2110 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x0000000000000000 is an unknown value
R10=0x00007f8fc5eb56e0: <offset 0xe006e0="0xe006e0"> in /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so at 0x00007f8fc50b5000
R11=0x00007f8fc591af50: <offset 0x865f50="0x865f50"> in /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so at 0x00007f8fc50b5000
R12=0x0000000000000000 is an unknown value
R13=0x00007f8f701419d8 is an unknown value
R14=0x00007f8fa749f578 is pointing into the stack for thread: 0x00007f8f70141800
R15=0x00007f8f70141800 is a thread
Stack: [0x00007f8fa73a0000,0x00007f8fa74a1000], sp=0x00007f8fa749f380, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libavcodec.so.52.123.0+0x442060]
</offset></offset></offset></offset>This occurs on different physical instances so chances are pretty low it’s hardware issue. Thanks !
-
How to write unit tests for your plugin – Introducing the Piwik Platform
17 novembre 2014, par Thomas Steur — DevelopmentThis is the next post of our blog series where we introduce the capabilities of the Piwik platform (our previous post was How to verify user permissions). This time you’ll learn how to write unit tests in Piwik. For this tutorial you will need to have basic knowledge of PHP, PHPUnit and the Piwik platform.
When is a test a unit test ?
There are many different opinions on this and it can be sometimes hard to decide. At Piwik we consider a test as a unit test if only a single method or class is being tested and if a test does not have a dependency to the filesystem, web, config, database or to any other plugin.
If a test is slow it can be an indicator that it is not a unit test. “Slow” is of course a bit vague. We will cover how to write other type of tests, such as integration tests, in one of our next blog posts.
Getting started
In this post, we assume that you have already installed Piwik 2.9.0 or later via git, set up your development environment and created a plugin. If not, visit the Piwik Developer Zone where you’ll find the tutorial Setting up Piwik and other Guides that help you to develop a plugin.
Let’s create a unit test
We start by using the Piwik Console to create a new unit test :
./console generate:test --testtype unit
The command will ask you to enter the name of the plugin the created test should belong to. I will use the plugin name “Insights”. Next it will ask you for the name of the test. Here you usually enter the name of the class you want to test. I will use “Widgets” in this example. There should now be a file
plugins/Insights/tests/Unit/WidgetsTest.php
which contains already an example to get you started easily :- /**
- * @group Insights
- * @group WidgetsTest
- * @group Plugins
- */
- class WidgetsTest extends \PHPUnit_Framework_TestCase
- {
- public function testSimpleAddition()
- {
- $this->assertEquals(2, 1+1);
- }
- }
We don’t want to cover how you should write your unit test. This is totally up to you. If you have no experience in writing unit tests yet, we recommend to read articles on the topic, or a book, or to watch videos or anything else that will help you learn best.
Running a test
To run a test we will use the command
tests:run
which allows you to execute a test suite, a specific file or a group of tests.To verify whether the created test works we will run it as follows :
./console tests:run WidgetsTest
This will run all tests having the group
WidgetsTest
. As other tests can use the same group you might want to pass the path to your test file instead :./console tests:run plugins/Insights/tests/Unit/Widgets.php
If you want to run all tests within your plugin pass the name of your plugin as an argument :
./console tests:run insights
Of course you can also define multiple arguments :
./console tests:run insights WidgetsTest
This will execute all tests within the insights plugin having the group WidgetsTest. If you only want to run unit tests within your plugin you can do the following :
./console tests:run insights unit
Advanced features
Isn’t it easy to create a unit test ? We never even created a file ! You can accomplish even more if you want : You can generate other type of tests, you can run tests on Amazon’s AWS and more. Unfortunately, not everything is documented yet so we recommend to discover more features by executing the commands
./console list tests
and./console help tests:run
.If you have any feedback regarding our APIs or our guides in the Developer Zone feel free to send it to us.