Skip to content

Instantly share code, notes, and snippets.

View evaisse's full-sized avatar

Emmanuel Vaïsse evaisse

  • none
  • Nancy, France
View GitHub Profile
@evaisse
evaisse / dart_generic_inheritance.dart
Last active April 26, 2022 16:04
Describe how to implement a twin generics inheritance with dart
///
/// @see https://dartpad.dev/660a4ec4fcb91ff648a632705ea4697a
///
import 'package:flutter_test/flutter_test.dart';
/// base controller, just to explain the main inheritance
class BaseController {}
class BaseScreen<T extends BaseController> {
late final T controller;
@evaisse
evaisse / log4jscan.py
Last active January 25, 2022 18:57
A log4j version scan over a given path.
#!/usr/bin/python
"""
sudo python3 log4jscan.py evaisse -d /System/Volumes/Data/Applications/Transporter.app/Contents/itms/share
Output stuff like this :
Script version: 2.1 (scans jar/war/ear/zip files)
Start scanning on "/System/Volumes/Data/Applications/Transporter.app/"
========================================================================
@evaisse
evaisse / read_dotenv.php
Last active August 11, 2020 08:31
A simple dotenv (.env) file parsing function to avoid dependencies
<?php
function read_dotenv(string $filePath) {
$envs = parse_ini_file($filePath);
foreach ($envs as $k => $v) {
$k = strtoupper($k);
putenv("$k=$v");
$_ENV[$k] = $_SERVER[$k] = $v;
}
@evaisse
evaisse / Pagination.js
Created July 29, 2020 14:10
A simple pagination class
/**
var pagination = new Pagination(itemPerPage, totalItemCount, currentPageNumber);
<ul class="pagination" ng-if="pagination">
<li ng-repeat="link in pagination.getLinks()"
ng-class="{active: link.active, disabled: link.disabled}">
<a ng-if="link.type === 'shortcut'" aria-label="{{link.label}}" ng-click="updateSearchParams({ page: link.page })">
<span aria-hidden="true">{{link.label}}</span>
@evaisse
evaisse / slugify.rb
Last active June 30, 2020 18:31
Ruby Slugify
def slugify str
str.ljust(100)
.gsub(/[\W\s\t\r\n\f]/, ' ')
.strip
.gsub(/\s\s+/, '')
.gsub(' ', '_')
.gsub(/\W/,'')
.gsub('_', '-')
.downcase
end

Bonjour à vous.

Pour sa sixième édition, le festival de micro-édition au doux nom de L'ENFER ouvrira ses portes le week-end du 11 au 13 septembre 2019, à Nancy. Nous serions heureux de vous compter parmi les exposants de notre salon!

Nous vous invitons à prendre connaissance de l’événement via les informations suivantes:

SITES INTERNET

@evaisse
evaisse / ovh-create-site.sh
Last active December 2, 2019 14:00
OVH create site & deploy via GIT
#!/bin/sh
# Simple script create a site associated with a
if [ -z "$1" ]
then
echo "No argument supplied, you should do 'create-site.sh my.foo.com"
exit 1
fi
<?php
/**
*
*/
ob_start();
class EncryptedSessionHandler extends SessionHandler
{
@evaisse
evaisse / Dockerfile
Last active March 21, 2017 15:22
A Docker container to confirm the bug : https://bugs.php.net/bug.php?id=63426
FROM debian
RUN apt-get update && apt-get install -y libapache2-mod-php5 php5-xdebug nano vim
RUN a2enmod php5
RUN rm /var/www/html/index.html
COPY index.php /var/www/html/index.php
COPY test.php /var/www/html/test.php
ADD start.sh /root/start.sh
@evaisse
evaisse / gist:6e2b08a0d213f67b1d090a387df908c4
Created February 28, 2017 18:46
debian jessie varnish5 + mod page speed
echo "" >> /etc/apt/sources.list
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
apt-get update
apt-get install -y \
build-essential apt-transport-https automake autotools-dev libedit-dev \
libjemalloc-dev libncurses-dev libpcre3-dev \