Enhance the dispatch to the data sources
see !1 (merged)
The dispatch to choose between the french scraper or the professional provider (dilicom) is currently done like this: if it's an ISBN search => dilicom, if it's a free search => the scraper (web.lisp, search-route). This is not totally correct, because not everyone has credentials for Dilicom, and we can search by ISBN with the scraper too.
Ok, I have not done anything to solve this yet, but it does need some more thought and maybe a protocol for each of the scrapers to implement could also help.
something like this could work and be future proof
(defgeneric search (datasource where query)
(:method (source where query) nil)
(:method ((source fr-scraper) (where (eql :title)) query) ...))