Fort de Toulbroc'h
From Warlike
Error: Invalid JSON (<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Wikimedia Commons SPARQL Query Error</title> <script src="https://cdn.tailwindcss.com"></script> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet"> <style> body { font-family: 'Inter', sans-serif; background-color: #f3f4f6; } .container { max-width: 900px; } .error-box { background-color: #fee2e2; color: #ef4444; padding: 1.5rem; border-radius: 0.5rem; border: 1px solid #ef4444; word-wrap: break-word; /* Ensure long URLs/messages wrap */ } code { background-color: #e2e8f0; padding: 0.2rem 0.4rem; border-radius: 0.25rem; font-family: monospace; } </style>
</head> <body class="p-4 flex items-center justify-center min-h-screen">
SPARQL Query Service
Operation Failed:
An error occurred during query execution: HTTP Error: 400 Response: SPARQL-QUERY: queryStr= SELECT DISTINCT ?item ?file ?date ?label ?qualityLabel ?latitude ?longitude ?type ?subtype ?source WHERE { SERVICE wikibase:label {bd:serviceParam wikibase:language 'en'} { SELECT DISTINCT ?item ?file ?date ?label ?quality ?latitude ?longitude ?type ?subtype ?source WHERE { { SELECT DISTINCT ?item ?date ?file ?type ?subtype ?source (COALESCE(?label1,?label2) AS ?label) (SAMPLE (COALESCE(?latitude1,?latitude2)) AS ?latitude) (SAMPLE (COALESCE(?longitude1,?longitude2)) AS ?longitude) (SAMPLE(?qualitylist) AS ?quality) WHERE { {?item wdt:P180 wd:Q3078266} UNION {SERVICE wikibase:mwapi{ bd:serviceParam wikibase:api 'Generator' . bd:serviceParam wikibase:endpoint 'commons.wikimedia.org' . bd:serviceParam mwapi:gcmtitle 'Category:Fort Toulbroc'h' . bd:serviceParam mwapi:generator 'categorymembers' . bd:serviceParam mwapi:gcmtype 'file' . bd:serviceParam mwapi:gcmlimit 'max' . ?title wikibase:apiOutput mwapi:title . ?pageid wikibase:apiOutput '@pageid' . } BIND (URI(CONCAT('https://commons.wikimedia.org/entity/M', ?pageid)) AS ?item) } OPTIONAL {?item rdfs:label ?label1 FILTER(LANG(?label1) = 'en')} ?item schema:url ?url. BIND (CONCAT('File:',wikibase:decodeUri(substr(str(?url),52))) AS ?file) BIND(REPLACE(REPLACE(?file, '^File:', ), '.[^.]*$', ) AS ?label2) OPTIONAL {?item wdt:P571 ?date} OPTIONAL {?item wdt:P6731 ?qualitylist} OPTIONAL { ?item p:P1259 ?position1. ?position1 psv:P1259/wikibase:geoLatitude ?latitude1a. ?position1 psv:P1259/wikibase:geoLongitude ?longitude1a. BIND(STR(?latitude1a) AS ?latitude1) BIND(STR(?longitude1a) AS ?longitude1) } OPTIONAL { ?item p:P9149 ?position2. ?position2 psv:P9149/wikibase:geoLatitude ?latitude2a. ?position2 psv:P9149/wikibase:geoLongitude ?longitude2a. BIND(STR(?latitude2a) AS ?latitude2) BIND(STR(?longitude2a) AS ?longitude2) } BIND(CONCAT('commons') AS ?type) BIND(CONCAT('image') AS ?subtype) BIND(CONCAT('Commons') AS ?source) FILTER ( STRENDS(LCASE(STR(?file)), '.jpg') || STRENDS(LCASE(STR(?file)), '.jpeg') ) } GROUP BY ?item ?date ?file ?label1 ?label2 ?latitude1 ?latitude2 ?longitude1 ?longitude2 ?type ?subtype ?source } } ORDER BY DESC(?quality) ASC(?date) LIMIT 10 } } GROUP BY ?item ?file ?date ?label ?qualityLabel ?latitude ?longitude ?type ?subtype ?source ORDER BY ASC(?date) java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException: Lexical error at line 16, column 71. Encountered: "\'" (39), after : "h" at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:206) at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:292) at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:678) at com.bigdata.rdf.sail.webapp.QueryServlet.doPost(QueryServlet.java:275) at com.bigdata.rdf.sail.webapp.RESTServlet.doPost(RESTServlet.java:269) at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doPost(MultiTenancyServlet.java:195) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) at org.wikidata.query.rdf.blazegraph.throttling.ThrottlingFilter.doFilter(ThrottlingFilter.java:322) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.throttling.SystemOverloadFilter.doFilter(SystemOverloadFilter.java:84) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.QueryEventSenderFilter.doFilter(QueryEventSenderFilter.java:125) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.ClientIPFilter.doFilter(ClientIPFilter.java:43) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.JWTIdentityFilter.doFilter(JWTIdentityFilter.java:66) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.RealAgentFilter.doFilter(RealAgentFilter.java:33) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.RequestConcurrencyFilter.doFilter(RequestConcurrencyFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:503) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) at java.lang.Thread.run(Thread.java:750) Caused by: org.openrdf.query.MalformedQueryException: Lexical error at line 16, column 71. Encountered: "\'" (39), after : "h" at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:404) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:741) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:695) at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ... 1 more Caused by: com.bigdata.rdf.sail.sparql.ast.TokenMgrError: Lexical error at line 16, column 71. Encountered: "\'" (39), after : "h" at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilderTokenManager.getNextToken(SyntaxTreeBuilderTokenManager.java:3994) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.jj_ntk(SyntaxTreeBuilder.java:9637) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.RDFLiteral(SyntaxTreeBuilder.java:7189) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphTerm(SyntaxTreeBuilder.java:3893) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.VarOrTermOrTRefP(SyntaxTreeBuilder.java:8714) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphNodePath(SyntaxTreeBuilder.java:3786) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ObjectPath(SyntaxTreeBuilder.java:3467) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ObjectListPath(SyntaxTreeBuilder.java:3044) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.PropertyListPath(SyntaxTreeBuilder.java:2992) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.TriplesSameSubjectPath(SyntaxTreeBuilder.java:2919) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.TriplesBlock(SyntaxTreeBuilder.java:2321) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.BasicGraphPattern(SyntaxTreeBuilder.java:2097) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2034) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ServiceGraphPattern(SyntaxTreeBuilder.java:2534) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2370) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2459) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SubSelect(SyntaxTreeBuilder.java:416) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1965) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SubSelect(SyntaxTreeBuilder.java:416) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1965) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2056) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SelectQuery(SyntaxTreeBuilder.java:377) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.Query(SyntaxTreeBuilder.java:328) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.QueryContainer(SyntaxTreeBuilder.java:216) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.parseQuery(SyntaxTreeBuilder.java:32) at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:336) ... 7 more
</body> </html>).
The military remains known as Fort de Toulbroc'h form part of the defences along the goulet de Brest in France, in the commune of Locmaria-Plouzané. They are accessible via coastal path GR34 to the pointe du Grand Minou.
-
Location: 48.3411, -4.6283, KML, Cluster Map, Maps,
49 places
-

Siege of Brest ⓘ
1386 siege -

Battle of Le Conquet ⓘ
1559 battle -

Siege of Fort Crozon ⓘ
1594 siege -

Childers Incident ⓘ
opening shots between British and French forces during the French Revolutionary Wars -

Battle for Brest ⓘ
1944 battle fought on the Western Front during World War II -

Fort de Bertheaume ⓘ
fort in Plougonvelin, in the Department of Finistère, France. It is located on a tidal island -

Blancs-Sablons Redoubt ⓘ
-
Fort Cézon ⓘ
-

Fort de l'Aber ⓘ
-

Fort de la Fraternité ⓘ
fort in Roscanvel, France -

Fort de Toulbroc'h ⓘ
-

Fort des Capucins ⓘ
-

Fort du Dellec ⓘ
-

Fort du Guelmeur ⓘ
-

Fort du Mengant ⓘ
-
Fort Quélern ⓘ
-

Fort Robert ⓘ
-

Keroriou Fort ⓘ
-
Fort de Portzic ⓘ
-
Fort du Petit Minou ⓘ
-
Fort de Penfeld ⓘ
-

Questel Fort ⓘ
fort -

Fort de Keranroux ⓘ
-
Fort Montbarey ⓘ
fort in France -

Fort Fédérés ⓘ
-

Fort de l'Îlette de Kermorvan ⓘ
-

Fort Saint-Louis ⓘ
-

Fort de Landaoudec ⓘ
-

Kléber ⓘ
1902 Dupleix-class cruiser -

U-415 ⓘ
1942 Type VIIC submarine -

HMS Arethusa ⓘ
1757 fifth-rate frigate -

Donjon du château de Brest ⓘ
-

Tour Azénor ⓘ
-

Tour César ⓘ
Tour du château de Brest -

Tour de Brest du château de Brest ⓘ
-

Tour Française du château de Brest ⓘ
-

Tour Madeleine ⓘ
-

Tours Paradis du château de Brest ⓘ
-

Tour Vauban ⓘ
fortified tower
| Type | Subtype | Date | Description | Notes | Source |
|---|---|---|---|---|---|
| class | watercraft | 1900 | Dupleix-class cruiser | armored cruiser | Wikidata |
| event | armed conflict | 1342 | Battle of Brest | naval battle | Wikidata |
| event | armed conflict | 1386 | Siege of Brest | siege | Wikidata |
| event | armed conflict | 1512 | Battle of Saint-Mathieu | naval battle, Kingdom of France, Duchy of Brittany, Kingdom of England | Wikidata |
| event | armed conflict | 1513 | Battle of Brest | Kingdom of France, Kingdom of England, naval battle | Wikidata |
| event | armed conflict | 1513 | Battle of Blancs-Sablons Bay | Kingdom of France, Kingdom of England, naval battle | Wikidata |
| event | armed conflict | 1559 | Battle of Le Conquet | Kingdom of France, Kingdom of England, battle | Wikidata |
| event | armed conflict | 1594 | Siege of Fort Crozon | siege | Wikidata |
| event | armed conflict | 1694 | Battle of Camaret | France, Dutch Republic, Kingdom of England, naval battle | Wikidata |
| event | armed conflict | 1778 | Action of 11 September 1778 | Kingdom of France, Kingdom of Great Britain, naval battle | Wikidata |
| event | armed conflict | 1793 | Childers Incident | skirmish | Wikidata |
| event | armed conflict | 1944 | Battle of Pierres Noires | Canada, Nazi Germany, naval battle | Wikidata |
| event | armed conflict | 1944 | Battle for Brest | United States, United Kingdom, Nazi Germany, battle, Hermann-Bernhard Ramcke, Troy H. Middleton | Wikidata |
| organisation | military unit | 2011 | flotte océanographique française | naval fleet, laboratory | Wikidata |
| site | castle | Fort de Bertheaume | fort, tidal island, fortress, castle | Wikidata | |
| site | fort | Blancs-Sablons Redoubt | redoubt | Wikidata | |
| site | fort | Fort Cézon | fort | Wikidata | |
| site | fort | Fort de l'Aber | fort | Wikidata | |
| site | fort | Fort de la Fraternité | fort | Wikidata | |
| site | fort | Fort de Toulbroc'h | fort | Wikidata | |
| site | fort | Fort des Capucins | fort | Wikidata | |
| site | fort | Fort du Dellec | venue, fort | Wikidata | |
| site | fort | Fort du Guelmeur | fort | Wikidata | |
| site | fort | Fort du Mengant | fort | Wikidata | |
| site | fort | Fort Quélern | fort | Wikidata | |
| site | fort | Fort Robert | fort | Wikidata | |
| site | fort | Keroriou Fort | fort | Wikidata | |
| site | fort | 1693 | Fort de Portzic | fort | Wikidata |
| site | fort | 1694 | Fort du Petit Minou | fort | Wikidata |
| site | fort | 1776 | Fort de Penfeld | fort | Wikidata |
| site | fort | 1776 | Questel Fort | fort, urban park | Wikidata |
| site | fort | 1777 | Fort de Keranroux | fort | Wikidata |
| site | fort | 1777 | Fort Montbarey | fort, museum | Wikidata |
| site | fort | 1793 | Fort Fédérés | fort | Wikidata |
| site | fort | 1847 | Fort de l'Îlette de Kermorvan | fort | Wikidata |
| site | fort | 1850 | Fort Saint-Louis | redoubt | Wikidata |
| site | fort | 1885 | Fort de Landaoudec | fort | Wikidata |
| site | military base | Brest Arsenal | shipyard, shipbuilding, naval arsenal | Wikidata | |
| site | museum | 1826 | Brest national naval museum | naval museum, national museum, Service of the Museums of France, military museum | Wikidata |
| site | shipwreck | Furieux | ironclad warship, shipwreck | Wikidata | |
| site | shipwreck | Kléber | Dupleix-class cruiser, armored cruiser, shipwreck | Wikidata | |
| site | shipwreck | U-415 | Type VIIC submarine, shipwreck, U-boat | Wikidata | |
| site | shipwreck | 1757 | HMS Arethusa | shipwreck, fifth-rate frigate | Wikidata |
| site | tower | Donjon du château de Brest | keep | Wikidata | |
| site | tower | Tour Azénor | fortified tower | Wikidata | |
| site | tower | Tour César | fortified tower | Wikidata | |
| site | tower | Tour de Brest du château de Brest | fortified tower | Wikidata | |
| site | tower | Tour Française du château de Brest | fortified tower | Wikidata | |
| site | tower | Tour Madeleine | fortified tower | Wikidata | |
| site | tower | Tours Paradis du château de Brest | city gate, fortified tower | Wikidata | |
| site | tower | 1693 | Tour Vauban | fortified tower | Wikidata |







