Skip to content

Instantly share code, notes, and snippets.

View jdeniau's full-sized avatar
🐘
Meeeh !

Julien Deniau jdeniau

🐘
Meeeh !
View GitHub Profile
@jdeniau
jdeniau / github-pr-title.js
Last active August 23, 2023 09:53
Copy github PR title and link as markdown bookmarklet
javascript:(() => {
text = '';
for (const n of document.querySelectorAll('.js-issue-labels > *')) {
text += `[${n.textContent.trim()}] `
}
text += `${document.querySelector('.gh-header-title > bdi').textContent } [${document.querySelector('.gh-header-title > span').textContent }](${window.location.toString()}) by [@${document.querySelector('#discussion_bucket .author').textContent}](${document.querySelector('#discussion_bucket .author').href})`;
navigator.permissions.query({name: "clipboard-write"})
function makeRecord(likeRecord, values, ownerID) {
const record = Object.create(Object.getPrototypeOf(likeRecord));
+
+ const properties = Object.getOwnPropertyDescriptors(likeRecord);
+ Object.defineProperties(record, properties);

Pour tout ce qui est "activité", le mieux est de passer par l'API "media" dont la doc se trouve ici.

Voici quelques détails à savoir :

  • il y a différents types d'activités, par exemple les activités et les places (qui sont des fiches lieux). Les activités peuvent être rattachées à une place. Tous sont accessibles depuis /v2/activities.
  • l'identifiant d'une activité/place est le champs apiSlug. Il correspond théoriquement à l'url sur mapado.com, en remplaçant le slash par un double tiret (c'est généralement le cas, mais pas garanti). Par exemple pour https://www.mapado.com/villeurbanne/le-transbordeur-3 , l'apiSlug sera /v2/activities/villeurbanne--le-transbordeur-3 .
  • concernant l'adressHash, vous pouvez utiliser celle ci dans vos tests si vous ne souhaitez pas renseigner de place : 0ed43aaaf869fd554257e95963335120 .

Voici la liste des champs disponibles pour la création d'activités :

@jdeniau
jdeniau / rebase-and-split.sh
Created September 5, 2018 09:15
Split commit by file
git rebase --interactive --exec ./split.sh HEAD~1 # HEAD~1 can be replace by any commit number, this will split by commit + by file in this case
@jdeniau
jdeniau / Button.jsx
Created June 27, 2018 08:25
keep your "button" instance and change it's props instead of creating new button when props change, this way you keep keyboard navigation available
import React from 'react';
// Don't do this
const Button = ({ isChecked }) => (
<div>
{isChecked && <button className="btn btn--checked">I'm checked</button>}
{!isChecked && <button className="btn btn--unchecked">I'm not checked</button>}
</div>
);
@jdeniau
jdeniau / app config services.yml
Created October 27, 2015 13:57
Symfony Serializer Serialize DateTime instance
services:
datetime_normalizer:
class: Acme\Foo\Normalizer\DateTimeNormalizer
tags:
- { name: serializer.normalizer }
@jdeniau
jdeniau / mongo-chef.desktop
Created April 13, 2015 09:47
Mongoshell desktop file (to copy in ~/.local/share/applications/ )
[Desktop Entry]
Name=MongoChef
Icon=/path/to/icons/LOGO_256Pixels.png
Exec=/path/to/mongochef/bin/mongochef.sh
Type=Application
Categories=Application;Development;Mongo;Database
Terminal=false
<?php
use stojg\crop\CropFace as BaseCropFace;
/**
* CropFace
*/
class CropFace extends BaseCropFace
{
/**
@jdeniau
jdeniau / model.php
Created August 20, 2014 07:09
Classe model
<?php
function search($date = null, $departure = null, $arrival = null)
{
if ($departure == null || $arrival == null)
return null;
if ($date != null) {
$day_time = strtotime($date);
$day_time_end = $day_time + 86400;
$sql = 'SELECT * FROM `ride` as r, `user` as u
@jdeniau
jdeniau / local.json
Created March 27, 2013 15:33
Graphite - local.json
{
graphitePort: 2003
, graphiteHost: "127.0.0.1"
, port: 8125
, backends: [ "./backends/graphite" ]
}