diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1432af75bbb224b56f0dd396091815b31cf90fd1..75c56652058a7033cd5808c5db8e6109ddd06789 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,4 +19,5 @@ cache:
 update-satis:
   stage: publish
   script:
-    - update-satis
+    - curl https://gest.unicaen.fr/packagist/update
+
diff --git a/config/module.config.php b/config/module.config.php
index 1847f0a2a79b721b04281c658e787314de1ec38f..44c707f89a9496a9fcbb094a7a8c215a88bebef5 100755
--- a/config/module.config.php
+++ b/config/module.config.php
@@ -3,13 +3,14 @@
 namespace UnicaenOracle;
 
 use Doctrine\DBAL\Driver\OCI8\Driver as OCI8;
-use UnicaenOracle\ORM\Query\Functions\PasHistorise;
 use UnicaenOracle\Controller\Factory\IndexControllerFactory;
 use UnicaenOracle\Controller\IndexController;
 use UnicaenOracle\DBAL\Event\Listeners\OracleSessionInit;
 use UnicaenOracle\ORM\Query\Functions\Chr;
 use UnicaenOracle\ORM\Query\Functions\CompriseEntre;
 use UnicaenOracle\ORM\Query\Functions\Convert;
+use UnicaenOracle\ORM\Query\Functions\PasHistorise;
+use UnicaenOracle\ORM\Query\Functions\RegexpCount;
 use UnicaenOracle\ORM\Query\Functions\Replace;
 use UnicaenOracle\Service\DataService;
 use UnicaenOracle\Service\SchemaService;
@@ -27,6 +28,7 @@ return [
                     'CHR'     => Chr::class,
                     'CONVERT' => Convert::class,
                     'REPLACE' => Replace::class,
+                    'REGEXP_COUNT' => RegexpCount::class,
 
                     // fonctions du package PL/SQL "UNICAEN_ORACLE" (cf. "../data/package.sql")
                     'compriseEntre' => CompriseEntre::class,
diff --git a/src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php b/src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php
new file mode 100644
index 0000000000000000000000000000000000000000..f97f1487aaf66d25bda8cc96a106906268a82cde
--- /dev/null
+++ b/src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace UnicaenOracle\ORM\Query\Functions;
+
+use Doctrine\ORM\Query\Lexer;
+use Doctrine\ORM\Query\AST\Functions\FunctionNode;
+use Doctrine\ORM\Query\Parser;
+use Doctrine\ORM\Query\SqlWalker;
+
+/**
+ * Class RegexpCount
+ * @see https://stackoverflow.com/questions/32052563/doctrine-and-oracle-regexp-like
+ */
+class RegexpCount extends FunctionNode
+{
+    public $field;
+    public $posixPattern;
+
+    public function parse(Parser $parser)
+    {
+        $parser->match(Lexer::T_IDENTIFIER);
+        $parser->match(Lexer::T_OPEN_PARENTHESIS);
+        $this->field = $parser->StringPrimary();
+        $parser->match(Lexer::T_COMMA);
+        $this->posixPattern = $parser->StringPrimary();
+        $parser->match(Lexer::T_CLOSE_PARENTHESIS);
+    }
+
+    public function getSql(SqlWalker $sqlWalker)
+    {
+        return sprintf('REGEXP_COUNT(%s, %s)',
+                $this->field->dispatch($sqlWalker), 
+                $this->posixPattern->dispatch($sqlWalker));
+    }
+}
\ No newline at end of file