Help Encounters - Volfieldd/deux-regards GitHub Wiki
This page is generated from
docs/aide/en/: it is also the admin’s online help (“Help” menu). Edit it in the repository, not here.
When you photograph someone in the street, the People page (sidebar, “Work” group) brings together everything that concerns them: their request, their consent or refusal, and the photos they appear in. Each encounter (one person, one day) has its own page.
People
The People page (sidebar, “Work” group) shows one row per photographed person, whether they were met once or during several outings: their face, their name, their card references, their encounters and photos, their decision (latest consent, or refusal), and the signals to deal with (new request, rights request, suggested match). Requests and encounters opens the detailed list of encounters.
- One encounter per outing: each encounter has its card and its consent. A consent only applies to the outing where it was given; a refusal applies to everything: a person’s most recent refusal extends to all their encounters (noted “refusal extended” in their history). A consent given later, with the card’s code, applies to its outing; it does not undo the other refusals, which must be lifted by hand if the person asks.
- Create: first on the phone, with New encounter; in the app, Met before? offers the people seen by this photographer in the last 30 days (initials, reference and day only: the screen is handed to the person), to add today’s encounter to their record (a new consent still has to be signed). Only people this photographer met themselves are listed. A signed card entered by hand or a request on
/bonjouralso creates a person. - Match: when two people have the same email address, the page offers It’s the same person (their encounters are merged) or It’s not them (the suggestion disappears). Never based on the face. Attach an existing encounter merges by hand; It’s not them, on an encounter, separates it and lifts the refusal it only had through the match (“extended refusal lifted” in its history). A photographer only matches or dismisses their own people.
- Outings and photos: Was also there during the outing adds an encounter with no decision; Link photos they appear in attaches each photo to their encounter from the photo’s outing (created with no decision if needed): the photo stays to check as long as that outing’s consent is missing.
- Rights: Export their data gathers all their encounters in an archive; Erase this person erases all their encounters (photos included on request; a refusal stays applied in anonymous form if linked photos or photos from their outings remain).
In the field
The In the field page (sidebar, “App, cards, QR”) brings together what goes out into the street with you, for the photographer chosen at the top (yours by default):
- The Encounter app: the New encounter button, the next reference, and how to install it on the iPhone (see below);
- Consent cards: how many printed numbered cards are left to use, and Prepare a sheet;
- QR code for clothing: the back design, with the logo, to show as it is or to have printed (SVG, black or white ink);
- Before you go: how long your sign-in stays valid (24 hours at most: sign in again before a long outing), the cards in stock, and whether the summary is sent automatically by email.
The cards
Each photographer has their letter (J for Julien, S for Sébastien, set in Photographers) and numbers their cards, from 1 to 9999: J-0142. The letter of a reference always designates its photographer: an encounter cannot carry another photographer’s letter. An encounter is a pair of cards with the same number:
- the “for us” card: the signed consent (site, Instagram, exhibitions and prints, with or without the first name), the name, the date, the place; you keep it;
- the “for them” card: a thank-you, the reference and a QR code to
nicephos.art/bonjour/J-0142; the person keeps it.
Tip: just after the photo, photograph the card you are handing over. It marks the sequence of images and you will find the right photo without hesitation.
Printing the cards: In the field → Consent cards → Prepare a sheet. Choose the photographer, then:
- Numbered: each pair has its own reference and its own QR code; the series continues from one sheet to the next (the next number is suggested). A range that contains a number already taken (a request received on the “I photographed you” page, an encounter entered) is refused, with the number to start at;
- Generic: no number, with a QR code to
/bonjour: the template to give to a printer, then number both cards of each pair with a numbering stamp.
The sheet opens ready to print: five pairs per A4 sheet, single-sided. The consent text names the site of this installation (its public address). Print at 100 % (actual size, without “fit to page”), on thick paper (250 to 350 g/m²), and cut along the dotted lines. To change the text on the cards, just ask: it is all kept in one place.
Cards printed by the site carry a check code (J-0142-K7Q): the request then arrives marked card verified. A reference typed without the code (cards numbered with a stamp) is accepted, marked not verified. On an encounter that is already established (signed card, encounter entered on the phone — consent, refusal or “later”: the app always shows its QR code with the code —, or request already verified), a request without a code changes neither the consent, nor the address, nor the name: a refusal is applied (it protects the person), a rights request is flagged (check their identity), and the rest is only noted in the history, marked “without the card code”. On other encounters too, a request without a code never replaces an address or a name already noted and never lifts a refusal. A reference typed without a code never shifts the numbering of the cards or of the app (a number already taken is skipped). The code has only three characters: after 5 wrong codes within 24 hours for the same reference (wherever they come from), any code for that reference is ignored for 24 hours, and the request is handled like a reference without a code (the server notes it in its log). The page opened by the QR code never says whether the code is right: it is only checked when the form is sent.
The clothing QR code
For a T-shirt or a bag: In the field → QR code for clothing. The screen shows a single design, the back one with the logo: that is the one you show and print. This QR code opens nicephos.art/bonjour/J (or /S): the page greets the person with the photographer’s name (“Did you meet Julien?”); without a card number, they give the date and place.
- Design: the logo uploaded in Appearance (the site’s name if there is none), “Bonjour !”, the sentence in three languages, the QR code and the address; 12 × 19.8 cm.
- Black ink for light fabric, white ink for dark fabric (the QR code is then a hollow white square, readable by all phones).
- Files: vector SVG (the text is converted to outlines: the printer does not need the site’s fonts; the logo is embedded in high definition, in the ink colour) or transparent PNG at 300 dpi.
- Size: at least 8 to 10 cm per side for the QR code on a back (readable from one or two metres), 4 to 5 cm on a cap or a patch. Keep the white margin around the QR code. The QR code withstands creases and wear (maximum error correction), and its address will never change.
The /bonjour page
This is the QR code’s page (in French, English and German, with no link in the menu, never indexed). The person enters their reference, or failing that the date (in words or figures: “14/10/2026”, “12 March”, “yesterday evening”; read back in full by the site after sending), the place and a detail, then what they would like:
- receive the photo by email (the age is then asked too: under 15, they give a parent’s address instead of their own, which is not kept; the record says “Parent’s email”, and the gift photo goes to that address);
- accept publication (site, Instagram, exhibitions and prints, with their first name), with their name, email and age (18 or older, or under, as in the app); under 18, a parent fills in the form with them and gives their name (publication is made with the consent of both parents, or of the parent who alone exercises parental authority; one name is enough): without it, the consent is not recorded. A person recorded as a minor (app, card, page) never becomes “18 or older” through the page, even with the code; without the code, an age or parent contradicting the record, or a wider consent for a minor, is not applied: the encounter goes back to “new”, the history says so, and you decide (a refusal is applied). The encounter’s record shows the age and the parent as for an encounter entered on the phone (“minor · parent: …”); an online consent remains less certain than a signed card;
- refuse publication (possible without giving an address);
- write a message.
They can come back at any time and change their mind: the latest choice wins, the history keeps the earlier ones. After sending, the thank-you page shows them once what they sent (reference or date and place, wishes, age bracket; never their name or address); no acknowledgement is sent by email. Against abuse: 8 requests per hour per connection, and a trap for robots.
On the phone: the Field home screen and the Encounter app
To fill it in with the person, at the moment of the photo, with no paper card: In the field → New encounter (or People → New encounter), or go straight to nicephos.art/admin/rencontre on the iPhone.
Install it as an app (once): in Safari, open the page, tap Share then Add to Home Screen. You must be signed in to the admin (sign in again at most once a day).
The “Encounter” icon opens the Field home screen (/admin/rencontre/accueil), also reachable from the Field tab in the admin’s bottom bar on the phone:
- + New encounter, with the next reference of your cards;
- Show my QR: the clothing design (with the logo), full size; the person scans it on your screen when you have run out of cards;
- Today’s outing: the people already met today, with their face and their decision (✓ consent and uses, ✕ refusal, pending); look at it before asking for consent again; Open the outing in the admin;
- Full admin, at the top right. If your account is not linked to any photographer, choose your name at the top.
In one minute:
- You: the photographer (the one on your account), the position (asked for by the phone, kept to within 100 m; the town is worked out from it), a reference photo of the person (kept private, to find the right images), notes.
- Hand over the phone: the person chooses their language (FR · EN · DE; their text changes at once, even without JavaScript), reads the consent, ticks what they accept (or refuses, or does not decide), gives their name, their email if they want to receive the photo, their age (under 18: a parent signs with them, the parent’s name is requested) and signs with their finger.
- Save: the encounter gets the next number of your cards (J-0143). The Thank you screen appears in their language with a QR code: by scanning it, they find their page
/bonjour/J-0143-…to receive their photo, change their mind or write to you. The links to the admin (new encounter, Field home, record) are folded under Photographer: take the phone back: the person still holding the phone does not come across the other people of the day. - Summary: if email sending is configured on the server, it goes out automatically (their consent, what they ticked, the link to their page); otherwise, Send the summary from Mail opens the ready-made message, in their language, to send from your address.
You need a network connection (4G is enough): without one, saving fails without losing anything on screen; try again a little further on. A consent signed on the phone is worth a signed card: the page shows the signature and the reference photo.
Before sending, the screen checks what the server will require: with a consent, the name, adult or minor (and the signing parent), at least one use and the signature; a well-formed email address. Anything missing is shown at the top, without sending anything; an unanswered question (their age, their decision) is also marked in place: its buttons are circled in red and a sentence, in the person’s language, asks it again under the question. If the server still refuses, the person’s photo and the signature are not kept: the screen says so at the top (Have the person sign again and retake their photo), and both areas are outlined.
Outings
The Outings page (sidebar, “Work” group) shows one row per shooting day of a photographer: the date and place, a few thumbnails, the number of photos (and of published ones), the faces of the people met with their consents and refusals, and a status readable without colour: ✕ refusal to apply (someone refused and published photos from the outing are not excluded for them), ▲ to sort (drafts, or a person with no decision), ✓ done. The chips filter by status and by photographer.
An outing creates itself: on import (the date the camera writes into each photo) or at the first encounter of the day. Nothing to declare.
An outing’s page puts side by side:
- the photos (with their shooting time and the linked people): tick some, then Link to this person (the one who appears in them), Nobody from the outing is in it (a landscape, another scene: the outing’s consents and refusals no longer concern it; photos linked by hand stay linked) or Restore;
- the people met, with their face and their accepted uses, and New encounter;
- the place (suggested from the encounters and the photos’ towns, editable);
- Split the outing at a given time: morning in Angers, evening in Saumur. The photos (camera time) and the encounters (time entered) after it form another outing; a person’s consent then only covers their part of the day. Merge with the previous outing undoes the split. A photo or an encounter with no known time counts in every part of the day, to be safe.
The pages of an encounter and of a photo have an Open the outing → button.
Trips
A trip groups outings: “Morocco 2025”, ten shooting days. It is optional. A photographer’s day belongs to one trip at most.
- Create: Trips page (under Outings in the menu, or the Trips button on the Outings page), a name, then Create the trip. An administrator chooses whether it belongs to one photographer or to both photographers; a photographer creates their own.
- Attach days: on the trip’s page, From … To … attaches every shooting day between these two dates (photos dated by the camera, or encounters); or tick outings in the list. From an outing’s page, the Trip menu attaches it, moves it to another trip or detaches it. A day already in another trip is moved, if you also manage that other trip: a photographer does not take a day out of a shared trip (“These days belong to a trip you do not manage”). Only dates that exist on the calendar are accepted.
- The trip’s page: its days in order (D1, D2…), each with its place, photos, people and a link to the outing; all the trip’s photos with their status; Propose the ready photos (or Publish the ready photos) at once, as for an outing. Publish the ready photos leaves as drafts a photo scheduled by the moderator (its date counts) and a photo sent back to the photographer (it awaits its correction); a submitted photo is published, which approves it.
- Public page: name and text in three languages, and the box Publish the trip’s page on the site. Once ticked, and as soon as one of the trip’s photos is published, the trip has its page (
/voyage/…) and the site menu gains a Trips link. Before that, the team sees it as a preview: only the trips it sees in the admin (a photographer, their own). See Public site.- Who puts it online: as for a photo, whoever publishes on the site — an administrator, or a photographer who has Publish their photos without approval (Publishing workflow page). Without this right, the box is greyed out. Taking it off the site remains possible for whoever manages the trip.
- Once online, its texts can only be changed with the right to edit one’s published photos, and its address no longer changes, even if you rename the trip (shared links keep working).
- What it shows: the date of each day, and on the map the town of only the photos ticked Show on the world map; a day without a photo on the map keeps its displayed place, without a stop.
- Remove a day, or Delete this trip (a click unfolds the confirmation, then Delete “…”): the outings and photos remain; the trip’s name, texts and public page are deleted.
- Photographer: sees only their own trips and attaches only their own days. An administrator only gives a trip to a photographer if it has only that photographer’s days (“This trip has days of the other photographer: remove them first”); making it shared is always possible.
Faces and photo status
On import, the server detects the faces in each photo (how many, and where). It recognises no one and keeps no facial fingerprint: only the number and the boxes. The photo is examined as a whole, then piece by piece: a small face counts too (a passer-by at mid-distance, whose face is 2% of the height of a 24 MP photo, is detected; in profile, the face needs to be a little larger). Photos imported before this feature are examined once, in the background; those seen “with no face” before piece-by-piece detection existed (16 October 2026) are examined again, once.
Each photo then has a status for each use (site, Instagram), readable by its shape:
- ✓ ready: no face, or all the people concerned have accepted this use, through a secure consent (signed card, signature on the phone, or online request with the card’s code);
- ▲ to check: a face, and a consent is missing (a person met that day, a person with no decision, a use not accepted, or a person who refused during the same outing). Publishing it requires ticking a confirmation (“the recognisable people have agreed, or are not recognisable in it”); the confirmation is kept together with what was missing, and only covers those reasons;
- ✕ blocked: site: a refusal linked to the photo; Instagram: a person concerned refuses or has not accepted Instagram. No confirmation lifts a block.
A consent given online without a card code (clothing QR code, reference typed by hand) can come from anyone: it leaves the photo to check (“online consent not verified”). A photo already online and to check can also be confirmed from its page, without unpublishing it; once confirmed, it no longer reappears in “Today”.
People concerned: those linked to the photo, and those from its outing if the photo has a face. A photo with no face therefore concerns no one from the outing: a landscape is ready straight away.
Correcting the detection (a missed profile, a blurred face, a poster): at the top of the page, Someone is in it, No one recognisable or Back to detection. A photo not yet examined counts as having a face.
Where to see it: the strip at the top of the page (site and Instagram status, faces, reasons, confirmations); a ▲ or ✕ badge on the photo library thumbnails and the filters ▲ To check, ✕ Blocked, No face; each photo’s status on an outing’s page, with Publish the ready photos; “Today” flags published photos to check.
Publishing in one click (Today, bulk actions, batch, outing) only publishes the ready photos: the others stay as drafts, the message says why, and confirmation is done on their page.
A consent covers the outing
A consent applies to the outing: all the photos the photographer took that day (the date the camera writes into each photo), or only their part of the day if the outing is split. Nothing to link photo by photo.
- Encounter page → Photos from the outing: the day’s photos, covered by the consent. Exclude those that do not concern the person (another shoot on the same day, for example); Restore to go back.
- Camera clock out of sync (a forgotten time change, a wrong setting): enter the Outing date, the one the photos carry, in the form on the page.
- A photo’s page → People & consents: the people met by its photographer that day (“same outing”) and those linked to the photo, with their consent, their face and their accepted uses. Check that those who appear in the photo have accepted the intended use.
- A refusal, on the other hand, is targeted for the site: it only blocks the linked photos (the other people of the day may have accepted). Link to the refusal the photos in which the person appears; the page of a photo from the outing reminds you.
Instagram follows the consents
- Instagram implies the site: refusing the site means refusing Instagram (not the other way round). In the forms, ticking Instagram ticks the site; an “Instagram without the site” consent is rejected (on a badly filled-in paper card: tick the site only if the card says so, otherwise untick Instagram).
- A photo is blocked for Instagram, with no possible confirmation, as soon as a person linked to the photo or met during the outing (if the photo has a face) refuses publication or has not accepted Instagram. The photo’s page shows it (“Instagram blocked”) in place of the Instagram form. A photo to check only enters the queue if you tick the confirmation below the Instagram form.
- The person is not in this photo: on the photo’s page, People & consents → Not in this photo excludes them from the outing for this photo; the block is lifted if no one else is blocking.
- A refusal arrives while the photo is waiting in the queue: it leaves the queue at once, failed as “blocked: …” (Instagram page), and Try again is refused as long as the block lasts. It is also checked again just before sending.
A face to go with the name
The photo of the person (their face) helps you know who signed and find the right images: taken in the app on the phone (“Photograph the person”), or added in the form on the page (paper card, photo from your phone). It appears as a circle in the list, on the page and in “People & consents” on the photo’s page. Kept private, for as long as the consent; without consent, or after a refusal, deleted after 6 months. The consent text (app and cards) tells the person so.
Handling an encounter
New requests are shown at the top, with a counter in the sidebar. On an encounter’s page:
- Write opens your mail app with the person’s address, the subject in their language. The server itself only sends the summary of an encounter entered on the phone and the reminders of rights requests, and only if sending email is configured.
- Link photos (for a refusal, a photo given as a gift, or a photo outside the outing): the photographer’s photos taken or imported that day are offered first; a search lets you find others.
- Signed card: tick “The “for us” card is signed” and the accepted uses, then attach the photo of the card (proof, visible only in the admin). Enter a signed card, at the bottom of the list, creates an encounter directly from the paper card; on a reference already received through
/bonjour, it completes the encounter without erasing what the person gave. Unticking the box withdraws a paper consent entered by mistake; saving the page again never lifts a refusal expressed since. An anonymous record (anonymised refusal) can no longer be changed. - Mark as “In progress” / “Done” to keep track of where you are.
A consent given online is less secure than a signed card (the page reminds you): for an exhibition or a sale of prints, ask for a signature.
Giving the photo
On an encounter’s page, below each linked photo: Give this photo. A private link is created, valid for 30 days:
- it opens a “Your photo” page in the person’s language, with a Download button;
- the photo is a fine JPEG version (2048 px), never the original, marked “personal use”;
- Send opens your mail app with the ready-made message (in their language) and the link; read it over and send;
- the page shows how many times the link was viewed and the photo downloaded; Remove the link deactivates it.
After 30 days, the page says that the link has expired and invites them to write to you; create a new one if needed.
Refusal of publication
As soon as a person refuses, the linked photos can no longer be published: neither from the page, nor by a bulk action (a message explains why). The photo’s page says so (“Photographed person”). If some are already online, Apply the refusal turns them back into drafts and removes them from the Instagram queue. Posts already published on Instagram are not touched: delete them in the app.
People’s rights (GDPR)
A person can ask for a copy of their data or for it to be erased: on /bonjour (“Your data”), by email, or in person. The law allows one month to reply, counted from date to date (request on 1 February: before 1 March; on 31 January: before the last day of February).
- Request received on
/bonjour: the encounter carries a red badge “Access / Erasure request · before …” (list and page). If the reference is not verified, make sure the request really comes from that person (same address, reply to your message) before sending them anything. A pending request keeps its type and its deadline: a new request on the same encounter is only noted in the history (with the card code, the person can change its type). - Export their data (.zip) (page, “The person’s rights”): an archive with everything the site keeps about them (encounter, choices, consent or refusal, history of their requests), their signature, the reference and card photos, and the photos they appear in (JPEG 2048 px, never the original), with instructions in their language. A request made without the card code and not applied (it may come from someone else) only adds its choices, without address, name or message. Send it to them as an attachment.
- Erase this person’s data (at the bottom of the page): name, address, messages, signature, images and history disappear. Tick Also delete the photos they appear in if they ask: originals and images are deleted, and erased from backups within 90 days. If they had refused publication and you keep linked photos or photos from their outing, an anonymous record keeps that refusal (with no data about them; the photographer and the day remain): those photos remain impossible to publish, or to be checked.
- Posts already published on Instagram are listed as a reminder after the erasure: delete them in the app.
- Mark the request as handled once the reply has been sent.
- Email reminders (if sending email is configured): as soon as the request arrives, an email goes to the photographer concerned, even if they have not chosen emails. A reminder follows at a quarter of the deadline (about 8 days), then another at half with the administrator in copy, and a last high-priority email at three quarters (about a week left). If no photographer can be reached, the administrator receives them directly; if the photographer’s account cannot handle the request (Photographer role: no export or erasure), the email asks them to tell the administrator right away. Requests on an unverified encounter (no card, or reference typed without the code) send no more than 30 emails a day: beyond that (a flood of fake requests), they wait for the next day and stay flagged in “Today”. The emails only give the card reference, never the person’s name or address. Everything stops once the request is marked as handled.
Data
- Only what the person gives is kept: reference, address, name, choices, messages and the photo of the signed card; on the phone, their signature, their reference photo, the position rounded to 100 m, whether they are an adult and the parent’s name are added.
- Delete this encounter erases everything, at the person’s request.
- Retention periods, automatic and stated on the
/confidentialitepage:- request with neither consent nor refusal: deleted after 12 months without news;
- photo of the person (face): kept with the consent; without consent, deleted after 6 months (after a refusal: 6 months after the refusal);
- consent or refusal (with the signature): kept as long as a linked photo or a photo from their outing exists, then 5 years after the last one disappears (the time limit for legal action);
- deleted photo: erased from backups after 90 days.
- The photo of the card is stored in the database, whose backups rotate over 14 days: a deletion also disappears from the backups after two weeks.